使用权
- 打开浏览器并访问:
https://<SERVER_IP> - 预计会出现浏览器 SSL 警告(自签名证书)
- 注册新帐户
- 第一个注册帐户成为管理员
禁用自注册(可选)
默认情况下,启用用户自助注册。
1.编辑配置文件: /etc/gogs/conf/app.ini
2. 根据 [auth] 部分,更改: DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true
3.重启Gogs:
systemctl restart gogs
重要文件和目录
- 安装目录:
/opt/gogs - 配置文件:
/etc/gogs/conf/app.ini - 应用数据:
/var/lib/gogs - 存储库:
/var/lib/gogs/repositories - 日志:
/var/log/gogs - 系统服务:
/etc/systemd/system/gogs.service - Nginx 配置:
/etc/nginx/sites-available/gogs.conf - TLS 证书:
/etc/nginx/ssl/
Git 用法
HTTPS(自签名证书):
GIT_SSL_NO_VERIFY=true git clone https://<SERVER_IP>/<USERNAME>/<REPOSITORY>.git
SSH(内置服务器):
git clone ssh://git@<SERVER_IP>:2222/<USERNAME>/<REPOSITORY>.git
服务管理
戈格斯:
systemctl status gogs
systemctl restart gogs
nginx:
systemctl status nginx
systemctl restart nginx
PostgreSQL:
systemctl status postgresql
systemctl restart postgresql
笔记
- 主要配置文件位于
/etc/gogs/conf/app.ini。修改配置文件后,使用以下命令重启服务systemctl restart gogs. - Nginx 上传限制定义在
/etc/nginx/sites-available/gogs.conf使用client_max_body_size。对于大型存储库增加它并重新启动 Nginx。 - 对于大型部署,您可以取消注释
LimitMEMLOCK=infinity和LimitNOFILE=65535in/etc/systemd/system/gogs.service,然后运行systemctl daemon-reload并重新启动Gogs。 - 数据库凭证定义在
/etc/gogs/conf/app.ini. - 对于生产使用,建议将自签名证书替换为有效的 Let’s Encrypt 证书。
- 如果使用自签名证书,HTTPS 克隆需要
GIT_SSL_NO_VERIFY=true.
为域启用 SSL
1. 将您的域名指向服务器IP。
2.更新Gogs配置(/etc/gogs/conf/app.ini):
EXTERNAL_URL = https://yourdomain.com/
DOMAIN = yourdomain.com
SSH_DOMAIN = yourdomain.com
3. 重新启动 Gogs 服务以应用更改:
systemctl restart gogs
3.编辑Nginx配置并替换两者 server_name <IP>; 与您的域名(<your-domain>) 对于 HTTP(端口 80)和 HTTPS(端口 443)块:
vim /etc/nginx/sites-available/gogs.conf
4.安装Certbot:
apt install -y certbot python3-certbot-nginx
5. 运行以下命令生成有效的 Let’s Encrypt 证书:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
6. 替换 Nginx 配置中的 SSL 路径:
vim /etc/nginx/sites-available/gogs.conf
# Before:
# ssl_certificate /etc/nginx/ssl/gogs.crt;
# ssl_certificate_key /etc/nginx/ssl/gogs.key;
# After:
# ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
7. 重新启动 Nginx 以应用更改:
systemctl restart nginx
8. 打开浏览器并访问: https://yourdomain.com