Gitea是一个自己托管的Git服务程序,从Gogs发展而来,其首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建Git服务。Gitea采用Go作为后端语言,采用MIT许可证,支持跨平台,支持Linux,macOS和 Windows以及各种架构,除了x86,amd64,还包括ARM和PowerPC。
1.Gitea安装
1.1 下载安装Gitea
Gitea在Linux操作系统中的安装方式有两种:Docker安装和从二进制安装。这里选择从二进制安装。
wget -O gitea https://dl.gitea.io/gitea/1.11.4/gitea-1.11.4-linux-arm64
chmod +x gitea
下载完成后,可以测试一下。
./gitea web
命令执行没有问题,可以"Ctrl + C"关掉程序。
1.2 配置开机自启动
作为服务器,每次开机手动启动会很麻烦,所以需要配置成service服务,并开机自启动。
配置service有两种方式:systemd方式和使用supervisor。这里采用systemd方式来配置。
编写gitea.service文件,格式请参考实例:
https://github.com/go-gitea/gitea/blob/master/contrib/systemd/gitea.service
sudo vim /etc/systemd/system/gitea.service
修改user,home目录以及其他必须的初始化参数。
......
User=gitea
Group=gitea
WorkingDirectory=/home/gitea/
......
ExecStart=/usr/local/bin/gitea web
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
1.3 补充工作
gitea.service文件涉及到user、home、启动命令路径、配置文件路径等,需要手动创建。
把gitea执行文件,拷贝到/usr/local/bin/目录下。
sudo cp gitea /usr/local/bin/
创建gitea用户。
sudo adduser gitea
创建gitea使用目录,并修改权限。
sudo mkdir -p /var/lib/gitea/{custom,data,log,ssl}
sudo chown -R gitea:gitea /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir /etc/gitea
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea
1.4 启动gitea服务
激活gitea,并将它作为系统自启动服务。
sudo systemctl enable gitea
sudo systemctl start gitea
2.配置Gitea
2.1 安装数据库
常用的数据库Gitea都支持,如PostgreSQL,MySQL,SQLite。这里使用MySQL数据库。MySQL数据库的安装请参考《MySQL安装指导及基础使用教程》和《MySQL集群搭建教程》
2.2 配置数据库
连接MySQL数据库,创建gitea使用的账号gitea。
CREATE USER 'gitea' IDENTIFIED BY 'gitea';
创建gitea使用的数据库giteadb。
CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
授权gitea用户对giteadb数据库的操作权限。
GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';
FLUSH PRIVILEGES;
2.3 配置gitea
用浏览器访问gitea配置页面http://ip:3000, 点击"注册",按照数据库的定义进行设置后,即可创建账号登录管理界面了。