使用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
在最后追加下面配置
ServerName v3server
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
Order deny,allow
Allow from all
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthUserFile D:/git/htpasswd
ProxyPass / http://10.14.132.179:9080/
ProxyPassReverse / http://10.14.132.179:9080/
如端口被占用, 修改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:[email protected]:8080/
[sendemail]
smtpServer = smtp.163.com
smtpUser = [email protected]
smtpPass = userpass
from = [email protected]
[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
/home/gerrit/repository/htpasswd
文件不存在时, 新建名为htpasswd的文件htpasswd -m /PATH_TO_HTPASSWD USER_NAME
添加账号AuthUserFile
一致