在Linux上部署GitLab涉及多個步驟,包括安裝必要的軟件包、配置Web服務器、設置數據庫、配置GitLab以及啟動服務。以下是一個基本的步驟指南:
首先,確保你的系統包是最新的:
sudo apt update
sudo apt upgrade
安裝一些必要的依賴包:
sudo apt install -y curl openssh-server ca-certificates tzdata perl
GitLab需要Ruby和OpenSSL。你可以使用以下命令安裝它們:
sudo apt install -y ruby2.7 libssl-dev zlib1g-dev
你可以通過以下命令安裝GitLab的RubyGems包:
sudo gem install bundler
然后,克隆GitLab的倉庫并進入目錄:
cd /opt
sudo git clone https://gitlab.com/gitlab-org/gitlab-ce.git
cd gitlab-ce
復制默認的配置文件:
sudo cp config/gitlab.rb /etc/gitlab/gitlab.rb
解壓默認的包并配置外部URL(如果你有域名):
sudo tar -xzf gitlab-ce-x.x.x.tar.gz --strip-components=1
sudo gitlab-ctl reconfigure
將x.x.x
替換為你下載的GitLab版本號。
如果你使用的是Apache,安裝并配置mod_rails(Passenger):
sudo apt install -y libapache2-mod-passenger
sudo a2enmod passenger
sudo systemctl restart apache2
如果你使用的是Nginx,安裝并配置Passenger:
sudo apt install -y nginx libnginx-mod-http-passenger
sudo systemctl restart nginx
GitLab默認使用PostgreSQL數據庫。安裝PostgreSQL并創建數據庫和用戶:
sudo apt install -y postgresql postgresql-contrib
sudo -u postgres psql -c "CREATE DATABASE gitlab;"
sudo -u postgres psql -c "CREATE USER gitlab WITH PASSWORD 'your_password';"
sudo -u postgres psql -c "ALTER ROLE gitlab SET client_encoding TO 'utf8';"
sudo -u postgres psql -c "ALTER ROLE gitlab SET default_transaction_isolation TO 'read committed';"
sudo -u postgres psql -c "ALTER ROLE gitlab SET timezone TO 'UTC';"
配置GitLab使用PostgreSQL:
sudo gitlab-ctl reconfigure
最后,啟動GitLab服務:
sudo gitlab-ctl start
打開瀏覽器,訪問http://your_server_ip
,按照提示完成初始設置。
如果你使用的是UFW防火墻,允許HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'
sudo ufw enable
如果你希望GitLab在系統啟動時自動運行,可以使用systemd:
sudo systemctl enable gitlab-ce
sudo systemctl start gitlab-ce
這樣,你就完成了在Linux上部署GitLab的基本步驟。根據你的具體需求,你可能還需要進行更多的配置和優化。