Skip to content

已阅读

0%
Linux 搭建 gogs

Linux 搭建 gogs

Linux

Linux 搭建 gogs

标签:
Linux-software git
发布于 2022年5月31日

Linux 搭建 gogs

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

准备工作

1. 创建用户

bash
adduser git

2. 安装git

bash
yum install -y git

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

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

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

bash
mkdir tool

5. 解压TAR.GZ

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

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

配置

1. 给git用户权限

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

bash
chown -R git:git ./gogs

2. 进入gogs文件夹

bash
cd gogs

3. 切换用户

bash
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. 通过后台守护进程启动

bash
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`命令的用户名

      bash
        # 部分示意
        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. 依次执行以下命令

      bash
        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 分区内并重载配置:

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

    同上增加如下内容:

json
  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中配置的内容相同

Last updated: