1,建立gerrit账户(S)

sudo adduser gerrit
        sudo passwd gerrit
        su gerrit

2,配置java环境

oracle官网下载对应平台的jdk并安装,这里我下载:jdk-7u45-linux-i586.tar.gz

使用下面命令安装:

 

sudo tar zxvf ./jdk-7u45-linux-i586.tar.gz -C /opt
然后配置环境变量:
vim ~/.bashrc
添加如下内容:
JAVA_HOME=/opt/jdk1.7.0_45
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

3,下载gerrit(S)

这里我直接在百度搜的某个固定版本,gerrit的war包,通常包名为gerrit-xxx.war

,xxx为版本号,这里我下载gerrit-2.11.war

4,安装gerrit

java -jar gerrit-2.11.war init -d review_site

基本上一路回车就可以,注意其中身份验证时输入http,此认证方式需要配置apache的反向代理,并在apache中配置web站点的口令认证,通过口令认证后gerrit在创建账号的过程中会询问用户的邮件地址并发送邮件。gerrit数据库选择默认H2即可,

Behind reverse proxy           [y/N]? y

这里配置反向代理,选择y

5,建立存放代码的目录

   

mkdir ~/GerritSrc

6,配置gerrit

vim review_site/etc/gerrit.config
[gerrit]                                                                                                                        
     basePath = git
     canonicalWebUrl = http://192.168.1.252:8081/
[database]
     type = h2
     database = db/ReviewDB
[index]
     type = LUCENE
[auth]
     type = HTTP
[sendemail]
     smtpServer = smtp.exmail.qq.com
     smtpServerPort = 465
     smtpEncryption = SSL
     smtpUser = hanmeng@sykean.com
     smtpPass = Sunny1214
     from = hanmeng@sykean.com
[container]
     user = gerrit
     javaHome = /opt/jdk1.7.0_45/jre
[sshd]
     listenAddress = *:29418
[httpd]
     listenUrl = proxy-http://*:8081/
[cache]
     directory = cache

7,安装apache2服务器

sudo apt-get install --reinstall apache2  apache2.2-common

8,配置apache2服务器

8.1、开启代理功能、复写功能

cd /etc/apache2/mods-enabled
 ln -s ../mods-available/proxy.load 
 ln -s ../mods-available/proxy.conf
 ln -s ../mods-available/proxy_http.load
 ln -s ../mods-available/proxy_balancer.conf
 ln -s ../mods-available/proxy_balancer.load
 ln -s ../mods-available/rewrite.load
 ln -s ../mods-available/ssl.conf
 ln -s ../mods-available/ssl.load

8.2、配置apache2的监听端口

vim /etc/apache2/port.conf
NameVirtualHost *:80
NameVirtualHost *:8080 //添加
Listen 80
Listen 8080 //添加

8.3、配置反向代理

sudo vim /etc/apache2/httpd.conf
<VirtualHost *:8080>                                                                                                            
     ServerName 192.168.1.252
     ProxyRequests Off
     ProxyVia Off
     ProxyPreserveHost On
     AllowEncodedSlashes On
     RewriteEngine On
     RewriteRule ^/(.*) http://192.168.1.252:8081/$1 [NE,P]
     <Proxy *>
         Order deny,allow  
         Allow from all
     </Proxy>
     <Location /login/>
         AuthType Basic
         AuthName "Gerrit Code Review"
         Require valid-user
         AuthBasicProvider file
         AuthUserFile /home/gerrit/review_site/etc/passwd
     </Location>
     ProxyPass / http://192.168.1.252:8081/
</VirtualHost>

8.4、主机配置文件中加入httpd.conf,使其生效

sudo vim /etc/apache2/apache2.conf

加入include httpd.conf 如果有就不用加了

8.5,设置第一个gerrit用户的账号和密码

touch ./review_site/etc/passwd
htpasswd -b ./review_site/etc/passwd admin admin
(后续再添加gerrit用户可使用: $: htpasswd -b ./review_site/etc/passwd UserName PassWord )

9,开启gerrit服务器

./review_site/bin/gerrit.sh start

10,重启apache2服务器

sudo /etc/init.d/apache2 restart

11,访问http://192.168.1.252:8080/,用刚才创建的admin用户登录,系统自动会将该用户注册为gerrit的账户。(注:第一个登陆的用户自动注册为管理员(gerrit账号ID为1000000的账户))

注意:用htpasswd命令创建HTTP认证时,并没有在gerrit数据库中创建账号信息,当登陆成功后,gerrit会自动创建同名的gerrit用户。如果在htpasswd命令创建的账号之前,gerrit数据库中已经存在同名的gerrit用户(如:通过直接操作数据库添加的),那么web登录时,不会将htpasswd命令创建的账号和gerrit数据库中同名用户关联起来,而是自动新创建一个gerrit用户与之关联(即一个新的gerrit用户ID),而且会要求你手动输入gerrit用户名。

gerrit网页端配置:

1:登录,浏览器输入192.168.1.252:8080回车验证身份

gerrit新加一个仓库 gerrit创建项目_apache

2:账户信息配置,点击右上角Settings

gerrit新加一个仓库 gerrit创建项目_gerrit新加一个仓库_02

 

gerrit新加一个仓库 gerrit创建项目_gerrit新加一个仓库_03

 

Contact Information配置全名和邮箱,全名会在界面右上角显示,邮箱用户后续操作中的提示。

添加个人公钥:

gerrit新加一个仓库 gerrit创建项目_apache_04

创建项目:

gerrit新加一个仓库 gerrit创建项目_gerrit新加一个仓库_05

 

gerrit新加一个仓库 gerrit创建项目_git_06

 

gerrit新加一个仓库 gerrit创建项目_svn_07