在Debian上部署GitLab可以分為幾個步驟,包括安裝必要的依賴、添加GitLab的官方倉庫、安裝GitLab軟件包、配置GitLab以及啟動服務。以下是詳細的步驟:
首先,確保你的Debian系統是最新的:
sudo apt update
sudo apt upgrade -y
安裝一些必要的軟件包,如curl
、openssh-server
、ca-certificates
和postfix
:
sudo apt install -y curl openssh-server ca-certificates postfix
在安裝postfix
時,你可以選擇配置它以發送郵件,或者跳過配置。
下載并運行GitLab的安裝腳本,該腳本會設置GitLab的官方倉庫:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
按照提示輸入GitLab的安裝名稱和域名。
使用以下命令安裝GitLab社區版:
sudo apt install gitlab-ce
安裝完成后,你需要配置GitLab。首先,找到并編輯GitLab的配置文件:
sudo nano /etc/gitlab/gitlab.rb
external_url
為你服務器的域名或IP地址。nginx['listen_port']
(默認是80)和gitlab_rails['信任的代理']
等。保存并退出編輯器,然后重新配置GitLab以應用更改:
sudo gitlab-ctl reconfigure
啟動GitLab服務并設置為開機自啟:
sudo gitlab-ctl start
sudo systemctl enable gitlab
打開瀏覽器,訪問你在配置文件中設置的external_url
,你應該能夠看到GitLab的登錄頁面。使用默認的管理員賬戶(root)和密碼登錄。
如果你使用的是UFW防火墻,可以添加允許GitLab使用的端口(默認為80):
sudo ufw allow 80/tcp
sudo ufw enable
雖然GitLab自帶了Nginx服務器,但你可以選擇配置一個外部Nginx服務器來反向代理GitLab。這通常用于負載均衡和提高安全性。
創建一個新的Nginx配置文件,例如/etc/nginx/sites-available/gitlab
:
server {
listen 80;
server_name your_gitlab_domain_or_ip;
location / {
proxy_pass http://localhost:8022;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
然后,在/etc/nginx/sites-enabled/
目錄下創建一個符號鏈接:
sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/
最后,測試Nginx配置并重啟Nginx:
sudo nginx -t
sudo systemctl restart nginx
完成以上步驟后,你就成功在Debian上部署了GitLab。根據需要,你可以進一步配置GitLab以滿足特定的需求,如設置郵件服務、監控和日志記錄等。