Gerrit war包下載地址:html
http://gerrit-releases.storage.googleapis.com/index.htmljava
最好的安裝文檔請參考以下:mysql
http://blog.csdn.net/dongwuming/article/details/9223721linux
http://www.cnblogs.com/eastnapoleon/p/6497802.htmlgit
安裝環境:web
1:安裝VritubalBox虛擬機sql
2:安裝linux系統ubuntu16.04.3桌面版數據庫
安裝gerrit以前,須要執行:apache
sudo apt-get dist-upgrade命令來更新系統軟件包ubuntu
若是更新失敗能夠執行: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反向代理配置有問題