準備工作
如果是搭建到遠程服務器上,還需要遠程連接到Linux,我這裏用的是PuTTY
安裝和配置相關軟件
安裝curl、policycoreutils-python、openssh-server等軟件並配置防火牆放開SSH、HTTP、HTTPS的權限
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
然後安裝Postfix,用於GitLab發送一些通知郵件,比如註冊新用戶或者修改用戶密碼的通知郵件,也可以跳過這一步,等GitLab安裝完成後再配置其他的郵件服務器
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
安裝
首先配置GitLab安裝包的倉庫地址,待會的安裝會從該地址下載安裝包
這裏補充說明下,GitLab有兩個版本,一個是社區開源版,一個是企業版。這裏配置下載的是企業版,企業版包含社區辦的所有功能,還包含一些高級的付費功能,需另外購買激活碼。安裝企業版的好處是若有一天想升級到付費吧可以直接購買激活碼升級而無需重新安裝
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
開始安裝,其中EXTERNAL_URL設置的值是GitLab搭建起來後訪問的地址,將https://gitlab.example.com替換成你自己配置的域名即可
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee
若無域名,可以直接設置爲服務器的地址加開放的端口號,假設我的服務器地址是1.2.3.4,端口號是8090
sudo EXTERNAL_URL="http://1.2.3.4:8090" yum install -y gitlab-ee
或者不設置EXTERNAL_URL,等安裝完成後通過vim /etc/gitlab/gitlab.rb進入配置文件配置
sudo yum install -y gitlab-ee
關於配置EXTERNAL_URL,請參考這篇文章Configuring the external URL for GitLab
external_url "http://1.2.3.4:8090"
開放防火牆端口
GitLab默認的端口爲8080,我們上面配置了8090,別忘了配置防火牆放開該端口,配置的端口也不要被其他程序佔用
firewall-cmd --permanent --add-port=8090/tcp //新增端口開放,如果不設置--permanent則系統重啓後失效
firewall-cmd --reload //新增端口開放後都要運行
遇到的坑
成功運行GitLab前還填了一些坑,總結到其他文章中,如下所示
-
CentOS 7搭建GitLab服務器踩坑——解決Whoops, GitLab is taking too much time to respond 502 錯誤
-
CentOS 7搭建GitLab服務器踩坑——解決nginx 400 Bad Request Request Header Or Cookie Too Large問題
開啓和停止服務
正常情況下以上步驟安裝完就可以直接瀏覽器訪問打開GitLab了,服務會在服務器啓動的時候自動運行
我們也可以通過以下方式手動開啓和停止服務
# Start all GitLab components
sudo gitlab-ctl start
# Stop all GitLab components
sudo gitlab-ctl stop
# Restart all GitLab components
sudo gitlab-ctl restart
訪問
在瀏覽器輸入你配置的訪問地址直接訪問,比如我配置的http://1.2.3.4:8090
第一次訪問會跳轉到如下頁面配置管理員賬號root的密碼,配置完就可以通過root賬號登錄
登錄後我們可以創建賬號、創建項目,GitLab還有很多功能等着你去探索,但是不在本文的討論範圍