安装Gerrit(CentOS)

1 安装环境

  1. VMware15.5.2 build-15785246
  2. CentOS7:CentOS-7-x86_64-DVD-2003.iso
  3. Java: 1.8.0_251
  4. mysql: 5.6.50 MySQL Community Server (GPL)
  5. Gerrit: gerrit-2.14.6.war

2 安装前提

2.1 关闭selinux

修改selinux:

# vim /etc/selinux/config
SELINUX=disabled
# reboot

2.2 安装git

# yum -y install git

2.3 配置反向代理

  1. 安装httpd
# yum install httpd
  1. 添加配置
# vim /etc/httpd/conf/httpd.conf
#增加监听端口
Listen 8090

#在文件末尾增加以下内容
<VirtualHost 192.168.80.142:8090>
    ServerName 192.168.80.142

    ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    <Location />
        AuthType Basic
        AuthName "Gerrit Code Review"
        AuthUserFile /home/gerrit/gerrit.passwd
        Require valid-user                                                                                                            			   		  
    </Location>

    AllowEncodedSlashes On
    ProxyPass / http://192.168.80.142:8081/
    ProxyPassReverse / http://192.168.80.142:8081/
</VirtualHost>
  1. 创建http认证用户
# touch /home/gerrit/gerrit.passwd
# htpasswd -cb /home/gerrit/gerrit.passwd "admin"
New password: xxxxxx
Re-type new password: xxxxxx
Adding password for user admin
  1. 测试启动httpd,将监听8090端口(反向代理到8081端口)
systemctl start httpd

2.4 配置数据库

  1. 安装mysql
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-server mysql-client libmysqlclient-dev mysql-devel MySQL-python
  1. 检查mysql是否安装成功
# systemctl status mysqld				// 检查mysql服务状态
  1. 数据库配置
# mysql			
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.50 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>CREATE USER 'gerrituser'@'localhost' IDENTIFIED BY '123456';		// 创建账号,并设置密码
mysql>create database gerritdb CHARACTER SET utf8;						// 创建数据库
mysql>GRANT ALL ON gerritdb.* TO 'gerrituser'@'localhost';				// 赋予远程连接权限
mysql>flush privileges;
mysql>exit

NOTE:

  1. 手动启动mysql:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
# service mysqld start													// 没有启动service则报错
# mysql
  1. mysql使用前f非root账号前,先测试连接,若失败则先检查账号,以及密码:
# mysql -u gerrituser -p 												// 指定账号登陆mysql
Enter password:
ERROR 1045 (28000): Access denied for user 'gerrituser'@'localhost' (using password: YES)
  1. 修改账号密码方法:
# mysql -u root -p 														// 使用root账号登陆mysql
mysql>set password for 'gerrituser'@'localhost' = password('123456'); 	// 修改新建账号密码
mysql>flush privileges;
mysql>exit

3 安装Gerrit

  1. 添加Gerrit账号
# useradd gerrit
# su gerrit
  1. 创建Gerrit工作目录
$ cd ~
$ mkdir gerrit-site
  1. 下载Gerrit安装包
$ wget https://www.gerritcodereview.com/download/gerrit-2.14.6.war
  1. 安装Gerrit
[gerrit@localhost ~]$ java -jar gerrit-2.14.6.war init -d gerrit_site/
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore

*** Gerrit Code Review 2.14.6
***


*** Git Repositories
***

Location of Git repositories   [git]:

*** SQL Database
***

Database server type           [mysql]:							// mysql
Server hostname                [localhost]:
Server port                    [(mysql default)]:
Database name                  [gerritdb]:						// gerritdb
Database username              [gerrituser]:					// gerrituser,提前测试
Change gerrituser's password   [y/N]? y							// 密码与mysql账号密码保持一致
gerrituser's password          :
              confirm password :

*** Index
***

Type                           [lucene/?]:

*** User Authentication
***

Authentication method          [http/?]:						// http
Get username from custom HTTP header [y/N]?
SSO logout URL                 :
Enable signed push support     [y/N]?

*** Review Labels
***

Install Verified label         [y/N]?							// y

*** Email Delivery
***

SMTP server hostname           [localhost]:
SMTP server port               [(default)]:
SMTP encryption                [none/?]:
SMTP username                  :

*** Container Process
***

Run as                         [gerrit]:
Java runtime                   [/opt/jdk1.8.0_251/jre]:
Upgrade gerrit_site/bin/gerrit.war [Y/n]?
Copying gerrit-2.14.6.war to gerrit_site/bin/gerrit.war


*** SSH Daemon
***

Listen on address              [*]: Listen on port                 [29418]:

*** HTTP Daemon
***

Behind reverse proxy           [y/N]?
Use SSL (https://)             [y/N]?
Listen on address              [*]:
Listen on port                 [8081]:
Canonical URL                  [http://localhost:8081/]:

*** Cache
***


*** Plugins
***

Installing plugins.
Install plugin commit-message-length-validator version v2.14.6 [y/N]?
Install plugin download-commands version v2.14.6 [y/N]?
Install plugin hooks version v2.14.6 [y/N]?
Install plugin replication version v2.14.6 [y/N]?
Install plugin reviewnotes version v2.14.6 [y/N]?
Install plugin singleusergroup version v2.14.6 [y/N]?
Initializing plugins.
No plugins found with init steps.

Initialized /home/gerrit/gerrit_site
[gerrit@localhost ~]$
  1. 检查Gerrit配置文件
    配置好的gerrit.config:
$ vim gerrit-site/etc/gerrit.config
[gerrit]
        basePath = git
        serverId = 7f209e09-7673-4c13-bb1d-980f7f145149
        canonicalWebUrl = http://192.168.80.142:8090
[database]
        type = mysql
        hostname = localhost
        database = gerritdb
        username = gerrituser
[index]
        type = LUCENE
[auth]
        type = HTTP
[receive]
        enableSignedPush = false
[sendemail]
        smtpServer = localhost
[container]
        user = gerrit
        javaHome = /opt/jdk1.8.0_251/jre
[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = http://192.168.80.142:8081/
[cache]
        directory = cache

4 测试启动与配置

  1. 配置防火墙端口
$ firewall-cmd --zone=public --add-port=8090/tcp --permanent
$ firewall-cmd --zone=public --add-port=8081/tcp --permanent
$ firewall-cmd --zone=public --add-port=29418/tcp --permanent
$ firewall-cmd --reload   //重新加载防火墙策略
  1. 启动Gerrit
$ ./gerrit_site/bin/gerrit.sh start  //启动gerrit
$ systemctl start httpd   //启动httpd
$ netstat -ltnp   查看监听状态
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      934/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1388/master
tcp6       0      0 :::22                   :::*                    LISTEN      934/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1388/master
tcp6       0      0 :::8090                 :::*                    LISTEN      3781/httpd
tcp6       0      0 :::29418                :::*                    LISTEN      2192/GerritCodeRevi
tcp6       0      0 :::3306                 :::*                    LISTEN      1238/mysqld
tcp6       0      0 192.168.80.142:8081     :::*                    LISTEN      2192/GerritCodeRevi
  1. 设置开机启动
sudo cp gerrit_site/etc/gerrit.config /etc/init.d/gerrit
sudo ln -snf /etc/init.d/gerrit /etc/rc2.d/S90gerrit
sudo ln -snf /etc/init.d/gerrit /etc/rc3.d/S90gerrit
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值