欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

手把手教你使用gogs搭建git私有仓库

程序员文章站 2022-06-22 10:40:05
本来想在 Github 上建一个私仓,但是发现只能设置 3 个贡献者。 国内的码云也只能设置 5 个。 无意间看到了使用 gogs 可以搭建私服,正好手头有空闲的服务器,于是开干! "https://gogs.io/"

本来想在 github 上建一个私仓,但是发现只能设置 3 个贡献者。

国内的码云也只能设置 5 个。

无意间看到了使用 gogs 可以搭建私服,正好手头有空闲的服务器,于是开干!

手把手教你使用gogs搭建git私有仓库

1、安装 git

yum install git

2、安装mysql

安装过程省略。

安装后登录 mysql 进行如下配置:

create database gogs default character set utf8mb4 collate utf8mb4_unicode_ci;

# 这里我新建了一个用户用来访问gogs数据库
create user 'pig'@'%' identified by 'xxxx';
grant all on gogs.* to 'pig'@'%';

3、安装gogs

3.1 创建git用户

建议使用 git 用户,因为 gogs 配置文件默认使用的 git 用户。

useradd git
passwd git设置密码

3.2 下载解压gogs

su git
cd 

wget https://dl.gogs.io/0.11.29/linux_amd64.zip
# unzip 命令不可用的话需先安装
unzip linux_amd64.zip

3.3 配置gogs

vim /home/git/gogs/scripts/init/debian/gogs

path=/sbin:/usr/sbin:/bin:/usr/bin
desc="gogs git service"
name=gogs
serviceverbose=yes
pidfile=/var/run/$name.pid
scriptname=/etc/init.d/$name
workingdir=/home/git/gogs #根据自己的目录修改
daemon=$workingdir/$name
daemon_args="web"
user=git  #修改对应用户

3.4 切回root,拷贝文件和服务

#拷贝到init.d下
cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/
#添加可执行权限
chmod +x /etc/init.d/gogs
#拷贝service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

3.5 启动

systemctl start gogs.service 

4、配置 gogs

此时,使用 ip:3000 就可以访问了

p.s. 阿里云的坑

阿里云的主机默认是无法访问 3000 端口的,解决方法

① 登录到阿里云控制台,进入到自己的云主机管理页面

② 点击『防火墙』

手把手教你使用gogs搭建git私有仓库

③ 添加 3000 端口的访问规则

手把手教你使用gogs搭建git私有仓库

确定,然后就可以继续访问之前的页面了。

第一次访问 gogs,浏览器进入安装页面,如图所示填写字段

手把手教你使用gogs搭建git私有仓库

手把手教你使用gogs搭建git私有仓库

点击 install gogs,安装成功以后会直接进入 gogs 首页,在这里可以注册或者登录,完全像是一个正常的网站。

若在安装页面没有配置管理员,那么第一个注册的用户默认自动变成管理员,之后注册的用户都是普通用户。

配置文件详解

配置文件位于:

/home/git/gogs/custom/conf/app.ini

其中参数的详细解释可以看官网:

禁止用户注册

为了系统安全性,考虑禁止用户注册,只能由管理员创建帐号。

将参数 disable_registration 设置为 true。

disable_registration = true

此时需要在页面进行创建账号:

手把手教你使用gogs搭建git私有仓库

手把手教你使用gogs搭建git私有仓库

至此,基于 gogs 的 git 私仓搭建基本完毕。