使用gitea快速搭建一个私人git


技术无国界,但最近GitHub颁布了出口管制条例,GitHub相信大多数搞it的,学计算机的都会用到,但GitHub在国内的访问/下载速度一直都不是很好,而且出口管制条例的出现,使我在上面建一些私人私有代码仓库存放代码总有一种奇怪的感觉,遂自己搭建了一个git,我现在使用的是腾讯云的服务器,访问速度还是比较快的,起初打算用GitLab搭建,但它太臃肿了,资源占用也很厉害,最终,我发现了Gitea,轻量级的git,下面是搭建记录和踩过的坑。

gitea官网:https://gitea.io/

示例:https://git.mapletown.xyz/

功能

摘自官网

- 支持活动时间线
- 支持SSH以及HTTP/HTTPS协议
- 支持SMTP、LDAP和反向代理的用户认证
- 支持反向代理子路径
- 支持用户、组织和仓库管理系统
- 支持添加和删除仓库协作者
- 支持仓库和组织级别Web钩子(包括Slack集成)
- 支持仓库Git钩子和部署密钥
- 支持仓库工单(Issue)、合并请求(Pull Request)以及Wiki
- 支持迁移和镜像仓库以及它的Wiki
- 支持在线编辑仓库文件和Wiki
- 支持自定义源的Gravatar和Federated Avatar
- 支持邮件服务
- 支持后台管理面板
- 支持MySQL、PostgreSQL、SQLite3、MSSQL和TiDB(实验性支持)数据库
- 支持多语言本地化(21种语言)

二进制安装

官网提供编译好的二进制文件下载,为了节省时间,我选择了二进制文件这种方式安装。
以centos 7为例:

1.安装Git

sudo yum install git

2.下载二进制文件
下载地址:https://dl.gitea.io
我安装时最新时1.8.2版本

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

sudo chmod +x gitea

./gitea web

这样,打开http://ip:3000就可以打开了,如果打不开请检查防火墙是否开放了3000端口,一开始我就是忘了修改防火墙,死活打不开。

这样,一个git就算是搭建完了,但时如果你断开ssh连接,gitea进程就停止了,总不能一直连着ssh吧,所以,我们把gitea配置为服务,通过systemctl去启动他。

配置为服务

1.新建一个rclone.service文件

sudo vim /usr/lib/systemd/system/gitea.service

在文件中写入已下内容:

[Unit]
Description=gitea
    
[Service]
User=root
ExecStart=/usr/local/gitea/gitea
Restart=on-abort
    
[Install]
WantedBy=multi-user.target

2.重载daemon,让新的服务文件生效

systemctl daemon-reload

3.启动gitea

systemctl start gitea

4.配置开机自启动

systemctl enable gitea

如果要停止服务或者查看运行状态,可以用下面的命令

#停止服务
systemctl stop gitea

#查看状态
systemctl status gitea

至此,就完成搭建了,如果访问时不想加端口号,用Apache或者Nginx搭一个反代到http://127.0.0.1:3000就好了

声明:楓の街|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 使用gitea快速搭建一个私人git


Just For Fun...