2021-05-12 14:32:11
GitLab 安裝設定筆記
GitLab的安裝方式
GitLab的兩種安裝方法:
- 編譯安裝
- 優點:可客製化性強。資料庫既可以選擇MySQL,也可以選擇PostgreSQL;伺服器既可以選擇Apache,也可以選擇Nginx。
- 缺點:國外的源不穩定,被牆時,依賴軟體包難以下載。設定流程繁瑣、複雜,容易出現各種各樣的問題。依賴關係多,不容易管理,解除安裝GitLab相對麻煩。
- 通過rpm包安裝
- 優點:安裝過程簡單,安裝速度快。採用rpm包安裝方式,安裝的軟體包便於管理。
- 缺點:資料庫預設採用PostgreSQL,伺服器預設採用Nginx,不容易客製化。
由於公司只配備了一台阿里雲伺服器,並且沒有分配任何的域名。該伺服器上需要執行版本控制軟體、bug管理軟體、知識庫等多套程式,只能採用ip的方式存取。原先採用GitLab+Apache+MySQL編譯安裝的方式,並且將GitLab設定為可通過xxx.xx.xxx.xx/gitlab
的形式存取,由於bug管理軟體(禪道)也執行於Apache之上,兩套軟體之間彼此有互斥的影響,找不到解決方法。同時,GitLab的註冊需要郵箱驗證,由於網上提供的設定方法都是基於域名的,在阿里雲上多次進行設定都無法正常使用。
因此,只能放棄編譯安裝的方式,而採取rpm包的方式重新進行安裝。
安裝GitLab CE Omnibus包
-
在linux終端下,使用
cat /etc/issue
命令查詢當前系統的發行版本,查詢到阿里雲所安裝的linux版本為CentOS release 6.6 (Final)。 -
進入gitlab官方網站,選擇對應的作業系統——CentOS 6 (and RedHat/Oracle/Scientific Linux 6),按照官方的提示進行安裝:
-
安裝設定必要的依賴
在Centos 6 和 7 中,以下的命令將會開啟HTTP和SSH在系統防火牆中的可存取許可權。
sudo yum install openssh-server sudo yum install postfix sudo yum install cronie sudo service postfix start sudo chkconfig postfix on sudo lokkit -s http -s ssh
-
下載Omnibus package包並安裝
curl -O https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm sudo rpm -i gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm
Note:由於amazonaws的伺服器被牆,下載這個包時可能需要翻牆下載。
-
設定並啟動GitLab
開啟/etc/gitlab/gitlab.rb
,將external_url = 'http://git.example.com'
修改為自己的IP地址:http://xxx.xx.xxx.xx
,,然後執行下面的命令,對GitLab進行編譯。sudo gitlab-ctl reconfigure
-
登入GitLab
Username: root Password: 5iveL!fe
-
設定GitLab的預設發信郵箱
- GitLab中使用
postfix
進行郵件傳送。因此,可以解除安裝系統中自帶的sendmail
。
使用yum list installed
檢視系統中是否存在sendmail
,若存在,則使用yum remove sendmail
指令進行解除安裝。 -
測試系統是否可以正常傳送郵件。
echo "Test mail from postfix" | mail -s "Test Postfix" xxx@xxx.com
註:上面的xxx@xxx.com為你希望收到郵件的郵箱地址。
當郵箱收到系統傳送來的郵件時,將系統的地址複製下來,如:
root@iZ23syflhhzZ.localdomain
,開啟/etc/gitlab/gitlab.rb
,將# gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
修改為
gitlab_rails['gitlab_email_from'] = 'root@iZ23syflhhzZ.localdomain'
儲存後,執行
sudo gitlab-ctl reconfigure
重新編譯GitLab。如果郵箱的過濾功能較強,請新增系統的發件地址到郵箱的白名單中,防止郵件被過濾。Note:系統中郵件傳送的紀錄檔可通過`tail /var/log/maillog`命令進行檢視。
安裝過程中出現的問題
-
在瀏覽器中存取GitLab出現
502
錯誤原因:記憶體不足。
解決辦法:檢查系統的虛擬記憶體是否隨機啟動了,如果系統無虛擬記憶體,則增加虛擬記憶體,再重新啟動系統。
-
80
埠衝突原因:Nginx預設使用了
80
埠。解決辦法:為了使Nginx與Apache能夠共存,並且為了簡化GitLab的URL地址,Nginx埠保持不變,修改Apache的埠為4040。這樣就可以直接用使用ip存取Gitlab。而禪道則可以使用
4040
埠進行存取,像這樣:xxx.xx.xxx.xx:4040/zentao
。具體修改的地方在/etc/httpd/conf/httpd.conf
這個檔案中,找到Listen 80
這一句並將之注釋掉,在底下新增一句Listen 4040
,儲存後執行service httpd restart
重新啟動apache服務即可。#Listen 80 Listen 4040
-
8080
埠衝突原因:由於unicorn預設使用的是
8080
埠。解決辦法:開啟
/etc/gitlab/gitlab.rb
,開啟# unicorn['port'] = 8080
的註釋,將8080
修改為9090
,儲存後執行sudo gitlab-ctl reconfigure
即可。 -
STMP設定
設定無效,暫時不知道原因。
-
GitLab頭像無法正常顯示
原因:gravatar被牆
解決辦法:
編輯/etc/gitlab/gitlab.rb
,將#gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
修改為:
gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
然後在命令列執行:
sudo gitlab-ctl reconfigure sudo gitlab-rake cache:clear RAILS_ENV=production
CentOS原始碼安裝GitLab漢化版 http://www.linuxidc.com/Linux/2015-10/124648.htm
在 Ubuntu 12.04 上安裝 GitLab http://www.linuxidc.com/Linux/2012-12/75249.htm
GitLab 5.3 升級注意事項 http://www.linuxidc.com/Linux/2013-06/86473.htm
在 CentOS 上部署 GitLab (自託管的Git專案倉庫) http://www.linuxidc.com/Linux/2013-06/85754.htm
在RHEL6/CentOS6/ScientificLinux6上安裝GitLab 6.0.2 http://www.linuxidc.com/Linux/2014-03/97831.htm
CentOS 6.5安裝GitLab教學及相關問題解決 http://www.linuxidc.com/Linux/2014-05/101526.htm
相關文章