Ubuntu上GitLab网络配置指南
确保Ubuntu服务器满足GitLab的最低要求:2核CPU、4GB以上内存、20GB以上存储空间,且已联网(能访问外网)。安装前建议更新系统软件包:
sudo apt update && sudo apt upgrade -y
GitLab依赖curl(下载工具)、openssh-server(SSH访问)、ca-certificates(SSL证书)、tzdata(时区设置)等组件,通过以下命令安装:
sudo apt install -y curl openssh-server ca-certificates tzdata
通过官方脚本添加GitLab的APT源,确保后续能获取最新版本的GitLab Community Edition(CE):
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
使用apt安装GitLab,安装时可通过EXTERNAL_URL参数直接设置外部访问地址(如IP或域名):
sudo EXTERNAL_URL="http://your_server_ip" apt install gitlab-ce
若未在安装时设置,可后续修改配置文件(详见步骤6)。
GitLab的核心网络配置文件为/etc/gitlab/gitlab.rb,需修改以下关键参数:
external_url为你的服务器IP或域名(如http://192.168.1.100或http://gitlab.example.com),这是GitLab生成链接的基础。nginx['listen_port']为其他端口(如82):external_url 'http://your_server_ip'
nginx['listen_port'] = 82 # 只有当80端口被占用时才需要修改
修改配置文件后,需执行reconfigure命令使配置生效,随后重启GitLab服务:
sudo gitlab-ctl reconfigure # 重新编译配置
sudo gitlab-ctl restart # 重启GitLab服务
若服务器启用了ufw防火墙,需开放GitLab使用的端口(HTTP默认80,HTTPS默认443,SSH默认22):
sudo ufw allow 80/tcp # 允许HTTP访问
sudo ufw allow 443/tcp # 允许HTTPS访问(若配置HTTPS)
sudo ufw allow 22/tcp # 允许SSH访问
sudo ufw enable # 启用防火墙
为提升安全性,建议使用Let’s Encrypt免费SSL证书配置HTTPS。安装Certbot工具并获取证书:
sudo apt install -y certbot python3-certbot-nginx # 若使用Nginx反向代理
sudo certbot --nginx -d gitlab.example.com # 替换为你的域名
获取证书后,在/etc/gitlab/gitlab.rb中配置SSL路径:
external_url 'https://gitlab.example.com'
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.example.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.example.com/privkey.pem"
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
在浏览器中输入http://your_server_ip(或配置的域名),若能看到GitLab登录页面,说明网络配置成功。首次登录需修改root用户的默认密码(密码可在/etc/gitlab/initial_root_password中查看,文件有效期为24小时)。
external_url配置是否有误。sudo gitlab-ctl status查看服务状态,sudo gitlab-ctl tail查看日志定位问题。nginx['listen_port']为其他端口,并确保外部访问地址的端口一致。