使用gerrit自带的数据库h2, 验证方式为HTTP, SMTP 服务器未配置
可直接从yum 源安装
先添加gerrit 用户. gerrit 从2.10开始, 换成了新版界面. 几乎国内所有的镜像都会下载失败, 需要翻墙下载. 下载完成后, 初始化命令为: java -jar gerrrit-war init -d /home/gerrit/repository
初始化启动时, “Authentication method” 设为”http” ,其他默认 “Listen on port [8080]” 可用默认, 如端口被占用, 初始化后也可在配置文件修改
直接从yum源安装 apache名字为httpd, 服务名也是httpd. 服务启动后, 默认以apache用户运行. 如需访问其他用户的文件, 如/home/gerrit/repository/htpasswd, 需要确保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_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_DIR/bin/gerrit.sh start
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 一致