在很多场景下公开的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数据库。
初始化完成后注册一个账号就可以使用了。