原因:未正確添加GitLab官方倉庫或鏡像源,或系統包索引未更新。
解決方案:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt update
/etc/apt/sources.list.d/gitlab_gitlab-ce.list),將內容替換為:deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu $(lsb_release -cs) main
保存后再次運行sudo apt update并安裝。原因:系統缺少必要依賴(如curl、openssh-server、ca-certificates),或依賴版本不兼容。
解決方案:
sudo apt install -y curl openssh-server ca-certificates tzdata perl
sudo apt -f install
該命令會自動修復損壞的依賴關系。原因:GitLab對內存要求較高(推薦至少4GB,最低2GB),系統內存不足會導致進程崩潰或502錯誤。
解決方案:
sudo fallocate -l 2G /swapfile # 創建2GB交換文件(根據需求調整大?。?/span>
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
永久生效可添加以下行到/etc/fstab:/swapfile none swap sw 0 0
原因:GitLab的Nginx服務未正常啟動、端口沖突(如80/443被占用),或內存不足。
解決方案:
sudo gitlab-ctl status
若nginx或puma服務未運行,重啟服務:sudo gitlab-ctl restart
sudo netstat -tulnp | grep ':80\|:443'
若端口被占用,修改/etc/gitlab/gitlab.rb中的external_url(如改為http://your-ip:8080),然后重新配置:sudo gitlab-ctl reconfigure
原因:修改/etc/gitlab/gitlab.rb后未執行reconfigure命令,或配置語法錯誤。
解決方案:
external_url、時區)后,必須運行以下命令使配置生效:sudo gitlab-ctl reconfigure
sudo gitlab-ctl configtest
若有錯誤,根據提示修復后再重新配置。原因:Ubuntu系統防火墻(UFW)未開放GitLab所需的端口(80、443、22)。
解決方案:
sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
sudo ufw status
確保ALLOW行包含上述端口。原因:首次安裝后未記錄root用戶的初始密碼。
解決方案:
/etc/gitlab/initial_root_password文件中,可通過以下命令查看:cat /etc/gitlab/initial_root_password
密碼有效期為24小時,過期后需通過GitLab控制臺重置:sudo gitlab-rails console
在控制臺中輸入以下命令:user = User.where(id: 1).first
user.password = 'new_password'
user.password_confirmation = 'new_password'
user.save!
exit
替換new_password為新的root密碼。原因:GitLab 16.x及以上版本需要GLIBC 2.38及以上版本,而Ubuntu 22.04及以下版本的GLIBC版本較低。
解決方案:
sudo apt install gitlab-ce=15.0.0-ce.0