centos搭建gerrit

条件:centos系统、gerrit2.12.war

搭建步骤:

1.新建mysql数据库gerrit。

语句如下:

create Database gerrit ;//建库

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON gerrit.* TO [email protected] IDENTIFIED BY '[email protected]';//建用户、授权限

FLUSH PRIVILEGES;//即时生效

2.搭建gerrit服务

java -jar gerrit-2.12.war init -d review  //"review "为搭建的目录

搭建完成配置文件为:

[gerrit]
        basePath = /home/gerrit/git
        canonicalWebUrl = http://gerrit.wenbin.com
[database]
        type = mysql
        hostname = localhost
        port = 3306
        database = gerrit
        username = gerrit
[index]
        type = LUCENE
[auth]
        type = HTTP
[receive]
        enableSignedPush = false
[sendemail]
        smtpServer = smtp.163.com
        smtpServerPort = 25
        smtpUser = [email protected]
        from = CodeReview<[email protected]>
[container]
        user = gerrit
        javaHome = /opt/jdk1.8.0_191/jre
[sshd]
        listenAddress = *:29419
[httpd]
        listenUrl = proxy-http://127.0.0.1:8081/
[cache]
        directory = cache


安装时数据库操作捣乱了不少,各种连不上。

3.nginx安装配置

yum install nginx;

新建http认证文件。

htpasswd -c /passwords admin

执行后输入amdin密码。

配置nginx.conf文件,路径为/etc/nginx;

配置最终为

include /etc/nginx/conf.d/*.conf;

    server {
        listen       8083 default_server;
        server_name  gerrit.wenbin.com;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
                auth_basic      "Gerrit Code Review";
                auth_basic_user_file    /passwords;
                proxy_pass      http://127.0.0.1:8081;
                proxy_set_header        X-Forwarded-For $remote_addr;
                proxy_set_header        Host $host;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
然后执行  systemctl restart nginx,启动nginx服务。

4.安装httpd服务,进行配置。

yum install httpd;

配置httpd.conf文件,路径为/etc/httpd/conf;

配置完成为:

# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
<VirtualHost *:80>
    ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    <Location />
        AuthType Basic
        AuthName "Gerrit Code Review"
        Require valid-user
        AuthUserFile /passwords
    </Location>

    AllowEncodedSlashes On
    ProxyPass /r/ http://127.0.0.1:8081/r/ nocanon
</VirtualHost>
然后执行  systemctl restart httpd,启动httpd服务。

打开浏览器,输入IP:端口号就可以登录了;

遇到的问题:

1.安装gerrit起不来,经验证是mysql的问题,如遇到问题自行百度。

2.nginx和httpd配置了同一个端口:80,导致只能起来一个,改掉一个端口即可。

3.打开gerrit报错,The page you requested was not found, or you do not have permission to view

解决方案:

在httpd服务的配置文件里面加入

centos搭建gerrit

正常打开。

centos搭建gerrit