您的位置:首页 > 运维架构 > Linux

centos 7 gerrit安装配置

2017-06-16 14:00 393 查看
centos 7 gerrit安装配置

centos默认安装是没有网络的,需要配置一下。

=====================

网络配置

=====================

# 使用管理员登录

#su   

#vim /etc/sysconfig/network-scripts/ifcfg-eno16777736  

#把其中onboot改为yes ,原值为no

ONBOOT=yes   

#如需要使用固定IP请进行如下配置

BOOTPROTO=static

IPADDR=192.168.20.129      #自定义的IP

NETMASK =255.255.255.0     

GATEWAY=192.168.20.2

DNS1=192.168.20.2

#最后重启网络服务就行了

# service network restart

========================

安装apache

========================

yum  -y install httpd

======================================

安装MySQL(也可不装使用gerrit默认的h2也行)

======================================

centos 7开始mysql 不作为默认的数据库服务了,改为mariadb
,和mysql是一样一样的也就是名称不同是完全兼容的

yum -y install mariadb*

systemctl start mariadb.service #启动mariadb

systemctl enable mariadb.service #设置mariadb开机启动

mysql -u root -p  #登录mysql, 默认密码为空

show databases; #显示database信息

========================================

安装Git版本控制程序

=========================================

# yum -y install git

安装完成后看一下版本

[root@192 httpd]# git version

git version 1.8.3.1

==============================================

安装gerrit

==============================================

gerrit没有办法通过yum直接下载安装

只能手动下载一下 本人使用的是2.10版本

先要做一下准备工作在mysql中配置一下gerrit要用的

# 创建用户
mysql> CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'qwer1234';  

Query OK, 0 rows affected (0.00 sec) 

 # 创建gerrit要用的数据表
mysql> CREATE DATABASE reviewdb; 

Query OK, 1 row affected (0.00 sec) 

#  设定编码为latin1, 中文不支持   设为utf8会有其它问题
mysql> ALTER DATABASE reviewdb charset=latin1; 

Query OK, 1 row affected (0.00 sec)   

# 把reviewdb的所有权限赋给gerrit2
mysql> GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost'; 

Query OK, 0 rows affected (0.00 sec)   

# 刷新权限

mysql> FLUSH PRIVILEGES;  

Query OK, 0 rows affected (0.00 sec)

新建Linux 用户gerrit2

adduser gerrit2 

转换到用户

su gerrit2 

下面开始安装gerrit

把准备好的gerrit  war包copy到可访问的目录

Java -jar gerrit-2.10.war ini -d ~/code_review

安装配置请参考如下内容,也可打开 vim ~/code_review/etc/gerrit.config 

[gerrit]
basePath = git
canonicalWebUrl = http://192.168.20.129:8080/gerrit2/  #需要给外部访问的地址可自定义

[database]
type = mysql            #使用mysql作为默认数据库
hostname = localhost       
database = reviewdb       # 数据库名就是刚才创建的数据库名称
username = gerrit2       

[index]
type = LUCENE

[auth]
type = HTTP             # 使用http认证,可在内部局域网进行配置,默认的openid需要google的共网帐号,在国内不可能做到了

[sendemail]
smtpServer = localhost

[Container]
user = gerrit2
javaHome = /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64/jre

[sshd]
listenAddress = *:29418

[httpd]
listenUrl = proxy-http://192.168.20.129:8081/gerrit2/   #这个很重要,不要和canonicalWebUrl节配置的端口重覆用于apache反向代理

[cache]
directory = cache

==========================================

配置apache

==========================================

创建 /etc/httpd/conf.d/gerrit2.conf

输入如下内容

<VirtualHost 192.168.20.129:8080>

   ServerName 192.168.20.129

   ProxyRequests Off

   ProxyVia Off

   ProxyPreserveHost On

<Proxy *>

        Order deny,allow

        Allow from all

</Proxy>

   ProxyPass /gerrit2/ http://192.168.20.129:8081/gerrit2/      #必须和gerrit配置文件中的listenUrl值一致

   ProxyPassReverse /gerrit2/ http://192.168.20.129:8081/gerrit2/
<Location /gerrit2/login/>

        AuthType Basic

        AuthName "Gerrit Code Review"

        AuthBasicProvider file
  AuthUserFile /etc/httpd/passwords   #用于登录验证的密码文件

        Require valid-user

</Location>

   

</VirtualHost>

生成登录密码文件/etc/httpd/passwords

htpasswd -c /etc/httpd/passwords mmx  

# mmx 为新加的用户名 (注第一个加入的用户默认为管理员)

加多个用户名可用

htpasswd /etc/httpd/passwords mmx1

htpasswd /etc/httpd/passwords mmx2

最后为httpd加上安全许可 否则 会报无法访问网络的错误

setsebool -P httpd_can_network_connect 1


systemctl restart httpd.service #重启apache

systemctl enable httpd.service #设置apache开机启动

sh ~/code_review/bin/gerrit.sh restart #重启一下gerrit

为了其它服务器能访问本机的gerrit,需配置一下centos的防火墙

这里偷懒一下,直接关防火墙

systemctl status firewalld.service

systemctl disable firewalld.service

然后就能直接访问http://192.168.20.129:8080/gerrit2/ 

本文参考了http://wenku.baidu.com/link?url=0OmPyFN8u740Zh69nFxbsw1qvv_uNI4k--_Nb2r34r5nJNdgO2YBUJKOolBDGAmRGl5rHvPaHdM07MXrEHtSST4LJbSbMaMOligR2Y82CW3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos gerrit