说明: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命令设置的账号密码即可。

Ubuntu下搭建基于apache2的gerrit+gitweb服务器的更多相关文章

  1. Ubuntu下搭建Hyperledger Fabric v1.0环境

      多次尝试才正常启动了Fabric,如遇到各种莫名错误,请参考如下一步步严格安装,特别用户权限需要注意. 一.安装Ubuntu16 虚拟机或双系统,虚拟机有VirtualBox或者VMware,Ub ...

  2. 如何在Ubuntu下搭建tftp服务器

    远程桌面连接工具   今天开始调试arm的板子,要通过tftp下载到板子上,所以又要配置tftp服务器,真的烦死了… (本人酷爱装系统,所以经常都要搞配置) 因为之前已经在Ubuntu下搭建过很多次t ...

  3. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  4. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  5. Ubuntu下搭建NodeJS+Express WEB开发框架

    Ubuntu下搭建NodeJS+Express WEB开发框架 2012-12-27 15:06 作者: NodeJSNet 来源: 本站 浏览: 2,966 次阅读 我要评论暂无评论 字号: 大 中 ...

  6. 如何在Ubuntu下搭建Android NDK开发环境

    1 搭建Android SDK开发环境 参考在在Ubuntu下搭建Android SDK开发环境(图文)首先在Ubuntu下搭建Android SDK开发环境. 2 下载NDK开发包 打开官网: ht ...

  7. Windows 7下 搭建 基于 ssh 的sftp 服务器

    Windows  xp 下 搭建 基于  ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用file ...

  8. Ubuntu下搭建ASP.NET 5

    在Ubuntu下搭建ASP.NET 5开发环境   0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要 ...

  9. 在Ubuntu下搭建FTP服务器的方法

    由于整个学校相当于一个大型局域网,相互之间传送数据非常快,比如要共享个电影,传点资料什么的. 所以我们可以选择搭建一个FTP服务器来共享文件. 那么问题来了,有的同学会问,我们既然在一个局域网内,直接 ...

随机推荐

  1. [NOIP2003] 普及组

    乒乓球 模拟 /*By SilverN*/ #include<iostream> #include<algorithm> #include<cstring> #in ...

  2. Mongodb主、副、仲裁节点集群安装

    mongodb 的集群方式主要分为三种Replica Set / Sharding / Master-Slaver ,这里只说明最简单的集群搭建方式(生产环境),如果有多个节点可以此类推或者查看官方文 ...

  3. MongoDB基本管理命令操作

    1. 查看所有数据库: show dbs 或: show databases 注意: 该命令不会显示新创建的空数据库,若想显示需要向空数据库插入一些数据. MongoDB中默认的数据库为test,若果 ...

  4. 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 A,D

    A链接:https://www.nowcoder.com/acm/contest/163/A Fruit Ninja is a juicy action game enjoyed by million ...

  5. (二)Commonjs规范与模块化

    在之前的学习中我们使用require()来引入我们需要的包,这其实就是模块化,各模块相互独立,可以通过某种方式引入别的模块.而这些引入方式都是遵循一定的规范的,这就是CommonJS规范. 一.Com ...

  6. chrome插件vimium的安装和使用

    vimium工具的作用:使你脱离鼠标,使用键盘方便操作页面,默认对所有网站生效 1.chrome商店里有的,但是,我怎么安装,都不行 2.源码安装:http://vimium.github.io/ h ...

  7. HDU 4279 Number(找规律)

    Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  8. 为RAC私有网络配置网卡Bonding

    在RAC的安装部署过程中.并不不过简单的安装完毕了事.整个安装过程要考虑可能出现的单点问题,当中比較重要的是私有网络. 私有网络是RAC节点间通信的通道.包含节点间的网络心跳信息.Cache fusi ...

  9. BC一周年B

    #include <cstdio> #include <iostream> #include <algorithm> #include <queue> ...

  10. SqlServer 经常使用分页方法总结

    SqlServer 经常使用分页方法总结 以下演示样例总结了,SqlServer数据库 经常使用分页方法,仅供学习參考 A. 使用 RowNumber 和 Between And 组合分页: /*** ...