在Debian 9或Ubuntu 16.04上设置Gogs

・5 分钟阅读

使用不同的系统?

Gogs是一个自我托管Git服务。

本指南使用PostgreSQL作为数据库,Nginx作为反向代理,遵循本指南后你将能够通过HTTP访问Gogs Web界面,并且通过HTTPSSH访问托管的git存储库,通过扩展Nginx配置可以添加HTTPS访问。

设置数据库

本指南使用PostgreSQL,你也可以使用mysql MariaDB SQLite3 MSSQL或TiDB。

安装PostgreSQL 。


sudo apt-get install -y postgresql

创建Gogs将连接到数据库的用户,这提示您为该用户创建密码。这个密码稍后将输入到GOG的配置中


sudo -u postgres createuser gogs -P

创建Gogs数据库。


sudo -u postgres createdb gogs -O gogs -E UTF8

设置反向代理

本指南使用Nginx作为反向代理,你可以选择使用另一个HTTP服务器作为反向代理,如Apache或Caddy 。

安装Nginx 。


sudo apt-get install -y nginx

编辑/etc/nginx/sites-enabled/default


sudo nano /etc/nginx/sites-enabled/default

查找下列行。


location / {
 # First attempt to serve request as file, then
 # as directory, then fall back to displaying a 404.
 try_files $uri $uri/ =404;
}

将它们改为。


location / {
 proxy_pass http://127.0.0.1:3000;
}

重新加载Nginx以便使用新配置。


sudo systemctl reload nginx

安装Gogs

首先,确保git已安装。


sudo apt-get install -y git

然后创建Gogs将运行的用户,并将用于SSH git访问。


sudo useradd -m git

接下来,下载并解压缩你的体系结构的Gogs版本。

对于64-bit系统。


sudo -u git sh -c"curl https://dl.gogs.io/0.11.29/linux_amd64.tar.gz | tar -xz -C /home/git/"

对于32-bit系统。


sudo -u git sh -c"curl https://dl.gogs.io/0.11.29/linux_386.tar.gz | tar -xz -C /home/git/"

设置Gogs以在启动时运行。


sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system
sudo systemctl enable gogs

启动Gogs


sudo systemctl start gogs

初始配置

在浏览器中访问http://example.com ,你将看到: Install Steps For First-time Run

更改下列设置。


Database Type: PostgreSQL
User: gogs
Password: (password you created earlier)
Domain: example.com
Application URL: http://example.com/

你可能需要设置Application NameEmail Service Settings和,Server and Other Services Settings 所有设置以后都可以通过编辑/home/git/gogs/custom/conf/app.ini来更改。

单击Install Gogs

您将被重定向到登录页面,立即注册新用户。

只允许通过Nginx访问HTTP(S)

HTTP_ADDR =127.0.0.1添加到/home/git/gogs/custom/conf/app.ini[server]节。


sudo -u git nano /home/git/gogs/custom/conf/app.ini

更改后,[server]部分将类似于下面的内容。


[server]
DOMAIN = example.com
HTTP_ADDR = 127.0.0.1
HTTP_PORT = 3000
ROOT_URL = http://example.com/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false

重新启动Gogs以便使用更新的配置。


sudo systemctl restart gogs

Anne655 profile image