说明:Ubuntu版本12.04

1. 配置gerrit管理帐号

1
sudo adduser gerrit

  增加sudo权限:

1
sudo usermod -a -G sudo gerrit

  切换到gerrit账号:

1
sudo su gerrit

2. 安装java

1
2
3
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk

3. 安装git

1
sudo apt-get install git

4. 安装配置apache2

1
sudo apt-get install apache2

修改配置文件:

1
sudo vi /etc/apache2/httpd.conf

具体内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<VirtualHost *:8081>
     
    ServerName 192.168.130.10
 
    ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On
 
    <Proxy *>
          Order deny,allow
          Allow from all
    </Proxy>
 
    <Location "/login/">
        AuthType Basic
        AuthName "Gerrit Code Review"
        Require valid-user
        AuthBasicProvider file
        AuthUserFile /home/gerrit/review_site/passwords
    </Location>
 
    AllowEncodedSlashes On
    
    ProxyPass / http://127.0.0.1:8091/ nocanon
 
</VirtualHost>

注:如httpd.conf没有Include到apache2.conf中,需手动添加:

1
sudo vi /etc/apache2/apache2.conf

添加,

1
Include httpd.conf

修改配置文件,添加对8081端口的监听:

1
sudo vi /etc/apache2/ports.conf

添加,

1
Listen 8081

开启SSL、Proxy、Rewrite等模块:

1
cd /etc/apache2/mods-enabled/
1
2
3
4
5
6
7
8
9
10
sudo ln -s ../mods-available/proxy.load
sudo ln -s ../mods-available/proxy.conf
sudo ln -s ../mods-available/proxy_http.load
sudo ln -s ../mods-available/proxy_balancer.conf
sudo ln -s ../mods-available/proxy_balancer.load
sudo ln -s ../mods-available/rewrite.load
sudo ln -s ../mods-available/ssl.conf
sudo ln -s ../mods-available/ssl.load
sudo ln -s ../mods-available/slotmem_shm.load
sudo ln -s ../mods-available/socache_shmcb.load

5. 安装配置gerrit

本文用的版本是gerrit-2.13.6。
安装:
1
java -jar gerrit-2.13.6.war init -d ~/review_site

安装配置先选择默认配置,安装完成后再来修改配置文件:

1
vi ~/review_site/etc/gerrit.config

具体内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[gerrit]
        basePath = git
        serverId = 02481fa0-9b63-4b6a-9869-8b4e2a4364ee
        canonicalWebUrl = http://192.168.130.10:8081/
[database]
        type = h2
        database = /home/gerrit/review_site/db/ReviewDB
[auth]
        type = HTTP
[receive]
        enableSignedPush = false
[sendemail]
        smtpServer = smtp.company.com
        smtpServerPort = ***
        smtpEncryption = ssl 
        smtpUser = user@company.com
        smtpPass = ******
        sslVerify = false 
        from = Code Review < gerrit@company.com >
[container]
        user = gerrit
        javaHome = /usr/lib/jvm/java-7-openjdk-amd64/jre
[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = proxy-http://*:8091/
[cache]
        directory = cache
 
接下来,配置gerrit账户:
 
1
2
touch ~/review_site/passwords
sudo htpasswd -b ~/review_site/passwords admin 123123

6. 安装配置gitweb

1
sudo apt-get install gitweb

查看相关配置文件安装路径:

1
dpkg -L gitweb

得到输出如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/gitweb
/usr/share/doc/gitweb/examples
/usr/share/doc/gitweb/examples/index.aux-generation
/usr/share/doc/gitweb/README.Debian
/usr/share/doc/gitweb/copyright
/usr/share/doc/gitweb/README
/usr/share/doc/gitweb/NEWS.Debian.gz
/usr/lib
/usr/lib/cgi-bin
/etc
/etc/apache2
/etc/apache2/conf.d
/etc/apache2/conf.d/gitweb
/etc/gitweb.conf
/usr/share/doc/gitweb/changelog.Debian.gz
/usr/lib/cgi-bin/gitweb.cgi

根据上面的地址在gerrit.conf中添加如下配置:

1
2
3
[gitweb]
    type = gitweb
    cgi = /usr/lib/cgi-bin/gitweb.cgi

相关说明:

gitweb集成gerrit后,默认只有管理员用户才能查看gitweb超链接,普通用打开链接后页面显示Not Found。如果想给普通的用户查看gitweb超链接的权限,则必须对项目设置refs/meta/config 的read权限。而这个权限在All-Projects的ACL里只对Administrators用户和Project Owners开放。

7. 重启gerrit和apache2

1
2
sudo ~/review_site/bin/gerrit.sh restart
sudo /etc/init.d/apache2 restart

8. 访问gerrit 管理界面

浏览器输入:

1
http://192.168.130.10:8081/

在弹出框输入htpasswd命令设置的账号密码即可。

最新文章

  1. 使用MySQL制作SNP146数据库
  2. 使用cnpm
  3. 更新日志 - fir.im Jenkins &amp; Gradle 插件上线
  4. Solr auto commit 配置
  5. 安卓开发_浅谈ListView(SimpleAdapter数组适配器)
  6. sql2000无法打开1433端口及解决方法
  7. POJ 2112 - Optimal Milking
  8. Maven学习小结(三 基本概念)
  9. VS2013编译libcurl
  10. 修改textField的placeholder的字体颜色、大小
  11. vs2012快捷键失效解决办法
  12. Intellij Idea/Webstorm/Phpstorm
  13. linux的mount(挂载)NFS 共享,命令详解
  14. 详解EBS接口开发之库存事务处理-物料批次导入
  15. 集成学习之Boosting —— AdaBoost原理
  16. Matlab中函数句柄@的作用及介绍
  17. android.os.handler(转)
  18. 王者荣耀交流协会 - 第7次Scrum会议(第三周)
  19. ubuntu 系统提示升级失败,boot空间不足
  20. 随机算法 - HNU 13348 Finding Lines

热门文章

  1. POJ 1635 树的最小表示法
  2. 解决使用FusionCharts以后从后台获取数据中文乱码的问题
  3. Python()- 面向对象三大特性----继承
  4. .htaccess重写、安全防护、文件访问权限
  5. POJ 1741 Tree【树分治】
  6. java内存区域和对象的产生
  7. 【.Net Core 学习系列】-- 自定义错误页面在IE浏览器中不能正常显示
  8. 表皮囊肿?wtf
  9. 深度学习综述(LeCun、Bengio和Hinton)
  10. iptables防火墙以及网络协议基本原理