Centos7上安装gogs服务器

Gogs介绍

Gogs是一款类似Github(国内有码市)的开源文件/代码管理系统(基于Git),类似的工具有gitlab、gitblit。

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。

Centos7下安装Gogs

环境
客户端系统: ubuntu16.04
服务器:阿里云服务器,系统是Centos7

1. 首先使用ssh登录服务器

1
2
ssh root@服务器ip
su -shaoyance //切换用户为shaoyance

2. 安装git

查看是否安装了git,如果没有安装git,执行命令安装git

1
2
git -- version //查看是否安装了git
sudo yum install git //安装git

3. 安装数据库

Gogs支持MySQL、PostgreSQL、SQLite3、TiDB,这里我选择的是SQLite3,一个命令搞定

1
sudo yum install sqlite-devel

4. 安装Gogs
首先查看centos内核的版本,确定架构(x64、x86还是arm)

1
uname -a

如果是64位的话直接下载对应的二进制安装包(在用户家目录中执行该命令):

1
wget https://dl.gogs.io/0.11.34/linux_amd64.tar.gz

扩展:
到官网下载安装包的时候会有 linux_386.tar.gzlinux_amd64.tar.gz两种类型的安装包,那么哪个是64位的安装包呢?

因为当初是amd最先开发出来了64位处理器 所以在Linux的世界里 以amd64作为64位的标准就算是intel或者其他厂商的64为cpu 也是amd64

然后解压安装包

1
[shaoyance@izbp18b06xs1zskhxszkerz ~]$ sudo tar -xf linux_amd64.tar.gz

修改其权限和所有者:

1
2
3
[shaoyance@izbp18b06xs1zskhxszkerz ~]$ sudo chmod -R 700 gogs
[shaoyance@izbp18b06xs1zskhxszkerz ~]$ sudo chmod -R 700 /home/shaoyance/gogs/
[shaoyance@izbp18b06xs1zskhxszkerz ~]$ sudo chown -R shaoyance:shaoyance /home/shaoyance/gogs/

5. 启动Gogs

1
2
[shaoyance@izbp18b06xs1zskhxszkerz ~]$ cd gogs/
[shaoyance@izbp18b06xs1zskhxszkerz gogs]$ ./gogs web //启动gogs

出现下图说明gogs已经启动

然后在浏览器中访问http://IP:3000/打开就可以配置界面,但是自己实践中却不能打开配置界面

这是为什么呢?是不是因为防火墙给屏蔽了,或者3000端口没有开呢?执行下方命令排查后发现都没有问题,防火墙已经处于关闭状态,3000端口也被gogs占用

1
2
[shaoyance@izbp18b06xs1zskhxszkerz gogs]$ firewall-cmd --state //查看防火墙的状态
[shaoyance@izbp18b06xs1zskhxszkerz ~]$ netstat -lnp|grep 3000 //查看3000端口被哪个程序占用

那么究竟是什么原因呢?后来百度之后才知道需要在阿里云后台添加安全组规则,手动开放3000端口,具体可以点这里,将端口开启后,自己使用http://IP:3000/就可以打开如下配置界面

按照配置界面进行配置,如果配置完后,还想做调整,可以在配置文件中配置,默认的配置文件位于安装文件夹的/conf/app.ini,官方文档建议把自定义配置写到/custom/conf/app.ini,这样升级就不会覆盖配置,配置完成提交后会跳转到登录页面,说明安装成功

参考博客
Centos7 安装Gogs服务器
CentOS7下gogs安装总结
在Centos 7上安装Gogs
Gogs 的安装与使用