Gitea 是一个用 Go 语言编写的开源 Git 服务。它是一个类似于 GitHub 的版本控制平台。它健壮、可扩展,并提供许多功能,包括问题和时间跟踪、存储库分支、文件锁定以及标记、合并等。由于 Gitea 是使用Go语言创建的,因此它支持许多操作系统,包括 Linux、macOS 和 Windows,在 amd64、i386、ARM、PowerPC 等架构上。
在 Debian 11 Bullseye 上安装 Gitea
步骤 1. 在我们安装任何软件之前,通过apt
在终端中运行以下命令来确保您的系统是最新的很重要:
sudo apt update
sudo apt upgrade
步骤 2. 安装 MariaDB。
Gitea 使用 MariaDB 作为数据库后端。现在我们添加 MariaDB 签名密钥和 APT 存储库:
wget https://mariadb.org/mariadb_release_signing_key.asc sudo chmod -c 644 mariadb_release_signing_key.asc sudo mv -vi mariadb_release_signing_key.asc /etc/apt/trusted.gpg.d/
接下来,在您的 Debian 系统上手动添加 MariaDB 存储库:
echo "deb [arch=amd64,arm64,ppc64el] \ https://ftp.ubuntu-tw.org/mirror/mariadb/repo/10.6/debian \ bullseye main" | sudo tee /etc/apt/sources.list.d/mariadb.list
完成后,使用以下命令安装 MariaDB:
sudo apt update sudo apt install mariadb-server
通过检查版本和构建来确认 MariaDB 的安装:
mariadb --version
现在运行以下命令来启动 MariaDB 并使其在系统重启时自动启动:
sudo systemctl start mariadb
sudo systemctl enable mariadb
安全的 MariaDB 安装。
默认情况下,MariaDB 未加固。您可以使用mysql_secure_installation
脚本保护 MariaDB 。您应该仔细阅读以下每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录以及删除测试数据库和访问安全 MariaDB 的权限:
mysql_secure_installation
像这样配置它:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
您现在可以使用新密码连接到 MariaDB 服务器:
mysql -u root -p
连接后,使用以下命令为 Gitea 创建数据库和用户:
MariaDB [(none)]> CREATE DATABASE gitea; MariaDB [(none)]> GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'your-strong-password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> QUIT;
步骤 3. 安装 Git。
默认情况下,Git 在 Debian Bullseye 存储库中可用,运行以下命令进行安装:
sudo apt install git
通过打印 Git 版本来验证安装:
git --version
步骤 4. 为 Gitea 创建用户。
使用以下命令为 Gitea 添加 Git 用户帐户:
adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /opt/git git
步骤 5. 在 Debian 11 上安装 Gitea。
现在我们从GitHub页面下载最新版本的Gitea:
curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest |grep browser_download_url | cut -d '"' -f 4 | grep '\linux-amd64$' | wget -i -
接下来,将 Gitea 二进制文件移动到系统路径:
mv gitea-*-linux-amd64 /usr/local/bin/gitea
之后,为 Gitea 二进制文件设置可执行权限:
chmod +x /usr/local/bin/gitea
验证Gitea版本:
gitea --version
接下来,您需要为 Gitea 创建一个目录结构。您可以使用以下命令创建它:
mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
然后,使用以下命令设置适当的权限和所有权:
chown git:git /var/lib/gitea/{data,indexers,log} chmod 750 /var/lib/gitea/{data,indexers,log} chown root:git /etc/gitea chmod 770 /etc/gitea
步骤 6. 创建 Gitea Systemd 文件。
现在我们systemd
为 Gitea创建服务/etc/systemd/system/gitea.service:
nano /etc/systemd/system/gitea.service
添加以下行:
[Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target After=mysql.service [Service] LimitMEMLOCK=infinity LimitNOFILE=65535 RestartSec=2s Type=simple User=git Group=git WorkingDirectory=/var/lib/gitea/ ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=git HOME=/opt/git GITEA_WORK_DIR=/var/lib/gitea [Install] WantedBy=multi-user.target
保存并关闭,然后systemd
使用以下命令重新加载守护程序:
sudo systemctl daemon-reload sudo systemctl enable gitea sudo systemctl start gitea
步骤 7. 为 Gitea 配置 Nginx。
现在我们安装并配置 Nginx 作为 Gitea 的反向代理。首先,使用以下命令安装 Nginx:
sudo apt install nginx
接下来,创建一个 Nginx 虚拟主机配置:
nano /etc/nginx/conf.d/gitea.conf
添加以下文件:
server { listen 80; server_name gitea.your-domain.com; access_log /var/log/nginx/gitea_access.log; error_log /var/log/nginx/gitea_error.log; location / { proxy_pass http://localhost:3000; } }
保存并关闭,然后使用以下命令重新加载重启 Nginx:
sudo systemctl restart nginx
sudo systemctl enable nginx
接下来,您需要编辑 Gitea app.ini 文件并定义您的域信息:
nano /etc/gitea/app.ini
更改以下行:
DOMAIN = gitea.your-domain.com ROOT_URL = http://gitea.your-domain.com/
步骤 8. 访问 Gitea Web 界面。
成功安装后,打开网络浏览器并访问。您应该会看到以下页面:http://gitea.your-domain.com
感谢您使用本教程在 Debian 11 Bullseye 上安装最新版本的 Gitea 框架。如需更多帮助或有用信息,我们建议您查看Gitea 官方网站。