花了很久很久的時間再搞這東西,目前應該是比較熟練了,趕緊把東西筆記下來,免得日後又忘了。其實網路上也有很多教學文章,不過我也是看了很多篇,Trial and error 了許久,總算把這些哩哩扣扣得資訊整理起來。

參考網站:http://my.oschina.net/wangconglin87/blog/62789
先前作業
1. 安裝 Apacpe HTTP Server
$ sudo apt-get install apache2

1.1 ===== [補充] 若 Apache2 沒有 proxy mod,為 Apache2 安裝 Proxy 模組 =====
$ sudo apt-get install libapache2-mod-proxy-html
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo /etc/init.d/apache2 restart

1.2 設定之後要給 Gerrit Server 使用的 port,這裡是讓 apache 監聽 port 8888,再導向 Gerrit Server 使用的 port 28888,不要問我為什麼要多作一次轉換,我也不曉得有什麼好處,不過前人這麼用,就跟著用了
$ cd /etc/apache2/sites-available/
$ sudo vim gerrit.8888.conf

改好後,再到 sites-enabled 將設定檔 link 過去
$ cd ../sites-enabled
$ sudo ln -s ../sites-avaiable/gerrit.8888.conf

##### /etc/apache2/sites-available/gerrit.8888.conf #####

NameVirtualHost *:8888
Listen 8888
<VirtualHost *:8888>
  ServerName *你的 Server IP*

  ProxyRequests Off
  ProxyVia Off
  ProxyPreserveHost On

 <Proxy *>
  Order deny,allow
  Allow from all
 </Proxy>

 <Location /login/>
  AuthType Basic
  AuthName "Gerrit Code Review"
  Require valid-user
  AuthBasicProvider file
  AuthUserFile /etc/apache2/http-passwd
 </Location>

  ProxyPass / http://*你的 Server IP*:28888/
</VirtualHost>

1.3 增加 HTTP 認證用帳號密碼
$ sudo htpasswd -c /etc/apache2/http-passwd 登入帳號

2. 安裝 MySQL (因為找到的教學文是用 mysql )
$ sudo apt-get install mysql-server

3. 下載 Gerrit 檔案,我下載的檔案為 gerrit-full-2.5.war
http://code.google.com/p/gerrit/downloads/list

4. 配製要給 Gerrit Server 使用的資料庫
4.1 使用 mysql 的 root 帳號登入操作
$ mysql -u root -p
按 enter 後,請輸入 root 密碼

4.2 建立使用者(名稱 gerrit2,密碼 secret ),日後新增 Gerrit Server,就都使用這個帳號吧!
mysql> CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'secret';

4.3 建立資料庫 reviewdb
mysql> CREATE DATABASE reviewdb;

4.4 將語系改為 latin1 ,不過 gerrit 對中文支援不好,之後下註解的時候還是用英文吧
mysql> ALTER DATABASE reviewdb charset=latin1;

4.5 將 reviewdb 資料庫授權給剛剛建立的使用者 gerrit2
mysql> GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';

4.6 強迫更新權限
mysql> FLUSH PRIVILEGES;

準備安裝 Gerrit Server,目錄名稱 my_gerrit
1. 解開 gerrit 檔案到目錄下
$ java -jar gerrit-full-2.5.war init -d my_gerrit

2. 設定值部份,大多按 enter 採用預設值,大概就資料庫設定需換成 Mysql,以及輸入 gerrit2 的密碼 secret ,等結束再來修改設定值並重起 gerrit 就好
$ cd my_gerrit
$ vim etc/gerrit.config

[gerrit]
    basePath = git
    canonicalWebUrl = http://*你的server IP*:28888/
[database]
    type = MYSQL
    hostname = localhost
    database = reviewdb
    username = gerrit2
[auth]
    type = HTTP
    logoutUrl = http://*你的server IP*/
[sendemail]
    smtpServer = localhost
[container]
    user = 你的帳號名稱
    javaHome = /usr/lib/jvm/java-6-openjdk/jre
[sshd]
    listenAddress = *:29418
[httpd]
    listenUrl = http://*:28888/
[cache]
    directory = cache

3. 重起 Gerrit
~my_gerrit$ bin/gerrit.sh restart

成功重新啟動訊息為:
Stopping Gerrit Code Review: OK
Starting Gerrit Code Review: OK
如果有出現Fail的情況,就只能去找 log 出來看,然後問問 google 大神
~my_gerrit$ vim logs/error_log



  以上大概為再 Ubuntu 上架設 Gerrit 的方式,若有想到其他要補充的,日後再補充。
創作者介紹

每天都有新鮮事

soarlin 發表在 痞客邦 PIXNET 留言(0) 人氣()