花了很久很久的時間再搞這東西,目前應該是比較熟練了,趕緊把東西筆記下來,免得日後又忘了。其實網路上也有很多教學文章,不過我也是看了很多篇,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 的方式,若有想到其他要補充的,日後再補充。
留言列表