使用Gitea在Linux上自建Git服务

eskysky
发布于 2025-02-21 / 15 阅读
0

使用Gitea在Linux上自建Git服务

在很多场景下公开的GitHub或Gitee不能满足安全要求,这就产生了在私有服务器上部署Git平台的需求。使用Gitea就能够快速、便捷的自建Git服务,并且支持包括 Linux、Windows和macOS 在内的多平台部署。

Gitea官方要求Git版本需大于等于2.0,而如果使用CentOS 7系统,其软件包版本较旧。

可以使用编译源码的方式安装Git 2.x,但步骤比较繁琐。

从End Point存储库安装最新版本Git最便捷。

执行下面的命令,添加存储库:

sudo yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm

安装Git:

sudo yum install git

安装完成后检查Git版本:

git --version

现在可以开始安装Gitea了。

创建目录,用于存放数据:

mkdir -p /usr/local/gitea

Gitea限制不能使用root用户启动。这里将创建名为git的用户组和用户:

groupadd git
useradd git -g git

从Gitea网站上复制想要安装的版本链接,使用wget下载,并赋予可执行权限:

cd /usr/local/gitea
wget -O gitea https://dl.gitea.com/gitea/1.23.4/gitea-1.23.4-linux-amd64
chmod +x gitea

如果有开防火墙,查看是否放行3000端口:

firewall-cmd --zone=public --list-ports

如果没开放,执行下面命令开放端口,并重载配置:

firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload

赋予git用户目录权限:

chown -R git:git /usr/local/gitea

切换至git用户运行测试:

su git
cd /usr/local/gitea
./gitea web

运行成功后访问服务器ip:3000可以看到Gitea页面。

现在要配置Gitea服务:

vim /etc/systemd/system/gitea.service

输入以下内容:

[Unit]
Description=Gitea
After=syslog.target
After=network.target

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
ExecStart=/usr/local/gitea/gitea web --config /usr/local/gitea/custom/conf/app.ini
Restart=always

[Install]
WantedBy=multi-user.target

其中ExecStart标注了可执行文件的位置。

启动服务:

systemctl start gitea

查看服务是否正常运行,如果运行正常应该可以看到git用户运行的进程,位置是/usr/local/gitea/gitea。

ps -aux | grep gitea

设置服务为开机自启:

systemctl enable gitea

现在Gitea已经安装好了,可以访问服务器ip:3000页面进行初始化配置。

可以创建一个数据库用于Gitea日常运行,Gitea支持MySQL、PostgreSQL、MSSQL、SQLite3数据库。

初始化完成后注册一个账号就可以使用了。