ubuntu搭建Gerrit代碼審覈服務器

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章