1.流程描述見下圖所示:
2.創建gerrit用戶
sudo adduser gerrit
#給用戶添加sudo權限
chmod u+w /etc/sudoers
sudo vi /etc/sudoers
#在root ALL=(ALL) ALL添加下面一行
gerrit ALL=(ALL) ALL
su gerrit
3.安裝Gerrit需要裝有最低1.6版本的JDK。git。這裏不再描述如何安裝。
4.下載gerrit
https://gerrit-releases.storage.googleapis.com/gerrit-2.12.war
5.安裝Gerrit
java -jar gerrit-2.11.war init -d review_site
Location of Git repositories [git]: /home/gerrit/repositories
默認用h2的數據庫
Authentication method [OPENID/?]: http
其他選項在安裝後改配置文件。
/home/gerrit/review-gerrit/etc,這裏貼出gerrit.config文件:
[gerrit]
basePath = /home/gerrit/prj-source
canonicalWebUrl = http://192.168.1.6:10000
[database]
type = h2
database = db/ReviewDB
[auth]
type = HTTP
[sendemail]
smtpServer = localhost
[container]
user = root
javaHome = /usr/lib/jvm/java-6-openjdk-amd64/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:10000
6.Apache的反向代理
首先簡單描述一下反向代理的基礎:反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,
並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現爲一個反向代理服務器。
例如我們想通過PC瀏覽器去訪問http://192.168.1.6:9999,就是一個反向代理。在/home/gerrit/review-gerrit/etc/gerrit.config中,我們配置gerrit端口bind在10000,爲啥外部通過訪問端口9999,就可以打開gerrit的web頁面?
原因就是Apache的反向代理功能。那就開始配置Apache吧!
a.第一步,要在Apache上新增端口9999,用戶監聽網絡事件。修改配置文件/etc/apache2/ports.conf。
NameVirtualHost *:80
Listen 80
Listen 9999
b.第二步,增加反向代理的配置。/etc/apache2/sites-enabled/000-default
ServerName 192.168.1.6
ProxyPreserveHost On
ProxyRequests Off Order deny,allow
Allow from all
AuthType Basic
AuthName “Welcomme to Gerrit Code Review Site!”
Require valid-user
AuthUserFile /home/gerrit/review-gerrit/htpasswd.conf
ProxyPass / http://192.168.1.6:10000/
proxyPassReverse / http://127.0.0.1:10000/
c.完成以上配置,則成功。然後restart Apache和gerrit服務即可
/etc/init.d/apache2 start
/etc/init.d/apache2 restart
/etc/init.d/apache2 stop
sudo ./home/gerrit/reviwe_site/bin/gerrit.sh start
啓動apache出現錯誤:Invalid command ‘ProxyPreserveHost’ …… :
sudo a2enmod proxy_http
sudo a2enmod proxy
sudo service apache2 restart
7.然後在pc瀏覽器上輸入:http://localhost:9999/,則啓動gerrit
網上說用nginx更簡單,但我一直沒有成功,出現錯誤:
Configuration Error
Check the HTTP server’s authentication settings.
8.gerrit自啓動服務
添加/etc/default/gerritcodereview文件,其內容如下:
GERRIT_SITE=/home/gerrit/review_site
然後
# ln -sf /home/gerrit2/review/bin/gerrit.sh /etc/init.d/gerrit
# ln -sf /etc/init.d/gerrit /etc/rc3.d/S90gerrit
9.開啓gerrit服務器
$: ./review_site/bin/gerrit.sh start
如果提示發生如下錯誤:
** ERROR: GERRIT_SITE not set
則可按如下方法修改:
$: vim gerrit.sh
在GERRIT_SITE變量被賦值之後加入下面這行,改變該變量的值。
GERRIT_SITE=/home/gerrit/review_site
http://blog.csdn.net/coder80/article/details/48176559
http://blog.csdn.net/chenjh213/article/details/49304733
http://easy-develop.net/Apache/solved