手把手教你使用gogs搭建git私有仓库
本来想在 Github 上建一个私仓,但是发现只能设置 3 个贡献者。
国内的码云也只能设置 5 个。
无意间看到了使用 gogs 可以搭建私服,正好手头有空闲的服务器,于是开干!
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 端口的,解决方法
① 登录到阿里云控制台,进入到自己的云主机管理页面
② 点击『防火墙』
③ 添加 3000 端口的访问规则
确定,然后就可以继续访问之前的页面了。
第一次访问 Gogs,浏览器进入安装页面,如图所示填写字段
点击 install gogs,安装成功以后会直接进入 gogs 首页,在这里可以注册或者登录,完全像是一个正常的网站。
若在安装页面没有配置管理员,那么第一个注册的用户默认自动变成管理员,之后注册的用户都是普通用户。
配置文件详解
配置文件位于:
/home/git/gogs/custom/conf/app.ini
其中参数的详细解释可以看官网:https://gogs.io/docs/advanced/configuration_cheat_sheet
禁止用户注册
为了系统安全性,考虑禁止用户注册,只能由管理员创建帐号。
将参数 DISABLE_REGISTRATION 设置为 true。
DISABLE_REGISTRATION = true
此时需要在页面进行创建账号:
至此,基于 gogs 的 Git 私仓搭建基本完毕。
参考:
https://www.jianshu.com/p/63206dad0afa
https://blog.csdn.net/qq_22638399/article/details/80658196
https://zhuanlan.zhihu.com/p/30798837
https://www.jianshu.com/p/28e8aa8f9ec4
作者:hoxis | 不正经程序员
出处:https://hoxis.github.io
欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果喜欢我的文章,请关注我的公众号
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了