Gogs(Go Git Service) 是一款极易搭建的自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
安装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仓库搭建太简单这里就没必要再演示了,如果有不会的童鞋,可以看看上一篇Centos7-Git安装及使用,然后我们这里直接开始搭建Git服务器仓库。
1、安装go语言依赖和git服务 yum -y install go git
2、安装MySQL数据库
(由于yum源上没有mysql-server。所以必须去官网下载,这里 我们用wget命令,直接获取mysql社区源)wget -i -c
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
3、先安装MySQL数据库的依赖包
yum -y install mysql57-community-release-el7-10.noarch.rpm
4、安装MySQL数据库
yum -y install mysql-community-server
注释: Installed已安装 Dependency作为依赖被安装 Replaced替代
5、启动MySQL数据库
1)启动数据库 systemctl start mysqld
2)数据库开机自启 systemctl enable mysqld
3)查看数据库是否启动并监听3306端口 netstat -anutpl | grep mysql
6、登陆MySQL数据库
此版本数据库第一次登陆有默认密码,所以需要我们先查看默认密码,然后登陆并且修改数据库的密码。
1)查看数据库默认密码 grep "password" /var/log/mysqld.log
注:MySQL数据库的默认密码是sgwNECq4IN:r
2)登录数据库 mysql -uroot -p 密码
3)修改数据库登陆密码(新密码一定要按照数据库的密码复杂要求来设置)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wangfeiyu123...';
4)初始化MySQL数据库 mysql_secure_installation
注:执行完初始化命令后需要输入数据库root用户密码,然后默认如上截图一路回车即可。(以上截图问题也可根据自己实际情况进行选择)
5)创建gogs库(使用utf8字符集和InnoDB引擎,mysql5.7默认是InnoDB引擎)
CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin;
6)root用户针对gogs库下所有表拥有ALL PRIVILEGES权限(这一步可省略)
grant all privileges on gogs.* TO 'root'@'localhost' identified by 'Wangfeiyu123...' WITH GRANT OPTION;
7)刷新数据库数据
flush privileges;
7、创建用户
1)创建git系统用户 adduser git
2)修改git用户密码为123
3)切换git用户登录创建目录 mkdir ~/.ssh
注:这个目录是存放普通用户上传代码公钥认证的目录
8、下载tar包并解压
tar -zxf gogs_0.11.53_linux_amd64.tar.gz
//移动gogs目录到git用户家目录 mv gogs /home/git/
//修改gogs目录的属主属组 chown -R git:git /home/git/gogs/
//切换git用户 su - git
//用git用户启动gogs服务方式
1)后台运行进程方式
gogs/gogs web &
注:以上截图使用的是后台进程启动方式,如果觉得麻烦,也可以使用system方式启动。
2)使用system方式启动
//给脚本普通用户和root用户执行权限
chmod u+x /home/git/gogs/scripts/systemd/gogs.service
注:以上设置权限需要使用root用户。
//拷贝gogs启动脚本到system下
cp /home/git/gogs/scripts/systemd/gogs.service /usr/lib/systemd/system/
//启动gogs服务
systemctl start gogs.service
//关闭gogs服务
systemctl stop gogs.service
//重启gogs服务
systemctl restart gogs.service
注:建议使用这种方式管理gogs服务!
9、访问gogs的web安装界面并安装gogs
//数据库配置连接
//应用的基本设置
//可自动选择设置
//重新使用web访问这个网址http://192.168.152.163:3000/
注:以上操作完成了自助git仓库服务的搭建!这个简单自助的git仓库的具体使用方式和GitHub很相似,所以这里就不多说了。