gerrit代碼審計+ldap部署配置


1、下載安裝包可以在官網上下載

這個版本不需要依賴數據庫

https://gerrit-documentation.storage.googleapis.com/Documentation/3.2.3/install.html

2、新建用戶

新建gerrit用戶
sudo adduser gerrit
sudo su gerrit

3、安裝

[gerrit@VM_32_3_centos bags]$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
[gerrit@VM_32_3_centos bags]$ java -jar gerrit-3.2.3.war init -d /home/gerrit_app
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore
[2019-07-30 13:51:43,882] [main] INFO  com.google.gerrit.server.config.GerritServerConfigProvider : No /home/gerrit_app/etc/gerrit.config; assuming defaults


*** Gerrit Code Review 3.2.3
***

Create '/home/gerrit/gerrit'   [Y/n]?


*** Git Repositories
***


Location of Git repositories   [git]: /home/gerrit_app/gerrit_repo


*** 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]?


*** 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                         [gerrit]:
Java runtime                   [/usr/local/jdk1.8.0_161/jre]:
Copy gerrit-3.0.0.war to /home/gerrit/gerrit/bin/gerrit.war [Y/n]?
Copying gerrit-3.0.0.war to /home/gerrit/gerrit/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]?y
Use SSL (https://)             [y/N]?
Listen on address              [*]:
Listen on port                 [8080]: 8020
Canonical URL            [http://localhost:8787/]:http://localhost:8020/gerrit


*** Cache
***




*** Plugins
***


Installing plugins.
Install plugin codemirror-editor version v3.0.0 [y/N]?
Install plugin commit-message-length-validator version v3.0.0 [y/N]?
Install plugin delete-project version v3.0.0 [y/N]?
Install plugin download-commands version v3.0.0 [y/N]?
Install plugin gitiles version v3.0.0 [y/N]?
Install plugin hooks version v3.0.0 [y/N]?
Install plugin plugin-manager version v3.0.0 [y/N]?
Install plugin replication version v3.0.0 [y/N]?
Install plugin reviewnotes version v3.0.0 [y/N]?
Install plugin singleusergroup version v3.0.0 [y/N]?
Install plugin webhooks version v3.0.0 [y/N]?
Initializing plugins.
No plugins found with init steps.

4、等待運行結果:

配置文件內容

5、這個時候看嘗試訪問8787端口:

6、我通過查看上面的博客發現,是因為gerrit需要使用反向代理,我這里使用的是nginx。

7、為了讓反向代理能夠有登錄的用戶名和密碼,需要創建用戶名和密碼,需要使用到工具htpasswd

[root@VM_32_3_centos ~]# htpasswd -c /home/gerrit/gerrit/etc/gerrit.password admin
-bash: htpasswd: command not found
[root@VM_32_3_centos ~]# yum -y install httpd-tools
```bash

## 8、然后創建admin用戶
[root@VM_32_3_centos ~]# htpasswd -c /home/gerrit/gerrit/etc/gerrit.password admin
## 9、然后配置nginx反向代理:
代理到這個8787端口
## 10、重新加載nginx配置文件 
nginx -s reload
## 11、再次訪問安裝機器的81端口:

## 12、原因是nginx不能訪問用戶gerrit文件夾的內容。所以需要給gerrit文件夾對應755權限
```bash
chmod 755 /home/gerrit

13、安裝成功

配置腳本示例

[gerrit@BJ-DBL-A09-ZYC1Q-OMP-HPDL360-SV004 etc]$ vim gerrit.config

[gerrit]
        basePath = git
        canonicalWebUrl = http://10.148.33.129:8020/gerrit
        serverId = e984d66d-d292-4aa0-9c8c-36995c0044f1
[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-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/jre
[index]
        type = lucene
[gerrit]
        basePath = git
        canonicalWebUrl = http://10.148.88.129:8020/gerrit
        serverId = e984d66d-d292-4aa0-9c8c-36995c0044f1
[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-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64/jre
[index]
        type = lucene
[auth]
        type = HTTP
        gitBasicAuthPolicy = HTTP
[receive]
        enableSignedPush = false
[sendmail]
        smtpUser = localhost

[auth]
        type = ldap
[ldap]
        server = ldap://10.148.33.14:389
        username = cn=gerrit,dc=test,dc=com
        accountBase = ou=people,dc=test,dc=com
        groupBase = ou=groups,dc=test,dc=com
        groupMemberPattern = (member=${dn})
        accountFullName = cn
        supportAnonymous = false
[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = proxy-http://*:8020/gerrit
[cache]
        directory = cache
[plugins]
        allowRemoteAdmin = true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM