溫馨提示×

GitLab在Linux服務器上的部署步驟

小樊
49
2025-09-29 14:16:07
欄目: 云計算

GitLab在Linux服務器上的部署步驟(以Ubuntu/Debian、CentOS/RHEL為例)

1. 準備工作

  • 服務器要求:推薦使用Ubuntu 22.04+、CentOS 7/8+等主流發行版;至少2核CPU、4GB內存、20GB存儲空間(小型團隊可適當降低);確保服務器聯網。
  • 網絡配置:關閉SELinux(CentOS)或配置為寬松模式(setenforce 0),避免權限攔截;開放HTTP(80)、HTTPS(443)、SSH(22)端口(防火墻或云安全組)。

2. 安裝依賴項

  • Ubuntu/Debian:更新系統并安裝curl(下載工具)、openssh-server(SSH登錄)、ca-certificates(HTTPS證書)、postfix(郵件通知,選“Internet Site”配置):
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y curl openssh-server ca-certificates postfix
    
  • CentOS/RHEL:安裝curl、policycoreutils-python(SELinux管理)、openssh-server、postfix
    sudo yum update -y
    sudo yum install -y curl policycoreutils-python openssh-server postfix
    sudo systemctl enable --now sshd  # 啟動SSH服務
    

3. 添加GitLab官方倉庫

  • Ubuntu/Debian:通過官方腳本添加APT倉庫:
    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    
  • CentOS/RHEL:添加YUM倉庫:
    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
    

4. 安裝GitLab Community Edition(CE)

  • Ubuntu/Debian:使用APT安裝GitLab CE,指定EXTERNAL_URL(替換為服務器IP或域名):
    sudo EXTERNAL_URL="http://your_server_ip" apt install -y gitlab-ce
    
  • CentOS/RHEL:使用YUM安裝:
    sudo EXTERNAL_URL="http://your_server_ip" yum install -y gitlab-ce
    

5. 配置GitLab

  • 編輯配置文件/etc/gitlab/gitlab.rb,修改external_url為服務器IP或域名(如http://gitlab.example.com):
    sudo nano /etc/gitlab/gitlab.rb
    # 找到并修改以下行(取消注釋并替換)
    external_url 'http://your_server_ip'
    
  • 保存后,運行reconfigure命令應用配置(自動初始化數據庫、啟動服務):
    sudo gitlab-ctl reconfigure
    

6. 啟動GitLab服務

  • 啟動GitLab并設置開機自啟:
    sudo gitlab-ctl start  # 啟動服務
    sudo systemctl enable gitlab  # 開機自啟
    
  • 檢查服務狀態(確保所有組件運行正常):
    sudo gitlab-ctl status
    

7. 訪問GitLab

  • 在瀏覽器中輸入http://your_server_ip,首次訪問需設置root管理員密碼(默認賬號:root)。
  • 登錄后即可創建項目、管理用戶及權限。

8. 可選配置

  • 配置郵件通知(用于密碼重置、CI/CD通知): 編輯/etc/gitlab/gitlab.rb,添加SMTP設置(以163郵箱為例):

    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.163.com"
    gitlab_rails['smtp_port'] = 465
    gitlab_rails['smtp_user_name'] = "your_163_email@163.com"
    gitlab_rails['smtp_password'] = "your_163_authorization_code"  # 非郵箱密碼,是授權碼
    gitlab_rails['smtp_domain'] = "163.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = true
    gitlab_rails['gitlab_email_from'] = "your_163_email@163.com"
    

    運行sudo gitlab-ctl reconfigure生效。

  • 啟用HTTPS(使用Let’s Encrypt免費證書): 修改/etc/gitlab/gitlab.rb

    external_url 'https://your_server_ip'
    letsencrypt['enable'] = true
    letsencrypt['contact_emails'] = ['admin@example.com']  # 接收證書過期提醒
    

    運行sudo gitlab-ctl reconfigure生成證書。

  • 修改Web端口(如80端口被占用): 編輯/etc/gitlab/gitlab.rb,修改Nginx端口:

    nginx['listen_port'] = 8080
    nginx['ssl_listen_port'] = 8443
    

    運行sudo gitlab-ctl reconfigure生效,后續通過http://your_server_ip:8080訪問。

常見問題解決

  • 端口沖突:若80/443端口被占用,修改nginx['listen_port'](如上述)后重新配置。
  • 郵件發送失敗:檢查Postfix服務狀態(sudo systemctl status postfix),確保SMTP配置正確(授權碼而非郵箱密碼)。
  • 訪問超時:檢查防火墻是否開放對應端口(sudo ufw allow 80/tcpfirewall-cmd --add-service=http --permanent)。

以上步驟覆蓋了GitLab在Linux服務器上的基礎部署與常見配置,可根據實際需求調整參數。部署完成后,建議定期更新GitLab至最新版本(sudo apt update && sudo apt upgrade gitlab-ce)以修復安全漏洞。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女