所以本文中我想做的是從源代碼安裝gitlab,而不安裝傻瓜包。
Gitlab官方有壹個描述文檔:/ce/install/installation.html,本文基本遵循這個文檔。不同的是,本文使用的是apache,而不是nginx。
安裝步驟如下:
1.從屬包
2.紅寶石
3.用戶創建
4.數據庫初始化
5.雷迪斯
6.gitlab源代碼
7.街頭流氓
本文可能會用到VPN連接,在命令行創建VPN連接的方法如下:
sudo apt-get安裝pptp-linux
Sudo pptpsetup -創建VPN名稱-服務器服務器地址-用戶名-密碼密碼[[ -加密] -開始
上述命令將創建壹個設備。如果沒有其它撥號設備,此設備將是ppp0。您可以在ifconfig中看到“- encrypt”選項是可選的,因為有些服務器不支持它,並且會提示您需要MPPE,但對等協商失敗。創建時,可以用“- start”選項查看連接情況。
重新啟動後,pptpsetup創建的VPN連接將無效。如果您想要刪除VPN連接而不重新啟動:
Sudo pptpsetup -刪除VPN名稱
創建VPN連接後,需要將其啟用並添加到路由列表中:
Sudo pon VPN名稱
sudo路由添加默認開發ppp0
通過以下方式禁用VPN連接:
Sudo poff VPN名稱
讓我們開始正文:
1.從屬包
我安裝了ubuntu server 14.04。安裝時可以選擇是否安裝LAMP(Linux+Apache+MySQL+PHP)。如果沒有,您可以使用以下命令安裝它:
sudo tasksel安裝燈-服務器
安裝時會提示輸入MySQL的root密碼,下面會用到。
接下來是依賴性:
sudo apt-get install flex bison ruby build-essential zlib 1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses 5-dev libffi-dev curl OpenSSH-server redis-server check install libxml 2-dev libxslt-dev libcurl 4-OpenSSL-dev libicu-dev log rotate python-docutils pkg-config cmake libkrb 5-dev nodejs git-core
註意:裏面安裝了ruby,應該是版本1.9.1。gitlab需要2.0以上的ruby,但是安裝2.0以上的ruby需要較低版本的ruby,所以先安裝後卸載吧。另外,ubuntu 14.04的軟件庫中有ruby 2.0,但是無法用於實際測量,我們就從源碼開始安裝ruby吧。
2.紅寶石
下載,編譯,安裝(安裝前刪除ruby 1.9.1):
curl-L-progress/ce/install/database _ MySQL . html
sudo apt-get install-y MySQL-server MySQL-client libmysql client-dev
mysql -u root -p
輸入MySQL的root密碼進行登錄,然後:
mysql & gt創建由“$password”標識的用戶“git”@“localhost”;
請記住將上面句子中的“$password”替換為實際的密碼,然後:
mysql & gtSET storage _ engine = INNODB
mysql & gt如果不存在,則創建數據庫` gitlabhq_production `默認字符集` utf8` COLLATE `utf8_unicode_ci `;
mysql & gtGRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,LOCK TABLES ON ' git labhq _ production'。* TO ' git ' @ ' localhost
mysql & gt\q
5.雷迪斯
Redis好像是存儲密鑰的數據庫,不知道,反正壹步壹步安裝:
安裝redis-server
sudo CP/etc/redis/redis . conf/etc/redis/redis . conf . orig
塞德·'s/^port。*/port 0/'/etc/redis/redis . conf . orig | sudo tee/etc/redis/redis . conf
echo ' UNIX socket/var/run/redis/redis . sock ' | sudo tee-a/etc/redis/redis . conf
echo ' unixsocketperm 770 ' | sudo tee-a/etc/redis/redis . conf
sudo服務redis-服務器重啟
sudo usermod -aG redis git
6.gitlab源代碼
Gitlab源代碼默認安裝在/home/git/gitlab中。如果要改,請參考官方手冊。獲取中文源代碼的過程如下:
cd /home/git
sudo-u git-H git clone/Larry Li/git lab . git
不知道是因為GFW還是什麽?git克隆的版本庫可以慢也可以慢。我用VPN,速度會更快。
git克隆完成後,您可以簽出您想要的版本。在寫這篇文章的時候(2065438+2005年4月22日),妳可以:
sudo-u git-H git check 7-7-zh
然後配置源代碼
cd /home/git/gitlab
sudo-u git-H CP config/gitlab . yml . example config/gitlab . yml
sudo chown -R git日誌/
sudo chown -R git tmp/
sudo chmod -R u+rwX,go-w log/
sudo chmod -R u+rwX tmp/
sudo-u git-H mkdir/home/git/git lab-衛星
sudo chmod u+rwx,g=rx,o-rwx/home/git/git lab-satellites
sudo chmod -R u+rwX tmp/pids/
sudo chmod -R u+rwX tmp/sockets/
sudo chmod -R u+rwX公共/上傳
sudo-u git-H CP config/unicorn . Rb . example config/unicorn . Rb
sudo-u git-H CP config/initializer/rack _ attack . Rb . example config/initializer/rack _ attack . Rb
sudo -u git -H git config -全局用戶名" GitLab "
sudo-u git-H git config-global user . email " example @ example . com "
sudo-u git-H git config-global core . auto crlf輸入
sudo-u git-H CP config/resque . yml . example config/resque . yml
當然,妳可以把example@example.com改成妳的郵箱;;上面yml文件中的配置基本不需要改動;然後,配置數據庫用戶名和密碼:
sudo-u git CP config/database . yml . MySQL config/database . yml
sudo -u git -H編輯器config/database.yml
sudo-u git-H chmod o-rwx config/database . yml
然後,安裝gems:
sudo -u git -H bundle安裝-部署-無需開發測試postgres aws
這壹步壹定要用VPN,因為萬惡的GFW屏蔽了rubygems.org,所以會提示連接被peer重置等等,需要很長時間。如果您的機器是多核的,您還可以添加與make相同的-jN參數,其中n等於內核的數量。
(2015年5月2日補充)
發現淘寶做了壹個rubygrems.org的國內鏡像,pile RAILS_ENV=production。
啟動gitlab服務:
sudo服務gitlab啟動
7.街頭流氓
下載apache配置文件:/git lab-org/git lab-recipes/blob/master/we b-server/Apache/git lab-Apache 2.4 . conf。
把“ProxyPassReverse”放進去
/”更改為“ProxyPassReverse”
/git lab-org/git lab-recipes/raw/master/we b-server/Apache/git lab-Apache 2.4 . conf
mv git lab-Apache 2.4 . conf 001-git lab . conf
Editor 001-gitlab.conf(進行上述修改)
sudo CP 001-git lab . conf/etc/Apache 2/sites-可用
CD/etc/Apache 2/sites-啟用
sudo rm 000-default.conf
sudo ln -s../sites-available/001-gitlab . conf 001-gitlab . conf
另外,需要啟用代理模塊實現反向代理功能,否則會提示“ProxyPassReverse”無效。
CD/etc/Apache 2/MODS-已啟用
sudo ln -s../MODS-可用/proxy.conf proxy.conf
sudo ln -s../MODS-available/proxy . load proxy . load
sudo ln -s../MODS-available/proxy _connect.load代理_ connect . load
sudo ln -s../MODS-available/proxy _ http . load proxy _ http . load
sudo ln -s../MODS-可用/rewrite.load rewrite.load
重新啟動apache:
sudo服務apache2重新啟動
然後,檢查配置是否正確:
sudo-u git-H bundle exec rake git lab:check RAILS _ ENV = production
如果所有的結果都是綠色的,妳可以訪問它們。登錄用戶名:root,初始密碼:5iveL!(英國)繼續教育
最後配置郵件,修改/home/git/git lab/config/git lab . yml,其中“email_from:”是有效的郵件地址;修改/home/git/git lab/config/environments/production . Rb,其中" config . action _ mailer . delivery _ method = " is ":SMTP ";最後:
CD/home/git/git lab/config/initializer
sudo-u git-H CP SMTP _ settings . Rb . sample SMTP _ settings . Rb
然後正確修改文件的內容,然後重新啟動gitlab服務:
sudo服務gitlab重新啟動