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!
添加apache2的tcp端口号,切记不要把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反向代理配置有问题