私人Git服务器 - gogs
Gogs 是一款极易搭建的自助 Git 服务。 Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。 使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
# 安装依赖环境
# 安装git
yum install -y git
1
# 安装MySQL
# centos7后默认源采用mariadb数据库
yum install mariadb-server -y
1
2
2
# 配置环境
# git新建用户
Gogs默认以git用户运行,因此我们需要建立一个git用户
# 建立git用户
sudo adduser git
# 以git用户登录
su git
# 建立.ssh目录
mkdir ~/.ssh
1
2
3
4
5
6
2
3
4
5
6
# 安装gogs
# 下载并解压
在这里 (opens new window)寻找适用于你系统的二进制包
# 切换git用户
su git
# 进入家目录
cd ~/
# downlaod
wget https://dl.gogs.io/0.11.34/linux_amd64.zip
# 解压
unzip linux_amd64.zip
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 创建数据库
首先建立数据库。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;
1
2
3
4
5
6
2
3
4
5
6
# 运行
./gogs web
1
# 配置
配置文件位于Gogs目录的custom/conf/app.ini,为INI格式的文本文件,关键配置如下。 详细的配置解释和默认值请参考配置文件手册
RUN_USER
默认为git,指定Gogs以哪个用户运行ROOT
所有仓库的存储根路径PROTOCOL
用nginx反代的话使用httpDOMAIN
域名,会影响SSH clone地址ROOT_URL
完整的根路径,会影响页面上链接指向,以及HTTP(s) clone的地址HTTP_ADDR
监听地址,使用nginx建议127.0.0.1,否则localhost或0.0.0.0也可以HTTP_PORT
监听端口,默认3000INSTALL_LOCK
锁定安装页面
# 自启动
# 增加systemd服务
将gogs
目录下/scripts/systemd/centos/gogs复制到/etc/systemd/system/下
chmod +x /etc/systemd/system/gogs
1
# 服务启动
# 启动
systemctl start gogs
# 暂停
systemctl stop gogs
1
2
3
4
2
3
4
# 服务自启动
# 开启自启动
systemctl enable gogs
# 关闭自启动
systemctl diable gogs
1
2
3
4
2
3
4
# 参考资料
-Gogs安装配置(快速搭建版) (opens new window) -CentOS6.X下Gogs安装与配置 (opens new window)
上次更新: 2024/08/11, 01:59:03