gerrit安装笔记

Gerrit war包下载地址:

http://gerrit-releases.storage.googleapis.com/index.html

最好的安装文档请参考如下:

http://blog.csdn.net/dongwuming/article/details/9223721

http://www.cnblogs.com/eastnapoleon/p/6497802.html

安装环境:

1:安装VritubalBox虚拟机

2:安装linux系统ubuntu16.04.3桌面版

安装gerrit之前,需要执行:

sudo apt-get dist-upgrade命令来更新系统软件包

如果更新失败可以执行:sudo apt-get update来更新软件源

如下图:

 

以下的安装步聚需要在有网络的情况下才能完成安装

3:安装apache2

sudo apt-get instal apache2 apache2-utils

4:安装JDK1.8(Oracle)

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

查看JDK是否安装可以执行:java -version

5:安装git

sudo apt-get install git

查看git是否安装成功可以执行:git --version

6:安装gitweb

sudo apt-get install gitweb

7:安装mysql客户端和服务端(mysql必需安装5.5的版本,否则gerrit安装会报错)

sudo apt-get install mysql-client-5.5

sudo apt-get install mysql-server-5.5

安装完成后执行:sudo netstat -tap | grep mysql来检查数据库是否安装成功,通过上述命令检查之后,如果看到有mysql的socket处于listen新动态则表示安装成功。

mysql数据库安装时他询问用户名和密码,这里使用

用户名:root

密码:root

创建数据库:

Mysql -u root -p,输入密码:

创建数据库:

Create database reviewdb

创建数据库,并设置编码格式为UTF8

mysql>create database gerritdb DEFAULT CHARACTER utf8 COLLATE utf8_general_ci;

CREATE DATABASE IF NOT EXISTS RUNOOB DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

CREATE DATABASE reviewdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

显示数据库:

Show databases;

使用数据库:

Use reviewdb;

显示表

Show tables;

8:安装gerrit

创建一个专用用户来安装gerrit

Sudo adduser gerrit

使用这个用户来执行安装

java -jar gerrit.war init -d review_site

上述步聚全部安装完成之后需要配置2个文件:

Httpd.conf和/review_site/etc/gerrit.conf

把这两个文件的IP地址换成本机IP一样的地址

gerrit登录帐号:gerrit  密码:gerrit

mysql数据库帐号:root 密码:root

Gerrit web界面的认证类型使用Http,使用Http认证需要配置apache2反向代理,配置反向代理的方法如下:

配置apache2反向代理

cd /etc/apache2/mods-enabled

$sudo ln -s /etc/apache2/mods-available/proxy.conf proxy.conf 
$sudo ln -s /etc/apache2/mods-available/proxy.load proxy.load 
$sudo ln -s /etc/apache2/mods-available/proxy_http.load proxy_http.load
 

6:添加gerrit用户来安装gerrit

sudo adduser gerrit

安装gerrit执行命令:

Java -jar gerrit.2.14.1.war init -d review-site

7:创建数据库

8:修改httpd.conf和gerrit.conf两个文件

修改http.conf文件内容如下(http.conf必需在apache2.conf下引用)

ServerName localhost

NameVirtualHost   192.168.56.101:80

<VirtualHost 192.168.56.101:80>

    ServerName 192.168.56.101

    ProxyRequests Off

    ProxyVia Off

    ProxyPreserveHost On

    <Proxy *:80>

          Order deny,allow

          Allow from all

    </Proxy>

    <Location "/login/">

      AuthType Basic

      AuthName "Gerrit Code Review"

      Require valid-user

      AuthUserFile /etc/apache2/passwords

    </Location>

    AllowEncodedSlashes On

    ProxyPass / http://192.168.56.101:8088/ nocanon

    ProxyPassReverse / http://192.168.56.101:8088/

</VirtualHost>

修改Gerrit.conf文件的内容如下

[gerrit]

       basePath = git

       canonicalWebUrl = http://192.168.56.101:8088/(此处IP改成你本机的IP,不要照抄)

[database]

       type = mysql

       hostname = localhost

       database = reviewdb

       username = root

