#本页面按192.168.60.148服务器举例进行安装配置
1.权限配置
|-------------------------------------------------------------------------------------------------------------------------------------------|
| ## 使用root或者有sudo权限用户执行 # 创建gerrit用户 sudo useradd gerrit # 设置gerrit用户的密码 sudo passwd gerrit # 增加sudo权限 sudo visudo |
在root ALL=(ALL:ALL) ALL行下添加如下内容
gerrit ALL=(ALL:ALL) ALL
如下图:

2.安装jdk
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 更新软件资源库 sudo apt update # 安装jdk17 sudo apt ``install openjdk-17-jdk # 查看java版本号 java -version # 列出已安装的 JDK 版本: sudo update-alternatives --list java #设置默认 JDK 版本: sudo update-alternatives --config java |
3.下载gerrit.war包
|-------------------------------------------------------------------------------------|
| cd wget https:``//gerrit-releases``.storage.googleapis.com``/gerrit-3``.9.1.war |
4.安装gerrit
|----------------------------------------------------------------------------------------------------------------------------------------------|
| # 定义安装目录 export GERRIT_SITE=``"/data/gerrit/review_site" # 安装gerrit sudo java -jar ~``/gerrit-3``.9.1.war init -d ${GERRIT_SITE} |
执行完输出如下,红色部分为修改点,其它的默认按回车,如下:
sudo gerrit 的密码:
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore
2024-07-17 15:04:40,058 main INFO com.google.gerrit.server.config.GerritServerConfigProvider : No /data/gerrit/review_site/etc/gerrit.config; assuming defaults
*** Gerrit Code Review 3.9.1
***
Create '/data/gerrit/review_site' Y/n?
*** Git Repositories
***
Location of Git repositories git:
*** JGit Configuration
***
Auto-configured "receive.autogc = false" to disable auto-gc after git-receive-pack.
*** Index
***
Type lucene:
*** User Authentication
***
Authentication method openid/?: http
Get username from custom HTTP header y/N?
SSO logout URL :
Enable signed push support y/N?
Use case insensitive usernames Y/n?
*** Review Labels
***
Install Verified label y/N?
*** Email Delivery
***
SMTP server hostname localhost:
SMTP server port (default):
SMTP encryption none/?:
SMTP username :
*** Container Process
***
Run as root: gerrit
Java runtime /usr/lib/jvm/java-17-openjdk-amd64:
Copy gerrit-3.9.1.war to /data/gerrit/review_site/bin/gerrit.war Y/n?
Copying gerrit-3.9.1.war to /data/gerrit/review_site/bin/gerrit.war
*** SSH Daemon
***
Listen on address \*:
Listen on port 29418:
Generating SSH host key ...
rsa... ed25519... ecdsa 256... ecdsa 384... ecdsa 521... done
*** HTTP Daemon
***
Behind reverse proxy y/N?
Use SSL (https://) y/N?
Listen on address \*:
Listen on port 8080: 8095
Canonical URL [http://169.254.95.120:8095/](http://169.254.95.120:8095/ "http://169.254.95.120:8095/"):
*** Cache
***
*** Plugins
***
Installing plugins.
Install plugin codemirror-editor version v3.9.1 y/N? y
Installed codemirror-editor v3.9.1
Install plugin commit-message-length-validator version v3.9.1 y/N? y
Installed commit-message-length-validator v3.9.1
Install plugin delete-project version v3.9.1 y/N? y
Installed delete-project v3.9.1
Install plugin download-commands version v3.9.1 y/N? y
Installed download-commands v3.9.1
Install plugin gitiles version v3.9.1 y/N? y
Installed gitiles v3.9.1
Install plugin hooks version v3.9.1 y/N? y
Installed hooks v3.9.1
Install plugin plugin-manager version v3.9.1 y/N? y
Installed plugin-manager v3.9.1
Install plugin replication version v3.9.1 y/N? y
Installed replication v3.9.1
Install plugin reviewnotes version v3.9.1 y/N? y
Installed reviewnotes v3.9.1
Install plugin singleusergroup version v3.9.1 y/N? y
Installed singleusergroup v3.9.1
Install plugin webhooks version v3.9.1 y/N? y
Installed webhooks v3.9.1
Initializing plugins.
============================================================================
Welcome to the Gerrit community
Find more information on the homepage: https://www.gerritcodereview.com
Discuss Gerrit on the mailing list: https://groups.google.com/g/repo-discuss
============================================================================
Initialized /data/gerrit/review_site
Init complete, reindexing accounts,changes,groups,projects with: reindex --site-path /data/gerrit/review_site --threads 1 --index accounts --index changes --index groups --index projectsReindexed 0 documents in accounts index in 0.0s (0.0/s)
Index accounts in version 13 is ready
Reindexing groups: 100% (2/2)
Reindexed 2 documents in groups index in 0.3s (7.1/s)
Index groups in version 10 is ready
Reindexing changes: Slicing projects: 100% (2/2), done
Reindexed 0 documents in changes index in 0.0s (0.0/s)
Index changes in version 84 is ready
Reindexing projects: 100% (2/2)
Reindexed 2 documents in projects index in 0.1s (17.4/s)
Index projects in version 8 is ready
Executing /data/gerrit/review_site/bin/gerrit.sh start
Starting Gerrit Code Review:
OK
Waiting for server on 169.254.95.120:8095 ... OK
Please open the following URL in the browser: http://169.254.95.120:8095/#/admin/projects/
4. gerrit配置
|-------------------------------------------------------------------------------------------------------------|
| cd $GERRIT_SITE vim etc``/gerrit``.config # 修改canonicalWebUrl和listenUrl,如需要配置邮箱请增加上[sendmail]部分,如下: |
gerrit
basePath = git
canonicalWebUrl = http://192.168.60.148:8095/
serverId = 0afe5cc3-9171-4ce4-8265-7c97d95a3ae1
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 = root
javaHome = /usr/lib/jvm/java-17-openjdk-amd64
index
type = lucene
auth
type = HTTP
receive
enableSignedPush = false
maxObjectSizeLimit = 50g
sendemail
enable = true
smtpServer = smtp.mxhichina.com
smtpServerPort = 25
smtpEncryption = none
smtpUser = cibot@xxx.com
smtpPass = 123456qQ
from = cibot@xxx.com
sslVerify = false
sshd
listenAddress = *:29418
httpd
listenUrl = http://192.168.60.148:8095/
cache
directory = cache
5. apache配置
|-------------------------------------------------------------------------------------------------------------------------|
| # 安装apache sudo apt ``install -y apache2 # 启用 mod_proxy 模块 sudo a2enmod proxy sudo a2enmod proxy_http |
5.1 配置端口映射,执行 sudo vim /etc/apache2/httpd.conf并写入以下内容(红色为根据自定义进行修改):
<VirtualHost *:8096>
ServerName 192.168.60.148
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
AllowEncodedSlashes On
<Proxy *>
Require all granted
</Proxy>
<Location "/login/">
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthBasicProvider file
AuthUserFile /data/gerrit/review_site/passwords
</Location>
<Location "/">
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthBasicProvider file
AuthUserFile /data/gerrit/review_site/passwords
Options +FollowSymlinks
</Location>
ProxyPass / http://192.168.60.148:8095/ nocanon
ProxyPassReverse / http://192.168.60.148:8095/
<Proxy http://192.168.60.148:8095/*>
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
</Proxy>
</VirtualHost>
5.2使httpd.conf生效,在 /etc/apache2/apache2.conf下面文件最后增加以下行
Include httpd.conf
5.3 监听端口,执行sudo vim /etc/apache2/ports.conf,在最后一行增加以下内容
Listen 8096
6.创建帐号密码
生成passwords的路径需要与/etc/apache2/httpd.conf中配置一致
htpasswd /data/gerrit/review_site/passwords admin
7. 启动
sudo /data/gerrit/review_site/bin/gerrit.sh restart
sudo /etc/init.d/apache2 restart
8.登录
在浏览器中输入http://192.168.60.148:8096/进行访问