私人Git服务器 -- gogs

Catalogue
  1. 1. 安装依赖环境
    1. 1.1. 安装git
    2. 1.2. 安装MySQL
  2. 2. 配置环境
    1. 2.1. git新建用户
  3. 3. 安装gogs
    1. 3.1. 下载并解压
    2. 3.2. 创建数据库
    3. 3.3. 创建权限
    4. 3.4. 运行
  4. 4. 配置
  5. 5. 自启动
    1. 5.1. 增加systemd服务
    2. 5.2. 服务启动
    3. 5.3. 服务自启动
  6. 6. 参考资料

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


安装依赖环境

安装git

yum install -y git

安装MySQL

# centos7后默认源采用mariadb数据库
yum install mariadb-server -y

配置环境

git新建用户

Gogs默认以git用户运行,因此我们需要建立一个git用户

# 建立git用户
sudo adduser git
# 以git用户登录
su git
# 建立.ssh目录
mkdir ~/.ssh

安装gogs

下载并解压

这里寻找适用于你系统的二进制包

# 切换git用户
su git
# 进入家目录
cd ~/
# downlaod
wget https://dl.gogs.io/0.11.34/linux_amd64.zip
# 解压
unzip linux_amd64.zip

创建数据库

首先建立数据库。Gogs目录的scripts/mysql.sql文件是数据库初始化文件。
执行mysql -u root -p < scripts/mysql.sql(需要输入密码)即可初始化数据库。

创建权限

mysql -u root -p
# (输入密码)
create user 'gogs'@'localhost' identified by '密码';
grant all privileges on gogs.* to 'gogs'@'localhost';
flush privileges;
exit;

运行

./gogs web

配置

配置文件位于Gogs目录的custom/conf/app.ini,为INI格式的文本文件,关键配置如下。
详细的配置解释和默认值请参考配置文件手册

  • RUN_USER默认为git,指定Gogs以哪个用户运行
  • ROOT所有仓库的存储根路径
  • PROTOCOL用nginx反代的话使用http
  • DOMAIN域名,会影响SSH clone地址
  • ROOT_URL完整的根路径,会影响页面上链接指向,以及HTTP(s) clone的地址
  • HTTP_ADDR监听地址,使用nginx建议127.0.0.1,否则localhost或0.0.0.0也可以
  • HTTP_PORT监听端口,默认3000
  • INSTALL_LOCK锁定安装页面

自启动

增加systemd服务

gogs目录下/scripts/systemd/centos/gogs复制到/etc/systemd/system/下

chmod +x /etc/systemd/system/gogs

服务启动

# 启动
systemctl start gogs
# 暂停
systemctl stop gogs

服务自启动

# 开启自启动
systemctl enable gogs
# 关闭自启动
systemctl diable gogs

参考资料

-Gogs安装配置(快速搭建版)
-CentOS6.X下Gogs安装与配置