前几天打算组个分布式云探针,发现逗比关站了。突然意识到备份大神脚本的重要性,就想搭建个Git服务器,收藏大神们的脚本。
在MJJ论坛看了下,很多人推荐Gitea,打算试下。网上安装教程很多,但是遇到问题却查不到解决办法,于是记录下自己踩过的坑。
Gitea是一个极易安装,运行非常快速,安装和使用体验良好的自建Git服务。采用Go作为后端语言,这使得只要生成一个可执行程序即可。并且他还支持跨平台,支持Linux、macOS和Windows以及各种架构,除了x86,amd64,还包括ARM和 PowerPC。
Github地址:https://github.com/go-gitea/gitea
- 支持活动时间线
- 支持SSH以及HTTP/HTTPS协议
- 支持SMTP、LDAP和反向代理的用户认证
- 支持反向代理子路径
- 支持用户、组织和仓库管理系统
- 支持添加和删除仓库协作者
- 支持仓库和组织级别Web钩子(包括Slack集成)
- 支持仓库Git钩子和部署密钥
- 支持仓库工单(Issue)、合并请求(Pull Request)以及Wiki
- 支持迁移和镜像仓库以及它的Wiki
- 支持在线编辑仓库文件和Wiki
- 支持自定义源的Gravatar和Federated Avatar
- 支持邮件服务
- 支持后台管理面板
- 支持MySQL、PostgreSQL、SQLite3、MSSQL和TiDB(实验性支持)数据库
- 支持多语言本地化(21种语言)
系统强烈推荐debain 8以上,我使用cenos7后台启动一直出错,而且官网安装都是基于debain的。
1、安装MySQL
/Mariadb
数据库
我直接用的bt面板,安装好了LNMP , MySQL,至少5.5.3版本。
2、安装Git
apt-get -y install git
3、安装Gitea
最新版本下载地址:https://dl.gitea.io/gitea
wget -O gitea https://dl.gitea.io/gitea/1.7/gitea-1.7-linux-amd64
chmod +x gitea
./gitea web
接下来打开 http://ip:3000 即可。
4、域名访问
如果想用域名访问,可以用Nginx反代。BT面板新建一个站点,绑定域名,站点修改里面设置反代代理ip:3000,注意在配置文件里设置不缓存,即:
expires -1;
5、设置开机启动
Gitea是Go语言别写的,要想前台访问的话,后台程序必须一直运行,所以设置开机启动还是很有必要的。
vim /etc/systemd/system/gitea.service
服务文件内插入如下代码:
[Unit]
Description=gitea
[Service]
User=root
ExecStart=home/gitea/gitea
Restart=on-abort
[Install]
WantedBy=multi-user.target#注意 ExecStart =后修改为自己Gitea的路径
重载daemon,让新的服务文件生效:
systemctl daemon-reload
现在就可以用systemctl来启动gitea了:
systemctl start gitea
设置开机启动:
systemctl enable gitea
停止、查看状态可以用:
systemctl stop gitea
systemctl status gitea
6、网站更新
Gitea几乎每周都有新版本推出。如果要更新的话,只需后台关闭网站,重新下载源码覆盖,然后重启即可。
步骤和命令参考以上。