Linux 搭建 gogs

Linux 搭建 gogs

GOGS-CSDN
Gogs首页
Gogs使用文档
Goga二进制安装方法

准备工作

1. 创建用户

1
adduser git

2. 安装git

1
yum install -y git

3. 下载对应包 https://gogs.io/docs/installation/install_from_binary

4. 在合适位置创建并上传二进制包

本人安装位置 / 下创建 tool文件夹并上传文件

1
mkdir tool

5. 解压TAR.GZ

1
tar -xzvf gogs_0.12.7_linux_amd64.tar.gz

解压后在当前文件夹下出现gogs文件夹

配置

1. 给git用户权限

在当前文件夹下将gogs文件夹用户更改为git

1
chown -R git:git ./gogs

2. 进入gogs文件夹

1
cd gogs

3. 切换用户

1
su git

4. 执行命令./gogs web

5. 访问ip:3000/install

如果使用的云服务器在服务器防火墙页开通3000端口

阿里云防火墙示例

gogs配置页如图

配置

  1. 数据库类型:SQLite3
  2. 仓库目录:选择个人核实位置,我的位置/tool/gogs/git/gogs-repositories
  3. 域名:改为自己的ip
  4. 应用URL:改为自己ip
  5. 其它选项默认

注意

因为只给git用户gogs文件夹的权限所以想要给其他位置设立git仓库,需要给git添加权限

6. 点击立即安装

访问

1. http://ip:3000/user/login

gogs登录页

2. 登陆

注册第一个用户为管理员用户

gogs注册页

3. 登录后主页

gogs主页

高级配置

如上所说,命令./gogs web在关闭终端的时候也会停止,可以通过以下方式保留。

1. 通过后台守护进程启动

1
nohup ./gogs web &

2. 通过daemon的方式启动

  1. 找到gogs解压文件夹并进入gogs/scripts/systemd

  2. 打开gogs.service

  3. 更改如下值

    1. ExecStart:启动 ./gogs web 命令的路径

    2. WorkingDirectory:gogs 所在文件夹的路径

    3. User:执行运行命令./gogs web`命令的用户名

    4. 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
    5. 将该好的文件复制到/usr/lib/systemd/system

    6. 依次执行以下命令

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      systemctl 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代理

  1. 在 nginx.conf 文件中,将下面的 server 部分增加至 http 分区内并重载配置:

    1
    2
    3
    location / {
    proxy_pass http://127.0.0.1:3000;
    }
  2. 配置子路径

    同上增加如下内容:

1
2
3
location /gogs/ {
proxy_pass http://127.0.0.1:3000/;
}

子路由有/开头,必须以/结尾
找到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/
作者
Zero
发布于
星期二, 五月 31日 2022, 10:14 上午
许可协议