Ubuntu 20.04安装配置Gitea
一、前言
Gitea是用Go语言编写的自托管开源git服务器。它是Gogs的分支。Gitea包括存储库文件编辑器,项目问题跟踪,用户管理,通知,内置Wiki等。
Gitea是轻型应用程序,可以安装在低配置系统。如果您正在寻找内存占用量少得多的Gitlab替代产品,并且不需要Gitlab提供的所有功能,那么您绝对应该尝试Gitea。
二、安装Gitea 数据库
Gitea支持SQLite,PostgreSQL和MySQL/MariaDB作为数据库后端。
我们将使用SQLite作为Gitea的数据库。如果您的Ubuntu 20.04未安装SQLite,可以运行命令sudo apt update && sudo apt install sqlite3
安装SQLite。
Gitea提供Docker映像,也可以使用源码,二进制文件的方式安装。我们将使用二进制文件安装Gitea。
安装Gitea的第一步是安装git。运行命令sudo apt install git
。当git安装完成后运行命令git --version
验证git的安装。
我们将创建一个普通用户运行Gitea。运行命令adduser
命令创建用户git。命令将创建一个名为git
的用户和组,并将家目录设置为/home/git
。
sudo apt update sudo apt install sqlite3 git sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
三、下载 Gitea
访问Gitea下载页面,并下载适用于您的系统架构二进制文件。当前,最新版本为1.18.0。
如果有可用的新版本,请在下面的命令中更改VERSION
变量。然后运行wget命令下载Gitea二进制文件到/tmp
目录。
gitea
二进制文件可以在任何目录运行。我们将遵循Linux目录约定并将二进制文件移动到/usr/local/bin
目录。
默认情况下二进制文件不具有可执行权限。因此需要为gitea二进制文件添加可执行权限,运行chmod命令。
运行mkdir命令创建目录并设置所需的权限和所有权。这是官方的Gitea文档建议使用目录结构。
将/etc/gitea
目录的权限设置为770
,在安装向导时可以创建配置文件。安装完成后,我们将设置更多限制性权限。
VERSION=1.18.0 sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64 sudo mv /tmp/gitea /usr/local/bin sudo chmod +x /usr/local/bin/gitea sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log} sudo chown git: /var/lib/gitea/{data,indexers,log} sudo chmod 750 /var/lib/gitea/{data,indexers,log} sudo mkdir /etc/gitea sudo chown root:git /etc/gitea sudo chmod 770 /etc/gitea
部分运行记录:
mulan@mulan-ai:~$ VERSION=1.18.0 mulan@mulan-ai:~$ sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64 [sudo] password for mulan: --2023-01-05 15:53:40-- https://dl.gitea.io/gitea/1.18.0/gitea-1.18.0-linux-amd64 Resolving dl.gitea.io (dl.gitea.io)... 143.244.50.88, 2400:52e0:1a01::899:1 Connecting to dl.gitea.io (dl.gitea.io)|143.244.50.88|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 116453416 (111M) [application/octet-stream] Saving to: ‘/tmp/gitea’ /tmp/gitea 100%[===============================>] 111.06M 105KB/s in 14m 57s 2023-01-05 16:08:40 (127 KB/s) - ‘/tmp/gitea’ saved [116453416/116453416]
四、创建Systemd 服务
Gitea提供已配置的Systemd Unit文件。可以运行wget命令将Systemd Unit文件下载到/etc/systemd/system/
目录。
完成后,重新加载Systemd,运行命令sudo systemctl daemon-reload
。然后启用并启动Gitea服务。
验证Gitea服务的运行状态,运行命令sudo systemctl status gitea
。你将会看到Gitea服务已成功启动。
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl start gitea sudo systemctl enable gitea sudo systemctl status gitea
补充:看过前面文章的朋友也可以考虑使用supervisor来管理gitea服务。
五、配置 Gitea
现在我们成功运行Gitea,是时候通过Web界面完成安装。默认情况下,Gitea监听所有在端口3000
的连接。
如果您Ubuntu 20.04正在运行运行UFW防火墙,则需要打开Gitea端口。允许端口3000
的连接。运行命令:
sudo ufw allow 3000/tcp
打开浏览器,输入http://127.0.0.1:3000
。将数据库设置为以下参数: