当前位置: 首页 > news >正文

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/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

下载地址: https://www.gerritcodereview.com/
本文用的版本是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命令设置的账号密码即可。

转载于:https://www.cnblogs.com/jiangzhaowei/p/7874851.html

相关文章:

  • Linux每个用户单独配置ssh,linux – 每个用户的SSH MOTD
  • linux针对内存uce隔离内存,Linux运维知识之在linux系统中,iomem_resource的信息被输出到/proc/iomem中...
  • intellij IDEA里各图标对应的文件类型
  • linux目录中grid,用MongoDB基于GridFS存储文件
  • leetCode-Majority Element
  • linux bind 服务器同步,bind9.7 智能dns主从同步配置
  • nginx-php-fpm
  • linux打包解压工具,打包压缩、解压缩工具详解
  • linux邮件服务器安装与配置过程,Linux操作系统邮件服务器的搭建过程解析
  • Java提高十五:容器元素比较ComparableComparator深入分析
  • linux addr2line 用法,addr2line的用法
  • svn项目添加到tomcat后,tomcat无法打开问题解决
  • linux imq原理图,(linux内核IMQ源码实现分析.doc
  • rman从aix到linux跨平台恢复,利用RMAN跨平台迁移数据库
  • Linux权限分析
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Android 控件背景颜色处理
  • ES10 特性的完整指南
  • ES6 ...操作符
  • Facebook AccountKit 接入的坑点
  • vuex 笔记整理
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 初识 webpack
  • 从输入URL到页面加载发生了什么
  • 反思总结然后整装待发
  • 精彩代码 vue.js
  • 前端面试题总结
  • 数组的操作
  • 一些css基础学习笔记
  • 用mpvue开发微信小程序
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #stm32整理(一)flash读写
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (编译到47%失败)to be deleted
  • (二)PySpark3:SparkSQL编程
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (论文阅读40-45)图像描述1
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • .bat文件调用java类的main方法
  • .NET/C# 的字符串暂存池
  • .NET面试题(二)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .net通用权限框架B/S (三)--MODEL层(2)
  • @Service注解让spring找到你的Service bean
  • @SpringBootApplication 包含的三个注解及其含义
  • [Android]如何调试Native memory crash issue
  • [android学习笔记]学习jni编程
  • [BSGS算法]纯水斐波那契数列