CentOS 安装 Gogs
选择一款极易搭建的自助 Git 服务:https://gogs.io/
1、包管理安装
这里选择最简包管理安装方式,但是受网速限制,安装可能需要半个小时左右。
我是直接在root用户下安装的,没有新建git用户。自我感觉没必要。
sudo wget -O /etc/yum.repos.d/gogs.repo https://dl.packager.io/srv/gogs/gogs/main/installer/el/7.repo sudo yum install gogs
第一条命令,只拿取安装文件下载地址,第二条命令中途会需要两次确认(y),安装部分依赖。即可安装成功。
2、安装mysql
然后需要安装mysql 和 nginx。nginx不是必须的,只是用来做IP地址转发的,我不需要。mysql 的安装我已通过其他方式安装成功。
Gogs 要求安装 MySQL、PostgreSQL、SQLite3 其中一个,作为数据存储库。
3、开放防火墙的端口
gogs端口默认是3000
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
4、启动gogs
查看gogs服务运行状态 systemctl status gogs.service
查看gogs-web服务运行状态systemctl status gogs-web.service
设置服务开机启动 systemctl enable gogs.service
设置服务开机启动 systemctl enable gogs-web.service
启动gogs: /opt/gogs/gogs web
因为这种安装方式默认安装在了这个位置,与其他安装方式有所不同。
5、开机启动
修改/etc/rc.d/rc.local文件,在最后一行添加以下内容:
sleep 1m #睡1分钟,在执行下面,避免依赖还没启动。 su - root -c 'nohup /opt/gogs/gogs web > /opt/gogs/gogs_web.log 2>&1 &'
Linux系列的系统中,/etc/rc.d/rc.local文件是用来设置开机自启动的命令或脚本的。
但在CentOS7中,/etc/rc.d/rc.local默认没有执行权限,需要执行以下代码赋予该文件执行权限后才能启用开机自启动功能:
chmod +x /etc/rc.d/rc.local
解释:
因为/etc/rc.d/rc.local中的命令不会等待其他服务全部启动后再运行,而是在机器启动过程中并行运行,如果你设置的启动程序依赖其他的服务,可能会导致启动失败。所以Centos7中默认禁用了该文件的执行权限,并推荐使用systemcd进行自启动。
其他sleep命令:
sleep 1 # 睡眠1秒
sleep 1s # 睡眠1秒
sleep 1m # 睡眠1分
sleep 1h # 睡眠1小时
测试可以开机启动成功。
6、配置mysql
打开地址 http://192.168.1.22:3000 进入安装页面。
可以看到需要先配置数据库信息。然后进入mysql数据库,创建一个gogs数据库,并新增一个用户gogs,我暂时不需要,还是给予root的权限。
7、完成初始配置
这里域名就是安装gogs的本地IP地址。
配置一下管理员账号。
8、开始使用吧
最好退出当前管理员,重新注册一个用户。避免和管理员用户混用。
9、开放至公网
使用端口转发, 更改gogs设置。另外记得:
1、开启注册验证
2、部分代码加私密
我暂时不需要开启公网使用,以后再说。