由於需要使用到gerrit,因此必須要搭建gerrit的環境,接下來我來記錄一下自己搭建gerrit環境的過程以及注意的一些問題。
gerrit的環境我使用的是jdk1.7、apache2.4、gerrit(數據庫使用的是H2,用起來比較方便):
一、jdk1.7的安裝
1.在root權限下執行命令:yum install -y jdk 或者下載一個jdk.rpm版本,然後執行命令:rpm -ivh jdk.rpm
2.安裝完成以後輸入命令:java -version 會出現如下版本信息
二、apache的安裝
1.在red hat6下安裝apache的時候,我是採取的最簡單的方式,先下載apache的.tar.gz壓縮包,然後直接解壓使用即可(注意:red hat可以識別.tar.gz和.rpm壓縮包,其他的不清楚,對於壓縮包,可以記住目錄,然後通過命令來進行解壓)。
2.我是將apache目錄放在了/tmp/apache/目錄下,以下我以自己的目錄來進行說明。進入/tmp/bin/目錄下,執行命令./start.sh ,出現如下界面表示安裝成功。
3.關閉apache:在當前目錄下執行命令:./shutdown.sh
*當配置apache的時候,有時候會出現啓動失敗等情況,可以在/tmp/apache/logs/catalina.out中查看錯誤日誌。一般情況下,apache的配置文件在/etc/httpd/目錄下。
三、gerrit的安裝
1.在官網上下載gerrit.war(選擇版本然後改成這個名字)
2.將gerrit.war放在自己經常用的目錄下,然後進入該目錄,執行命令
java -jar gerrit.war init -d /usr/gerrit
這表示我的gerrit的安裝路徑是/usr/gerrit
3.然後會出現一連串的要求你驗證的界面,直接回車,當到`Download and install it now [Y/n]? 的時候,選擇n,其餘的一直回車,配置文件接下來會進行說明。
4.當顯示成功的時候,進入/usr/gerrit/bin目錄中,執行命令
./gerrit.sh start
(這表示開啓gerrit),如果顯示code review :OK,表示gerrit安裝成功,否則的話,進入/usr/gerrit/logs/目錄下查看錯誤信息。
四、gerrit和apache之間的配置
1.配置gerrit.config:
cd /usr/gerrit/etc/ #進入gerrit的etc目錄
sudo vim gerrit.config #輸入自己的root密碼,然後修改gerrit.config文件
2.gerrit.config配置文件:
[gerrit]
basePath = git
canonicalWebUrl = http://localhost:8080/gerrit
[database]
type = h2 #這裏表示使用H2內嵌數據庫,需要用其他的再自行修改
database = db/ReviewDB
[auth]
type = HTTP #驗證方式使用Http反向代理驗證
[sendemail] #以下都是配置自己的郵箱信息,自行填寫
smtpServer =
smtpUser =
smtpPass =
from =
[container]
user = root
javaHome = /usr/java/jdk1.7.0_79/jre
[sshd]
listenAddress = *:29418 #這個不能修改
[httpd]
listenUrl = http://*:8080/
[cache]
directory = cache
3.當配置完gerrit.config文件以後,我們需要配置apache的文件,首先進入apache的配置目錄:
cd /etc/httpd/conf or cd /etc/httpd/conf.d
我們可以在conf目錄下修改http.conf文件,加上需要的一些配置信息,也可以在conf.d目錄下修改任何.conf文件,具體原因可以查看conf.d目錄下的readme文件,conf.d目錄下的.conf文件都會在http.conf文件執行之後執行,所以任意修改一個文件就行了
4.我是在welcome.conf文件中修改的,接下來貼上我增加的代碼部分:
#以下是我增加的http反向代理的部分
<VirtualHost *:80>
ServerName localhost
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /gerrit/login/>
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthUserFile /etc/httpd/conf/gerrit.passwd
</Location>
AllowEncodedSlashes On
ProxyPass /gerrit/ http://localhost:8080/gerrit/
ProxyPassReverse /gerrit/ http://localhost:8080/gerrit/
</VirtualHost>
#這裏配置的gerrit和apache的端口號都是8080,不過沒關係,因爲我們不需要開啓gerrit,所以不衝突
5.生成AuthUserFile,這個需要我們在apache的bin目錄下執行以下命令:
htpasswd -cmb gerrit.passwd ab 123456789
表示在當前文件生成用戶名爲ab,密碼爲123456789的gerrit.passwd文件,然後再將該文件的路徑填入welcome.conf配置文件中。
6.執行以下命令:
service httpd start
如果是正常運行的話,表示配置成功,接着打開瀏覽器,輸入http://127.0.0.1/gerrit/login,會到gerrit的界面。
7.以上就是我配置gerrit的過程。