Ubuntu下搭建基于apache2的gerrit+gitweb服务器

2024-09-08 06:58

本文主要是介绍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命令设置的账号密码即可。

这篇关于Ubuntu下搭建基于apache2的gerrit+gitweb服务器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147439

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2