Gitea服务搭建指南


常用的私有Git服务器包含GitLab、Gitea、Gogs等。相对来说,GitLab功能最为全面,内置CI,但对内存和CPU的要求比较高,而Gogs和Gitea均比较轻量化。根据实际需求与条件最终选择了Gitea,Gitea是Gogs的社区版本,足够轻量化,并且包含LFS的支持。

2|0环境准备

2|1安装数据库:采用SQLite数据库

  • Windows安装:

    下载网址:https://sqlite.org/download.html,如下图下载预编译版本中的sqlite-dll-win64-x64-3320300.zip版本安装即可。

    安装说明:

    安装时在安装目录(如C:\Program Files\SQLite3)解压下载下来的文件,同时添加该路径到环境变量Path中(添加到System的Path)。

    到此SQLite已经安装完成,在命令提示符内输入sqlite3根据是否出现版本号等信息可以验证是否成功添加到环境变量。

    对于SQLite的可视化管理可以使用SQliteStudio即可。

  • Linux安装:

    Linux下安装SQLite,可以从下载页下载源代码自行编译,也可以直接下载编译好的二进制包。还可以更简单的从包源安装:

    # git --version

    如果已安装,会返回版本信息。

    如果没有安装,就用包管理装一个

    > d:\gitea\gitea.exe web cmd/web.go:107:runWeb() [I] Starting Gitea on PID: 5840

    加到Service里运行就不用每次手动打开了,输入命令:

    # wget -O gitea https://dl.gitea.io/gitea/1.12.1/gitea-1.12.1-linux-amd64

    下载完成后,把gitea移到/usr/local/bin目录,并改为可执行。

    # mkdir /var/lib/gitea # mkdir /var/lib/gitea/{custom,data,log} # mkdir /etc/gitea

    其中:

    /var/lib/gitea是存放仓库相关文件的目录

    /etc/gitea是存放配置文件app.ini的目录

    为了服务器的安全,我们还需要创建一个系统用户git

    # chown -R git:git /var/lib/gitea # chown git:git /var/gitea

    Gitea在Linux上需要以Service的方式运行。

    把以下配置保存到文件gitea.service

    # chmod +x gitea.service # mv gitea.service /etc/systemd/system# systemctl enable gitea.service

    最后一步,启动Service:

    # systemctl start gitea.service

    Linux下的安装配置就完成了。

4|0设置Gitea

运行Gitea后,打开http://localhost:3000即可以进入软件配置界面如下图:

  • 数据库设置

    先选择数据库类型。如果是用原有的数据库,相关的参数需要填进去。我们安装了SQLite3,所以选择这个。下面会有一个数据库路径,可以使用默认的。在Windows下,Gitea会自己在运行目录下建立目录和数据文件;Linux下是刚刚预先建立好的。

    如果修改目录的话,Windows下不存在问题,但Linux下需要注意目录的权限。这个权限会跟着下面「以用户名运行」参数来设置。

  • 一般设置

    站点名称:页面首页显示的名称。

    仓库根目录:用来存放源代码二进制数据,有默认位置,可以修改。

    LFS根目录:用来存放大文件的目录,用于LFS服务。

  • 禁止用户自助注册

    如果可以开启就不能自己注册账号了,需要管理员统一管理。

  • 管理员帐号设置

    第一个注册的帐号,会自动成为管理员。在上面禁止注册后,需要这个管理员来建立用户帐号。

  • 版本升级

    如果需要升级新版本,先下载新版本的Gitea,然后停掉服务,覆盖旧的Gitea程序,再启动服务就可以了。

其他更多设置查看Gitea的文档即可。

参考文献:

[1] https://mp.weixin.qq.com/s/QsFhT0G7ny9K8F8mnCUj3A

[2] https://www.jianshu.com/p/acd5fc63895d

 

__EOF__

Git