由于需要使用到gerrit,因此必须要搭建gerrit的环境,接下来我来记录一下自己搭建gerrit环境的过程以及注意的一些问题。
gerrit的环境我使用的是jdk1.7、apache2.4、gerrit(数据库使用的是H2,用起来比较方便):
一、jdk1.7的安装
1.在root权限下执行命令:yum install -y jdk 或者下载一个jdk.rpm版本,然后执行命令:rpm -ivh jdk.rpm
2.安装完成以后输入命令:java -version 会出现如下版本信息
二、apache的安装
1.在red hat6下安装apache的时候,我是采取的最简单的方式,先下载apache的.tar.gz压缩包,然后直接解压使用即可(注意:red hat可以识别.tar.gz和.rpm压缩包,其他的不清楚,对于压缩包,可以记住目录,然后通过命令来进行解压)。
2.我是将apache目录放在了/tmp/apache/目录下,以下我以自己的目录来进行说明。进入/tmp/bin/目录下,执行命令./start.sh ,出现如下界面表示安装成功。
3.关闭apache:在当前目录下执行命令:./shutdown.sh
*当配置apache的时候,有时候会出现启动失败等情况,可以在/tmp/apache/logs/catalina.out中查看错误日志。一般情况下,apache的配置文件在/etc/httpd/目录下。
三、gerrit的安装
1.在官网上下载gerrit.war(选择版本然后改成这个名字)
2.将gerrit.war放在自己经常用的目录下,然后进入该目录,执行命令
java -jar gerrit.war init -d /usr/gerrit
这表示我的gerrit的安装路径是/usr/gerrit
3.然后会出现一连串的要求你验证的界面,直接回车,当到`Download and install it now [Y/n]? 的时候,选择n,其余的一直回车,配置文件接下来会进行说明。
4.当显示成功的时候,进入/usr/gerrit/bin目录中,执行命令
./gerrit.sh start
(这表示开启gerrit),如果显示code review :OK,表示gerrit安装成功,否则的话,进入/usr/gerrit/logs/目录下查看错误信息。
四、gerrit和apache之间的配置
1.配置gerrit.config:
cd /usr/gerrit/etc/ #进入gerrit的etc目录
sudo vim gerrit.config #输入自己的root密码,然后修改gerrit.config文件
2.gerrit.config配置文件:
[gerrit]
basePath = git
canonicalWebUrl = http://localhost:8080/gerrit
[database]
type = h2 #这里表示使用H2内嵌数据库,需要用其他的再自行修改
database = db/ReviewDB
[auth]
type = HTTP #验证方式使用Http反向代理验证
[sendemail] #以下都是配置自己的邮箱信息,自行填写
smtpServer =
smtpUser =
smtpPass =
from =
[container]
user = root
javaHome = /usr/java/jdk1.7.0_79/jre
[sshd]
listenAddress = *:29418 #这个不能修改
[httpd]
listenUrl = http://*:8080/
[cache]
directory = cache
3.当配置完gerrit.config文件以后,我们需要配置apache的文件,首先进入apache的配置目录:
cd /etc/httpd/conf or cd /etc/httpd/conf.d
我们可以在conf目录下修改http.conf文件,加上需要的一些配置信息,也可以在conf.d目录下修改任何.conf文件,具体原因可以查看conf.d目录下的readme文件,conf.d目录下的.conf文件都会在http.conf文件执行之后执行,所以任意修改一个文件就行了
4.我是在welcome.conf文件中修改的,接下来贴上我增加的代码部分:
#以下是我增加的http反向代理的部分
<VirtualHost *:80>
ServerName localhost
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /gerrit/login/>
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthUserFile /etc/httpd/conf/gerrit.passwd
</Location>
AllowEncodedSlashes On
ProxyPass /gerrit/ http://localhost:8080/gerrit/
ProxyPassReverse /gerrit/ http://localhost:8080/gerrit/
</VirtualHost>
#这里配置的gerrit和apache的端口号都是8080,不过没关系,因为我们不需要开启gerrit,所以不冲突
5.生成AuthUserFile,这个需要我们在apache的bin目录下执行以下命令:
htpasswd -cmb gerrit.passwd ab 123456789
表示在当前文件生成用户名为ab,密码为123456789的gerrit.passwd文件,然后再将该文件的路径填入welcome.conf配置文件中。
6.执行以下命令:
service httpd start
如果是正常运行的话,表示配置成功,接着打开浏览器,输入http://127.0.0.1/gerrit/login,会到gerrit的界面。
7.以上就是我配置gerrit的过程。