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']
為其他端口,并確保外部訪問地址的端口一致。