Ubuntu下搭建基于apache2的gerrit+gitweb服务器
说明: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/ppasudo apt-get updatesudo 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.loadsudo ln -s ../mods-available/proxy.confsudo ln -s ../mods-available/proxy_http.loadsudo ln -s ../mods-available/proxy_balancer.confsudo ln -s ../mods-available/proxy_balancer.loadsudo ln -s ../mods-available/rewrite.loadsudo ln -s ../mods-available/ssl.confsudo ln -s ../mods-available/ssl.loadsudo ln -s ../mods-available/slotmem_shm.loadsudo ln -s ../mods-available/socache_shmcb.load |
5. 安装配置gerrit
|
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 |
|
1
2
|
touch ~/review_site/passwordssudo 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 restartsudo /etc/init.d/apache2 restart |
8. 访问gerrit 管理界面
浏览器输入:
|
1
|
http://192.168.130.10:8081/ |
在弹出框输入htpasswd命令设置的账号密码即可。
Ubuntu下搭建基于apache2的gerrit+gitweb服务器的更多相关文章
- Ubuntu下搭建Hyperledger Fabric v1.0环境
多次尝试才正常启动了Fabric,如遇到各种莫名错误,请参考如下一步步严格安装,特别用户权限需要注意. 一.安装Ubuntu16 虚拟机或双系统,虚拟机有VirtualBox或者VMware,Ub ...
- 如何在Ubuntu下搭建tftp服务器
远程桌面连接工具 今天开始调试arm的板子,要通过tftp下载到板子上,所以又要配置tftp服务器,真的烦死了… (本人酷爱装系统,所以经常都要搞配置) 因为之前已经在Ubuntu下搭建过很多次t ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- Ubuntu下搭建NodeJS+Express WEB开发框架
Ubuntu下搭建NodeJS+Express WEB开发框架 2012-12-27 15:06 作者: NodeJSNet 来源: 本站 浏览: 2,966 次阅读 我要评论暂无评论 字号: 大 中 ...
- 如何在Ubuntu下搭建Android NDK开发环境
1 搭建Android SDK开发环境 参考在在Ubuntu下搭建Android SDK开发环境(图文)首先在Ubuntu下搭建Android SDK开发环境. 2 下载NDK开发包 打开官网: ht ...
- Windows 7下 搭建 基于 ssh 的sftp 服务器
Windows xp 下 搭建 基于 ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用file ...
- Ubuntu下搭建ASP.NET 5
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要 ...
- 在Ubuntu下搭建FTP服务器的方法
由于整个学校相当于一个大型局域网,相互之间传送数据非常快,比如要共享个电影,传点资料什么的. 所以我们可以选择搭建一个FTP服务器来共享文件. 那么问题来了,有的同学会问,我们既然在一个局域网内,直接 ...
随机推荐
- LeetCode:不同路径&不同路径II
不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 问 ...
- bzoj4027 [HEOI2015]兔子与樱花 树上贪心
[HEOI2015]兔子与樱花 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1320 Solved: 762[Submit][Status][Di ...
- 如何打开Oracle的dmp文件
在工作中经常使用到别人提供过来的dmp文件,由于不知道备份时所用的用户名,这样就不能恢复. 通过打开DMP文件可以查看到备份时使用的用户名. 1.如果dmp文件比较小,用文本编辑器打开就可以了. 2. ...
- 洛谷—— P2002 消息扩散
P2002 消息扩散 题目背景 本场比赛第一题,给个简单的吧,这 100 分先拿着. 题目描述 有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市 ...
- Java面试题总结之Java基础(三)
1.JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try 块中可以抛出异常吗? 答:Java 通过面向对象的方法进行异常处理, ...
- SVN 更新后Tomcat 启动时出现问题
更新了svn后,启动本地的tomcat容器发现启动不了, 检查后发现是配置文件配置出现问题,因为我们的该项目 配置有tomcat与weblogic两种 , 而在我的web.xml中 默认配置的serv ...
- 一个bug在redmine中的诞生到终结
1.測试员測试出bug,跟踪状态为支持,状态为新建,指派给产品经理. 2.产品经理鉴定确觉得bug.改动跟踪状态为bug.指派给技术经理: 3.技术经理收到bug,指派给开发者: 4.开发者收到bug ...
- 解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has not finished: run 'cleanup' if it was interrupted Please execute the 'Cleanup' command.
解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has no ...
- shutdown abort模式丢失redo,使用隐含參数启库
shutdown abort模式 丢失redo log 无法open数据库 通过告警报错ORA-00354: corrupt redo log block header 从该错误能够看出当前日志的re ...
- C++实现KMP模式匹配算法
#include<iostream> #include<string> #include<vector> using namespace std; void Nex ...