Ubantu 18.04下安裝並配置GitLab(實測)
先決安裝
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
sudo apt-get install -y postfix //郵件服務
- 安裝郵件服務的時候會出現郵件配置,使用左右鍵和回車鍵選擇確定、取消,彈出列表選項的時候,選擇Internet Site
安裝
信任GitLab的GPS公鑰
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
配置鏡像路徑
- 由於國外的下載速度過慢,所以配置清華大學鏡像的路徑。
- 建議利用命令
sudo -i
進入root模式使用vim進行配置:
vim /etc/apt/sources.list.d/gitlab-ce.list
- 根據你的版本,選擇對於的內容寫入/etc/apt/sources.list.d/gitlab-ce.list,詳見Gitlab Community Edition 鏡像使用幫助
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
安裝gitlab-ce
sudo apt-get update
sudo apt-get install gitlab-ce
執行配置
sudo gitlab-ctl reconfigure
啟動gitLab
sudo gitlab-ctl start
瀏覽器訪問
http://電腦的IP地址
或者
http://localhost
或者
http://127.0.0.1
- 第一次進入,需要輸入管理員賬號的密碼,以方便后期的管理。
- 輸入好之后,就可以以管理員進行登錄,賬號是root,密碼就是你剛才輸入的密碼。
- 至此,gitlab已安裝成功,之后的使用方式,和github沒有太大差異,就不進行介紹了。
調整防火牆規則
- 在配置GitLab之前,您需要確保防火牆規則足夠寬松以允許Web流量。如果您遵循先決條件中鏈接的指南,則將啟用ufw防火牆。
- 鍵入以下內容查看活動防火牆的當前狀態:
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
- 如您所見,當前規則允許SSH流量通過,但對其他服務的訪問受到限制。由於GitLab是一個Web應用程序,我們應該允許HTTP訪問。因為我們將利用GitLab從Let's Encrypt請求和啟用免費TLS / SSL證書的功能,所以我們也允許HTTPS訪問。
/etc/services
文件中提供了HTTP和HTTPS的端口映射協議,因此我們可以按名稱允許該流量。如果您尚未啟用OpenSSH流量,則現在也應該允許該流量:- 再次檢查
ufw status
; 您應該看到配置為至少這兩個服務的訪問權限:sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
上面的輸出表明配置應用程序后可以訪問GitLab Web界面。
拓展
修改gitlab的端口和地址
- 編輯gitlab.rd:
sudo gedit /etc/gitlab/gitlab.rb
- 修改external_url數據:
external_url 'http://gitlab.example.com'
,比如說修改為:external_url 'http://192.168.39.100:7800'
其中,192.168.39.100是安裝了gitlab的這台電腦的IP,端口只要不沖突就行 - 配置刷新:
sudo gitlab-ctl reconfigure
- 最后,在瀏覽器中訪問gitlab,發現已修改成功,需要使用
192.168.39.100:7800
來訪問
gitlab部分命令
- 停止:
sudo gitlab-ctl stop
- 開啟:
sudo gitlab-ctl start
- 重啟:
sudo gitlab-ctl restart
- 查看狀態:
sudo gitlab-ctl status
- 確認配置(修改后必須執行):
sudo gitlab-ctl reconfigure
- 查看日志:
sudo gitlab-ctl tail
- 查看gitlab版本:
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
卸載gitlab
sudo gitlab-ctl uninstall
sudo dpkg -r gitlab-ce
sudo rpm -e gitlab-ce
reboot(重啟)
遇到的問題:
- gitlab搭建提示:
Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details
解決:
修改 /etc/postfix/main.cf的設置
inet_protocols = ipv4
inet_interfaces = all