Git 是现在最流行的版本管理系统,但原生的 git 程序对于源码库、用户的管理没有提供相应的功能,在企业中部署、使用相对比较麻烦。 Gitea 是一个开源的,类似于 GitLib 的系统,可以在多个平台部署,提供了丰富的组织管理,用户管理,issue跟踪,Wiki等功能。本文介绍如何在 Ubuntu 18.04 Server 中安装 Gitea。
环境准备
环境需求
Gitea 使用 Git 原本的命令来操作 Git 库,所以在服务器中需要先安装 Git。 同时, Gitea 需要使用关系数据库来管理组织,用户等信息,所以我们也需要有要给安装好的数据库系统。 Gitea 本身支持多种关系数据库,比如:MySQL (MariaDB), SQLite 等。在本次安装中,选择使用 MySQL (MariaDB)。
安装 Git
实际上,在 Ubuntu 18.04 Server 的默认安装中已经自带了 Git, 你可以执行以下命令进行验证:
1 | git --version |
如果没有安装,则执行
1 | suod apt-get install git |
进行安装。
配置数据库
在安装好的数据库系统中新建一个数据库,名字不限。 在本例中命名为: gitea_db, 注意:字符集必须选用 utf8mb4, 然后建一个拥有该数据库的用户。
准备Linux用户
在 Ubuntu 中新建一个用户,该用户用来运行 Gitea 的服务进程,并提供对应的数据存储。
执行:
1 | sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git |
该命令建立一个名为 git 的用户, 该用户名和后面用到的运行服务的脚本有关系,所以建议直接复制上面的代码。 执行成功,系统显示:
1 | Adding system user `git' (UID 112) ... |
准备默认的目录
Gitea 系统运行时,需要保存相关的数据,包括源码库,所以我们需要准备好相关的目录,顺序执行以下命令建立目录:
1 | sudo mkdir -p /var/lib/gitea/{custom,data,log} |
安装 Gitea 服务
下载Gitea
执行:
1 | wget -O gitea https://dl.gitea.io/gitea/1.11.2/gitea-1.11.2-linux-amd64 |
如果网络正常,将显示类似下面的结果:
1 | --2020-03-08 05:57:37-- https://dl.gitea.io/gitea/1.11.2/gitea-1.11.2-linux-amd64 |
可以看到, Gitea 被打包为一个 77.47M 大小的可执行文件。
将下载的文件赋予可执行权限
1 | chmod +x gitea |
然后将程序移到 /usr/local/bin 目录中,以便于在任何目录都可以访问。
截至现在为止,已经可以在命令行执行该程序了。但作为服务,我们希望把它配置为在后台执行,并且随系统启动而启动。
配置为 Linux 服务
网上已经有写好的 gitea 对应于 systemd 的配置文件,我们可以直接下载并放置到 /etc/systemd/system 目录中去。
1 | sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/ |
下载完成后,我们可以打开该文件,看看该文件的关键部分
1 | [Service] |
可以看到,该文件中指明了相关的用户,目录,配置文件等信息。
顺序执行以下命令启动 Gitea 服务:
1 | sudo systemctl daemon-reload |
如果正常,系统将显示:
1 | Created symlink /etc/systemd/system/multi-user.target.wants/gitea.service → /etc/systemd/system/gitea.service. |
配置 Gitea
完成上面的安装步骤后,在浏览器中访问:
1 | http://<your ip>:3000 |
将会看到 Gitea 系统的首页,在首页的左上角选择: “Explore” 链接,就可以进入系统初始化界面。
- 配置数据库
- 配置库目录
- 配置可选配置
可选配置包括:
不配置可选配置也可以运行,但基于这是要给私有的库,建议配置一些与安全相关的选项, 如: 禁止用户自己注册
以便于由管理员统一建立,管理用户。
设置好管理员账号,而不是用第一个注册的账号作为管理员。
设置完成以后,选择 “Install Gitea” 按钮,很快就完成了最终的设置。 后面就可以正常访问 Gitea 了。
安装完成后,记得将服务器上的 /etc/gitea 目录设置为只读,提供系统的安全性
执行:
1 | chmod 750 /etc/gitea |