Ubuntu下搭建基于apache2的gerrit+gitweb服务器
说明:Ubuntu版本12.04 1. 配置gerrit管理帐号1sudo adduser gerrit 增加sudo权限:1sudo usermod -a -G sudo gerrit 切换到gerrit账号:1sudo su gerrit 2. 安装java123sudo add-apt-repository ppa:openjdk-r/ppasudo apt-get updatesud
说明: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
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/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命令设置的账号密码即可。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)