Ubuntu下安裝Gerrit

目標java

配置Gerrit使用mysql數據庫(緣由:本人比較熟悉mysql)mysql

使用http受權模式,使用apache反向代理。git

SMTP使用163的我的郵箱sql

軟件版本數據庫

Ubuntu 12.04apache

Gerrit 2.4.1ssh

Apache 2.2.22ide

Mysql 5.5.24ui

下面好戲開始了spa

相信各位安裝mysql和apache,都能搞定,sudo apt-get,完了。

配置數據庫:

   
CREATE USER ' gerrit2 ' @ ' localhost ' IDENTIFIED BY ' secret ' ; CREATE DATABASE reviewdb; ALTER DATABASE reviewdb charset = latin1; GRANT ALL ON reviewdb. * TO ' gerrit2 ' @ ' localhost ' ; FLUSH PRIVILEGES ;

這是從官方文檔獲得的代碼,其中我沒有使用alter database reviewdb charset=latin1;這條語句。網上有資料說utf8會沒法安裝,但俺沒遇到。

但gerrit對中文的支持確實很差,因此你們儘可能用英文吧。

 

安裝Gerrit

java -jar gerrit-$version-rc1.war init -d review_site 

而後一路回車就行,本人比較喜歡本身修改配置文件。

vi review_sit/etc/gerrit.config

  
[gerrit] basePath = git canonicalWebUrl = 192.168 . 1.254 : 8081 [database] type = MYSQL hostname = localhost database = reviewdb username = gerrit2 [auth] type = HTTP [sendemail] smtpServer = smtp. 163 .com smtpUser = wangconglin87@ 163 .com from = wangconglin87@ 163 .com [container] user = gerrit2 javaHome = / opt / jdk1. 7 .0_05 / jre [sshd] listenAddress = 192.168 . 1.254 : 29418 [httpd] listenUrl = proxy - http: // 192.168.1.254:8081 [cache] directory = cache

而後vi review_sit/etc/gerrit.config,下面的mima表明你的密碼

[database]
        password = mima  //數據庫用戶gerrit2的密碼
[sendemail]
        smtpPass = mima  //你郵箱的密碼

而後配置apche

將/etc/apache2/sites-enabled目錄下的文件都刪除,(我是全新安裝的)。

爲何刪除,由於當我安裝資料配置好之後,出現有時候能正常運行,有時候不能運行。讓我鬱悶了很長時間。這裏面有一個默認的虛擬主機。

而後再/etc/apache2/sites-enabled目錄下,vi proxy-gerrit,而後輸入:

   
< VirtualHost * : 80 > ServerName a.wangconglin.cn 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 / home / gerrit2 / passwords </ Location > ProxyPass / http: // 192.168.1.254:8081/ ProxyPassReverse / http: // 192.168.1.254:8081/ </ VirtualHost >

上面的AuthUserFile /home/gerrit2/passwords,生成示例命令以下:

htpassword /home/gerrit2/passwords [username]

 

運行Gerrit:

/home/gerrit2/review_site/bin/gerrit.sh start -d /home/gerrit2/review_site

 

使用git push前,gerrit不容許直接覆蓋git代碼庫中的任何分支,而是將變動推送到另外一個refspce中。

git config remote.origin.push refs/heads/*:refs/for/*
git push origin

不過,還有一個問題沒有解決:登錄後會陷入一個重定向的死循環,再次輸入地址後就能登錄成功。我對apache的反向代理有些頭痛。但願高手指點迷津。

本人第二次寫博客,寫的很差,見諒。

相關文章
相關標籤/搜索