Gogs(Go Git Service) 是一款极易搭建的自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。 

CentOS7.4 用 gogs 搭建git仓库_第1张图片

一、Gogs依赖环境

安装Gogs之前需要配置相应的依赖环境,官网介绍的依赖环境如下:

1、数据库(选择以下一项):
MySQL:版本 >= 5.5.3
PostgreSQL
或者 什么都不安装 直接使用 SQLite3 或 TiDB

2、git(bash):
服务端和客户端均需版本 >= 1.7.1
Windows 系统建议使用最新版

3、SSH 服务器:
如果您只使用 HTTP/HTTPS 或者内置 SSH 服务器的话请忽略此项
推荐 Windows 系统使用 Cygwin OpenSSH 或 Copssh

4、Nginx反向代理(可选)

二、安装环境

环境为两台服务器:

1、Git本地仓库

IP:192.168.152.162
系统:Centos7-3.10.0-514.el7.x86_64
Git版本:git-1.8.3.1-13.el7.x86_64
Golang版本:golang.x86_64 0:1.9.4-1.el7(go语言安装包)

2、Git服务器仓库

IP:192.168.152.163
系统:Centos7-3.10.0-514.el7.x86_64
Git版本:git-1.8.3.1-13.el7.x86_64
Golang版本:golang.x86_64 0:1.9.4-1.el7(go语言安装包)
Gogs版本:gogs_0.11.53_linux_amd64.tar.gz
Mysql版本:mysql-community-server.x86_64:5.7.21-1.el7

注:两台服务器都需要关闭防火墙和selinux
1)关闭防火墙 systemctl stop firewalld.service
2)禁止防火墙开机自启 systemctl disable firewalld.service
3)关闭selinux sed -i 's/SELINUX=enforcing /SELINUX=disabled/g'
/etc/sysconfig/selinux

三、搭建Git服务器仓库

可能看到这有些童鞋会问那第一台服务器呢?因为本地git仓库搭建太简单这里就没必要再演示了,如果有不会的童鞋,可以看看上一篇Centos7-Git安装及使用,然后我们这里直接开始搭建Git服务器仓库。

1、安装go语言依赖和git服务 yum -y install go git

CentOS7.4 用 gogs 搭建git仓库_第2张图片

2、安装MySQL数据库

(由于yum源上没有mysql-server。所以必须去官网下载,这里 我们用wget命令,直接获取mysql社区源)

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
CentOS7.4 用 gogs 搭建git仓库_第3张图片

3、先安装MySQL数据库的依赖包

yum -y install mysql57-community-release-el7-10.noarch.rpm

CentOS7.4 用 gogs 搭建git仓库_第4张图片

4、安装MySQL数据库

yum -y install mysql-community-server
CentOS7.4 用 gogs 搭建git仓库_第5张图片 
注释: Installed已安装 Dependency作为依赖被安装 Replaced替代

5、启动MySQL数据库

1)启动数据库 systemctl start mysqld
Centos7 用gogs搭建git仓库

2)数据库开机自启 systemctl enable mysqld
Centos7 用gogs搭建git仓库

3)查看数据库是否启动并监听3306端口 netstat -anutpl | grep mysql
Centos7 用gogs搭建git仓库

6、登陆MySQL数据库

此版本数据库第一次登陆有默认密码,所以需要我们先查看默认密码,然后登陆并且修改数据库的密码。

1)查看数据库默认密码 grep "password" /var/log/mysqld.log
Centos7 用gogs搭建git仓库 
注:MySQL数据库的默认密码是sgwNECq4IN:r

2)登录数据库 mysql -uroot -p 密码
CentOS7.4 用 gogs 搭建git仓库_第6张图片

3)修改数据库登陆密码(新密码一定要按照数据库的密码复杂要求来设置)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wangfeiyu123...';
CentOS7.4 用 gogs 搭建git仓库_第7张图片

4)初始化MySQL数据库 mysql_secure_installation
CentOS7.4 用 gogs 搭建git仓库_第8张图片
CentOS7.4 用 gogs 搭建git仓库_第9张图片
注:执行完初始化命令后需要输入数据库root用户密码,然后默认如上截图一路回车即可。(以上截图问题也可根据自己实际情况进行选择)

5)创建gogs库(使用utf8字符集和InnoDB引擎,mysql5.7默认是InnoDB引擎)
Centos7 用gogs搭建git仓库

6)root用户针对gogs库下所有表拥有ALL PRIVILEGES权限(这一步可省略)
Centos7 用gogs搭建git仓库

7)刷新数据库数据
Centos7 用gogs搭建git仓库

7、创建用户

1)创建git系统用户 adduser git
Centos7 用gogs搭建git仓库
Centos7 用gogs搭建git仓库

2)修改git用户密码为123
CentOS7.4 用 gogs 搭建git仓库_第10张图片

3)切换git用户登录创建目录 mkdir ~/.ssh
Centos7 用gogs搭建git仓库
注:这个目录是存放普通用户上传代码公钥认证的目录

8、下载tar包并解压

tar -zxf gogs_0.11.53_linux_amd64.tar.gz 

Centos7 用gogs搭建git仓库

//移动gogs目录到git用户家目录 mv gogs /home/git/
Centos7 用gogs搭建git仓库

//修改gogs目录的属主属组 chown -R git:git /home/git/gogs/
CentOS7.4 用 gogs 搭建git仓库_第11张图片

//切换git用户 su - git
Centos7 用gogs搭建git仓库

//用git用户启动gogs服务 gogs/gogs web &
CentOS7.4 用 gogs 搭建git仓库_第12张图片

9、访问gogs的web安装界面并安装gogs

访问地址:http://192.168.152.163:3000
CentOS7.4 用 gogs 搭建git仓库_第13张图片

//数据库配置连接
CentOS7.4 用 gogs 搭建git仓库_第14张图片

//应用的基本设置
CentOS7.4 用 gogs 搭建git仓库_第15张图片 
CentOS7.4 用 gogs 搭建git仓库_第16张图片

//可自动选择设置
CentOS7.4 用 gogs 搭建git仓库_第17张图片

//重新使用web访问这个网址http://192.168.152.163:3000/
CentOS7.4 用 gogs 搭建git仓库_第18张图片
注:以上操作完成了自助git仓库服务的搭建!这个简单自助的git仓库的具体使用方式和GitHub很相似,所以这里就不多说了。