Gerrit环境搭建
-
sudo apt install openjdk-17-jdk //版本按实际情况决定
-
sudo apt-get install apache2
-
sudo apt-get install gitweb
配置apache2服务器
apache2服务器主要用来用户认证,所以要在apache2中添加代理。
/etc/apache2/httpd.conf
<VirtualHost *:8089>
#这里是反射代理的端口号,
ServerName 192.168.100.199
#这里是填写Apache反射代理的ip地址,也就是你服务器的ip地址
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/hejian/review_site/passwords
#这个路径是gerrit账户密码管理,后续的步骤中会创建此文件。路径有写正确
</Location>
AllowEncodedSlashes On
ProxyPass / http://192.168.100.199:10999/
#这里是代理反射,照着写就OK了
ProxyPassReverse / http://192.168.100.199:10999/
# Gerrit反向代理转发端口,应该与ProxyPass一致
</VirtualHost>
/etc/apache2/ports.conf
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Listen 8089
/etc/apache2/apache2.conf
Include httpd.conf // 在最后一行添加
开启SSL、Proxy、Rewrite等模块:
cd /etc/apache2/mods-enabled
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
Gerrit安装
java -jar gerrit-3.2.3.war init -d ~/review_site
sudo vim /home/gerrit/review_site/etc/gerrit.config
[gerrit]
basePath = git
canonicalWebUrl = http://192.168.8.191:8081/
serverId = 912a98d4-5e24-49f1-a7fe-912bc0bb4fa8
[container]
javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
user = gerrit
javaHome = /usr/lib/jvm/java-8-openjdk-amd64
[index]
type = lucene
[auth]
type = HTTP
[receive]
enableSignedPush = false
[sendemail]
smtpServer = localhost
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = proxy-http://*:8091/
[cache]
directory = cache
[gitweb]
type = gitweb
cgi = /usr/lib/cgi-bin/gitweb.cgi
创建密码
sudo htpasswd -b /home/gerrit/review_site/passwords admin admin //要和apache服务器中的配置对应
重启服务
sudo /home/gerrit/review_site/bin/gerrit.sh restart sudo /etc/init.d/apache2 restart