GitLab的兩種安裝方法:
由於公司只配備了一台阿裡雲服務器,並且沒有分配任何的域名。該服務器上需要運行版本控制軟件、bug管理軟件、知識庫等多套程序,只能采用ip的方式訪問。原先采用GitLab+Apache+MySQL編譯安裝的方式,並且將GitLab配置為可通過xxx.xx.xxx.xx/gitlab
的形式訪問,由於bug管理軟件(禅道)也運行於Apache之上,兩套軟件之間彼此有互斥的影響,找不到解決方法。同時,GitLab的注冊需要郵箱驗證,由於網上提供的配置方法都是基於域名的,在阿裡雲上多次進行配置都無法正常使用。
因此,只能放棄編譯安裝的方式,而采取rpm包的方式重新進行安裝。
在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
postfix
進行郵件發送。因此,可以卸載系統中自帶的sendmail
。yum list installed
查看系統中是否存在sendmail
,若存在,則使用yum remove sendmail
指令進行卸載。測試系統是否可以正常發送郵件。
echo "Test mail from postfix" | mail -s "Test Postfix" [email protected]
注:上面的[email protected]為你希望收到郵件的郵箱地址。
當郵箱收到系統發送來的郵件時,將系統的地址復制下來,如:[email protected]
,打開/etc/gitlab/gitlab.rb
,將
# gitlab_rails['gitlab_email_from'] = '[email protected]'
修改為
gitlab_rails['gitlab_email_from'] = '[email protected]'
保存後,執行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
GitLab 的詳細介紹:請點這裡
GitLab 的下載地址:請點這裡