使用gerrit自带的数据库h2, 验证方式为HTTP, SMTP 服务器未配置
git 安装
可直接从yum 源安装
gerrit 安装
先添加gerrit 用户. gerrit 从2.10开始, 换成了新版界面. 几乎国内所有的镜像都会下载失败, 需要翻墙下载. 下载完成后, 初始化命令为: java -jar gerrrit-war init -d /home/gerrit/repository
初始化启动时, “Authentication method” 设为"http" ,其他默认 “Listen on port [8080]” 可用默认, 如端口被占用, 初始化后也可在配置文件修改
apache 安装
直接从yum源安装 apache名字为httpd, 服务名也是httpd. 服务启动后, 默认以apache用户运行. 如需访问其他用户的文件, 如/home/gerrit/repository/htpasswd
, 需要确保apache 用户有足够的权限
配置 apache
修改 apache 的conf 文件, 一般路径为/etc/httpd/conf/httpd.conf
windows 下的配置文件路径为 INSTALL_DIR/conf/httpd.conf
去掉下面几行的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
在最后追加下面配置
<VirtualHost *:8080>
ServerName v3server
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *:8080>
Order deny,allow
Allow from all
</Proxy>
<Location /login/>
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthUserFile D:/git/htpasswd
</Location>
ProxyPass / http://10.14.132.179:9080/
ProxyPassReverse / http://10.14.132.179:9080/
</VirtualHost>
如端口被占用, 修改conf文件的"Listen 8080" 字段, 换成其他的端口 查看某个端口是否被占用 : netstat -lnp | grep 8080
ProxyPass
和 proxyPassReverse
的端口需与gerrit的conf文件里端口一致
配置 gerrit
修改GERRIT_DIR/etc/gerrit.config
文件
[gerrit]
basePath = git
canonicalWebUrl = http://10.14.132.179:9080/
[database]
type = H2
database = db/ReviewDB
[auth]
type = HTTP
logoutUrl = http://aa:aa@10.14.132.179:8080/
[sendemail]
smtpServer = smtp.163.com
smtpUser = useremail@163.com
smtpPass = userpass
from = useremail@163.com
[container]
user = admin
javaHome = C:\\Program Files\\Java\\jdk1.6.0_27\\jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://10.14.132.179:9080/
[cache]
directory = cache
需要修改的内容: - canonicalWebUrl - auth/type
需要注意: canonicalWebUrl 和 listenAddress 不是8080. apache 的端口和 gerrit 的端口是不同的, 用户访问地址为 apache 的地址
启动 gerrit
GERRIT_DIR/bin/gerrit.sh start
启动 apache
service httpd start
添加账号和密码
htpasswd -cm /home/gerrit/repository/htpasswd USER_NAME
- htpasswd 为apache 的命令工具
- 参数c 意为新建文件, 即
/home/gerrit/repository/htpasswd
文件不存在时, 新建名为htpasswd的文件 - 参数m 为使用md5 加密
- 当htpasswd文件存在时, 可以使用
htpasswd -m /PATH_TO_HTPASSWD USER_NAME
添加账号 - 保存账号密码信息的文件(htpasswd), 名字为自定义的, 但需要与apache 的conf 配置文件里
AuthUserFile
一致