[index]

       type = LUCENE

[auth]

       type = HTTP

[sendemail]

       smtpServer = smtp.qq.com

       smtpServerPort = 25

       smtpEncryption = SSL

       smtpUser = scm@qq.com

[container]

       user = gerrit

       javaHome = /usr/lib/jvm/java-7-openjdk-i386/jre

[sshd]

       listenAddress = *:29418

[httpd]

       listenUrl = proxy-http://192.168.56.101:8088/

[cache]

       directory = cache

[gitweb]

       typs = gitweb

       cgi = /usr/lib/cgi-bin/gitweb.cgi

9:启动apach2,启动gerrit,安装完成

gerrit启动命令:/review_site/bin/gerrit.sh  start

服务正确启动之后,会看到 Gerrit 服务打开两个端口,这两个端口是在 Gerrit 安装时指定的。

您的输出和下面的示例可能略有不同。

$ sudo netstat -ltnp | grep -i gerrit

tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 26383/GerritCodeRev

tcp 0 0 0.0.0.0:29418 0.0.0.0:* LISTEN 26383/GerritCodeRev

Apath2启动命令使用:/etc/init.d/apach2 start

Ubuntu设置文件夹共享:

使用命令:mount -t vboxsf GONGXIANG /mnt/GX

Ubuntu下自带的vi出现编辑错乱解决方法:

http://blog.csdn.net/think2me/article/details/7575971

Ubuntu下mysql不支持中文如何解决?

http://www.360doc.com/content/14/0514/09/2560742_377431800.shtml

1:修改/etc/mysql/my.cnf

在[mysqld]下面添加:

charater-set-server=utf8

2:重启mysql

sudo mysql restart

创建访问gerrit的用户:

由于是通过apache进行http basic认证, 故账户创建使用类似下面的命令即可:

sudo htpasswd -cb /etc/apache2/passwords gerrit gerrit(首次创建使用如下命令)

sudo htpasswd -b /etc/apache2/passwords gerrit gerrit(创建普通用户使用此命令)

删除用户:

sudo htpasswd -D /etc/apache2/passwords 用户名

/etc/apache2$sudo vi ports.conf 
NameVirtualHost *:80
Listen 80
Listen 8080    //不要给gerrit
Listen 8000    //不要给gerrit
添加apache2tcp端口号,切记不要把gerrit的,即
Listen on port                 [8081]: 不要输入上面配置给apache2的端口号,新手切记!!!
否则gerrit 起不来的
搭建多个gerrit Listen on port                 [8081]:可以用8082 8083 8084 

Ubuntu下mysql无法启动的解决方法:

dpkg-reconfigure mysql-server-5.5

Ubuntu下如何设置gerrit开机自动启动:

http://blog.csdn.net/xbl1986/article/details/18656887

此处设置vim /etc/init.d/gerrit文件中的GERRIT_SITE_1的值设置为:

GERRIT_SITE_1=”/home/gerrit/review_site”

.创建passwd文件,添加gerrit登录用户,-c参数为创建,仅限第一次添加用户时使用,如下:

sudo htpasswd -cb /etc/apache2/passwords gerrit gerrit

这里的gerrit就是以后用来登录gerrit的用户名。以后要为gerirt增加用户,也需要通过htpasswd命令在此gerrit.password文件中添加用户。

用htpasswd创建的用户时,并没有往gerrit中添加账号,只有当该用户通过web登陆gerrit服务器时(如下图5‑2所示),该账号才会被添加进gerrit数据库中。

 

sign out

使用http认证登录gerrit后,并无法通过点击”Sign Out”退出登录,只能通过直接关闭浏览器窗口来退出当前会话。

 

 

ubuntu16.04下安装gerrit 2.14

https://www.winsonli.net/howto-deplay-gerrit-on-ubuntu/

 

java -jar bin/gerrit.war reindex:将数据库中的提交和git仓库中的change对应起来

apache一般是开机自动启动的

 

 

如果出现如上截图的问题,说明apache2反向代理配置有问题

原文地址:https://www.cnblogs.com/gaoyuxia/p/10742608.html