Linux 搭建 gogs
Linux 搭建 gogs
GOGS-CSDN
Gogs首页
Gogs使用文档
Goga二进制安装方法
准备工作
1. 创建用户
1 |
|
2. 安装git
1 |
|
3. 下载对应包 https://gogs.io/docs/installation/install_from_binary
4. 在合适位置创建并上传二进制包
本人安装位置 /
下创建 tool文件夹并上传文件
1 |
|
5. 解压TAR.GZ
1 |
|
解压后在当前文件夹下出现gogs
文件夹
配置
1. 给git用户权限
在当前文件夹下将gogs文件夹用户更改为git
1 |
|
2. 进入gogs文件夹
1 |
|
3. 切换用户
1 |
|
4. 执行命令./gogs web
5. 访问ip:3000/install
如果使用的云服务器在服务器防火墙页开通3000
端口
配置:
- 数据库类型:SQLite3
- 仓库目录:选择个人核实位置,我的位置
/tool/gogs/git/gogs-repositories
- 域名:改为自己的ip
- 应用URL:改为自己ip
- 其它选项默认
注意:
因为只给git用户gogs文件夹的权限所以想要给其他位置设立git仓库,需要给git添加权限
6. 点击立即安装
访问
1. http://ip:3000/user/login
2. 登陆
注册第一个用户为管理员用户
3. 登录后主页
高级配置
如上所说,命令./gogs web
在关闭终端的时候也会停止,可以通过以下方式保留。
1. 通过后台守护进程启动
1 |
|
2. 通过daemon
的方式启动
找到gogs解压文件夹并进入
gogs/scripts/systemd
下打开gogs.service
更改如下值
ExecStart:启动 ./gogs web 命令的路径
WorkingDirectory:gogs 所在文件夹的路径
User:执行运行命令
./
gogs web`命令的用户名Group:执行运行命令
./
gogs web`命令的用户名1
2
3
4
5
6
7# 部分示意
User=git
Group=git
WorkingDirectory=/tool/gogs
ExecStart=/tool/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git将该好的文件复制到
/usr/lib/systemd/system
下依次执行以下命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15systemctl enable gogs.service
systemctl start gogs.service
systemctl status gogs.service
# 结果
● gogs.service - Gogs
Loaded: loaded (/usr/lib/systemd/system/gogs.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-05-31 15:55:57 CST; 1h 5min ago
Main PID: 53371 (gogs)
Tasks: 6 (limit: 10836)
Memory: 54.0M
CGroup: /system.slice/gogs.service
└─53371 /tool/gogs/gogs web
May 31 15:55:57 iZbp191eo8bqtd9wf5f0pqZ systemd[1]: Started Gogs.
May 31 15:55:57 iZbp191eo8bqtd9wf5f0pqZ gogs[53371]: 2022/05/31 15:55:57 [TRACE] Log mode: File (Info)
进阶
通过nginx代理
在 nginx.conf 文件中,将下面的 server 部分增加至 http 分区内并重载配置:
1
2
3location / {
proxy_pass http://127.0.0.1:3000;
}配置子路径
同上增加如下内容:
1 |
|
子路由有/
开头,必须以/
结尾
找到gogs的app.ini在[server]
下增加如下内容
PROTOCOL = http
HTTP_ADDR = 127.0.0.1
EXTERNAL_URL = http://(ip/域名)/gogs/
EXTERNAL_URL需要和nginx中配置的内容相同
Linux 搭建 gogs
https://crudclass.github.io/2022/05/31/linux/gogs/