Gerrit + apache 安装

使用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 ProxyPassproxyPassReverse 的端口需与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 一致
Licensed under CC BY-NC-SA 4.0
Built with Hugo
主题 StackJimmy 设计