終於在ubuntu-12.04.5-desktop-amd64下把apache2,git,gerrit配置成功。(amd64代表64位版,i386是32位版的,推薦安裝64位版的,後面的jdk版本需要與系統版本一致,否則無法安裝)
git是分佈式版本控制工具。
gerrit是代碼審覈工具,當然也包括了一套權限系統(google發明的?),git向遠程倉庫的refs/for/*分支提交代碼時會先經過gerrit,審覈通過後纔會提交到ref/head/*分支。
mysql爲gerrit提供數據庫支持。也可以使用H2
apache2在這裏的主要是爲了配合gerrit的賬戶認證,提供反向代理功能。
1、首先安裝VMware 10,推薦安裝在虛擬機中。
2、在虛擬機中安裝 ubuntu 12.04 。
具體步驟百度一下 (注意下圖3D圖形不要點,不然重啓後黑屏!我因爲這個搞了半天。。。。)
3、安裝完ubuntu後安裝 VMware tools http://jingyan.baidu.com/article/1974b289b813dcf4b1f77411.html
4、在ubuntu中配置jdk!方便下面的安裝gerrit
下載相應版本的jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
拖到虛擬機中,備用
獲取root權限 dell@dell-virtual-machine:~$ sudo su
輸入你設置的用戶密碼
ok!
jdk的安裝文件放在 /home/dell/ 目錄下,執行下面安裝jdk
root@dell-virtual-machine:/home/dell# sudo tar -zxvf ./jdk-7u75-linux-x64.tar.gz -C /usr/lib/jvm
執行如下圖
接着
修改配置文件,
在最後加入環境變量,保存後退出
環境變量更改後,在用戶下次登陸時生效,如果想立刻生效,則可執行下面的語句:
$ source /etc/profile
否則重啓一下
接着驗證jdk配置是否成功
java -version
看到如下:
5、安裝git、mysql、apache2
apt-get install git
測試安裝成功
輸入git 會輸出信息
apt-get install apache2
接下來配置好apache2就行了。測試apahce2安裝成功可以通過瀏覽器訪問http://127.0.0.1/顯示it works 就是按好了,apahce2的默 認端口是80,apache2的具體配置後面再說!
安裝過程中遇到任何與apache2無法進入這個頁面的問題都可以通過重新安裝apache2來解決!
說明:apache2安裝好以後默認的工作目錄在/var/www/下。配置目錄在/etc/apache2下。
啓動apache2:/etc/init.d/apache2 start
停止apache2:/etc/init.d/apache2 stop
啓動mysql:/etc/init.d/mysql start
停在mysql:/etc/init.d/mysql stop
mysql安裝好以後是默認開機啓動的。
首先配置數據庫。。。。。。我使用的是h2,也可以使用其他數據庫
6、安裝gerrit
網上找到的gerrit 2.9 下載鏈接
http://dldx.csdn.net/fd.php?i=916677371012207&s=7b88e491b1ae70bb604650ba62a6bc90
下載完成放到 /home/dell/ 下備用
java -jar /home/dell/gerrit-2.9.war init -d /home/dell/review_site
一路Y, Authentication method 選擇 http!
安裝成功會自動彈出瀏覽器
這個圖是Authentication method 設置爲OPENID 的頁面 設置爲http會彈出 用戶認證界面,輸入用戶名密碼。
至此開始配置,也是比較重要的一步!
先來配置gerrit.config(也可以直接進入目錄修改)
sudo gedit /home/dell/gerrt_sites/etc/gerrit.config (目錄是你自己安裝的目錄)
這是我的設置
下面配置apache
sudo gedit /etc/apache2/ports.conf
然後在/etc/apache2/httpd.conf中加入下面的內容(什麼?httpd.conf是空的?不要覺得奇怪,原始的httpd.conf本來就是個空文件)
配置完成後保存退出!
這是我的配置
這裏需要注意的是2個地方,一是AuthUserFile /home/xx/review_site/etc/passwd,這個路徑是指向的那個密碼文件。此文件通過命令生成
設置第一個gerrit用戶的帳號和密碼
touch ./review_site/etc/passwd
htpasswd -b ./review_site/etc/passwd gerritUser1 123456789
(後續再添加gerrit用戶可使用: htpasswd -b ./review_site/etc/passwd UserName PassWord )
這裏的個 gerritUser1 就是以後用來登錄gerrit的用戶名。以後要爲gerirt增加用戶,也需要通過htpasswd命令在此passwd文件中添加用戶
二是ProxyPass / http://127.0.0.1:8080/,這裏的配置必須和/home/dell/review_site/etc/gerrit.config文件裏面的
Java代碼
[httpd]
listenUrl = proxy-http://127.0.0.1:8080/
到此重啓 apache 和 gerrit
/etc/init.d/apache2 restart
/home/dell/review_site/bin/gerrit.sh restart
打開瀏覽器進入127.0.0.1 進入用戶驗證界面,驗證成功跳轉到127.0.0.1:8080 如下圖
隨便輸入個名字保存ok,第一個登錄的用戶默認是管理員
至此就基本安裝成功了。。。。。
下面來配置gerrit公鑰
ssh -p 29418 [email protected]
提示Permission denied (publickey).
缺少公鑰配置。
執行
ssh-keygen -t rsa
生成公鑰,查看
cat ~/.ssh/id_rsa.pub
將個公鑰添加到gerrit中。
進入http://127.0.0.1:8080/,點擊右上角setting,點左側欄SSH Public Keys
再點擊又邊的add key,將公鑰複製到裏面,點擊add提交。
這裏需要注意的是需要複製的字符串是包括cat ~/.ssh/id_rsa.pub命令打印出來的所有內容,即開頭的ssh-sha和結尾的xx@xxx也要一起復制
再次執行
ssh -p 29418 [email protected]
看到welcome就代表你已經配置完成了!
執行
ssh -p 29418 [email protected] gerrit create-project -n test_project
添加一個項目。
在webUI就可以看到此項目了
好了,就寫到這兒了,可能還有錯誤,可以百度一下。