#本页面按192.168.60.148服务器举例进行安装配置
1.权限配置
|   
 
 
 
 
 
 
  | 
在root ALL=(ALL:ALL) ALL行下添加如下内容
gerrit ALL=(ALL:ALL) ALL
如下图:

2.安装jdk
|   
 
 
 
 
 
 
 
 
 
  | 
3.下载gerrit.war包
|   
 
  | 
4.安装gerrit
|   
 
 
 
  | 
# 执行完输出如下,红色部分为修改点,其它的默认按回车,如下:
[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/]:
 
 *** 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配置
|   
 
 
  | 
[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配置
|   
 
 
 
 
  | 
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/进行访问