搭建gerrit服务器+LDAP认证+集成gitewb详细流程

这篇具有很好参考价值的文章主要介绍了搭建gerrit服务器+LDAP认证+集成gitewb详细流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。

引言

  • 本文介绍如何搭建gerrit服务器,以及搭配LDAP认证的详细流程。我以在云服务器 ESC (Elastic Compute Service)上搭建为例,ESC系统为 centos7.9。公网IP为121.51.39.239。
  • 里面涉及到的密码设置,可以自行选择密码配置,这里我统一设置为123123,避免搞混。
  • 如果你清除 LDAP 服务器如何搭建,请参考我的博文 搭建LDAP服务器详细流程,里面详细介绍了LDAP 服务器的搭建流程。

资源包准备

  • 有些资源在centos中无法通过 yum install 安装,需要下载后手动安装。
  • 下面的下载链接中有个 Gerrit 资源压缩包,需要提前下载准备好。
    链接:https://pan.baidu.com/s/1KspZJGBzjXt0QIm3ITE2QQ?pwd=xofo 提取码:xofo
  • 下载完成后,需要在Windows下解压出来得到 gerrit_src 文件夹,里面包括 gerrit 安装包 (gerrit-2.13.11.war) , 以及 Gerrit 插件 (gerrit_lib.tar.gz).后续将这两个文件上传到 centos 的根路径中。需要进行手动安装。

安装部署

1. 安装 gerrit

  1. 安装git
    yum -y install git
    
  2. 获取 gerrit 资源包
    将一开始准备的资源包 gerrit-2.13.11.wargerrit_lib.tar.gz 软件包上传至 /root 目录
  3. 安装java(java版本要大于1.7)
    yum -y install java
    

2. 安装数据库

  1. 安装数据库mysql

    yum -y install mariadb*
    
  2. 启动数据库

    systemctl start mariadb 
    systemctl enable mariadb 
    
  3. 初始化数据库

    [root@codesweet ~]# mysql_secure_installation
    Enter current password for root (enter for none):  # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车
    Set root password? [Y/n]  # 设置密码,y
    New password:  # 新密码 123456
    Re-enter new password:  # 再次输入密码 123456
    Remove anonymous users? [Y/n]  # 移除匿名用户, y
    Disallow root login remotely? [Y/n]  # 拒绝root远程登录,n
    Remove test database and access to it? [Y/n]  # 删除test数据库,y
    Reload privilege tables now? [Y/n]  # 重新加载权限表,y。或者重启服务也许
    
  4. 数据库字符集配置
    a. vim /etc/my.cnf ,在 [mysqld] 标签下添加:

    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    

    b. vim /etc/my.cnf.d/client.cnf ,在 [client] 标签下添加:

    default-character-set=utf8
    

    c. /etc/my.cnf.d/mysql-clients.cnf ,在 [mysql] 标签下添加

    default-character-set=utf8
    

    d. 重启数据库服务

    systemctl restart mariadb
    

3. 配置启动

  1. 登录数据库
    mysql -p123456
    
  2. 创建数据库
    create database reviewdb;
    grant all privileges on reviewdb.* to "gerrit"@"%" identified by "123456"; 
    
  3. 刷新权限并退出
    flush privileges;
    exit;
    
  4. 创建gerrit用户
    adduser gerrit
    
  5. 切换到gerrit用户
    cd /
    \cp gerrit-2.13.11.war /home/gerrit/
    \cp gerrit_lib.tar.gz /home/gerrit/
    su - gerrit
    
  6. 初始化环境
    mkdir -p /home/gerrit/code_review
    tar xf gerrit_lib.tar.gz -C code_review/
    

4. 安装 gerrit

  1. 安装 gerrit

    java -jar gerrit-2.13.11.war init -d /home/gerrit/code_review
    

    ldap认证的初始化配置方式如下:

    *** Gerrit Code Review 2.13.11
    *** 
    Create '/home/gerrit/code_review' [Y/n]? 回车
    *** Git Repositories
    *** 
    Location of Git repositories   [git]: 回车
    
    *** SQL Database
    *** 
    Database server type           [h2]:mysql
    
    *** User Authentication
    *** 
    
    Authentication method          [OPENID/?]: LDAP
    LDAP server                    [ldap://localhost]: ldap://121.51.39.239
    LDAP username                  : cn=admin,dc=codesweet,dc=com
    cn=admin,dc=bkce,dc=com's password :  123456
                  confirm password :  123456
    Account BaseDN                 [DC=168,DC=56,DC=85]: ou=users,dc=codesweet,dc=com
    Group BaseDN                   [ou=users,dc=bkce,dc=com]: ou=users,dc=codesweet,dc=com
    Enable signed push support     [y/N]? 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/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre]: 回车
    Copy gerrit-2.13.11.war to /home/gerrit/code_review/bin/gerrit.war [Y/n]? y
    Copying gerrit-2.13.11.war to /home/gerrit/code_review/bin/gerrit.war
    
    *** SSH Daemon
    *** 
    
    Listen on address              [*]: 回车
    Listen on port                 [29418]: 回车
    
    Gerrit Code Review is not shipped with Bouncy Castle Crypto SSL v152
      If available, Gerrit can take advantage of features
      in the library, but will also function without it.
    Download and install it now [Y/n]? y
    Downloading https://repo1.maven.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.52/bcpkix-jdk15on-1.52.jar ... OK
    Checksum bcpkix-jdk15on-1.52.jar OK
    
    Gerrit Code Review is not shipped with Bouncy Castle Crypto Provider v152
    ** This library is required by Bouncy Castle Crypto SSL v152. **
    Download and install it now [Y/n]? y
    Downloading https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk15on/1.52/bcprov-jdk15on-1.52.jar ... OK
    Checksum bcprov-jdk15on-1.52.jar OK
    Generating SSH host key ... rsa... dsa... done
    
    *** HTTP Daemon
    *** 
    
    Behind reverse proxy           [y/N]? 回车
    Use SSL (https://)             [y/N]? 回车
    Listen on address              [*]: 回车
    Listen on port                 [8080]: 回车
    Canonical URL                  [http://linux-node83.domain.local:8080/]: http://121.51.39.239:8080/
    
    *** Cache
    *** 
    
    *** Plugins
    *** 
    Installing plugins.
    Install plugin commit-message-length-validator version v2.13.11 [y/N]? y
    Installed commit-message-length-validator v2.13.11
    Install plugin download-commands version v2.13.11 [y/N]? y
    Installed download-commands v2.13.11
    Install plugin hooks version v2.13.11 [y/N]? y
    Installed hooks v2.13.11
    Install plugin replication version v2.13.11 [y/N]? y
    Installed replication v2.13.11
    Install plugin reviewnotes version v2.13.11 [y/N]? y
    Installed reviewnotes v2.13.11
    Install plugin singleusergroup version v2.13.11 [y/N]? y
    Installed singleusergroup v2.13.11
    Initializing plugins.
    No plugins found with init steps.
    
  2. 启动 gerrit

    /home/gerrit/code_review/bin/gerrit.sh restart
    
  3. 配置文件
    上面的安装步骤后续如果有些配置想要更改的话,可以对 /home/gerrit/code_review/etc/gerrit.config 文件进行更改

    vim /home/gerrit/code_review/etc/gerrit.config
    

    然后重启 gerrit

    /home/gerrit/code_review/bin/gerrit.sh restart
    

    我的 gerrit.config 文件内容:

    [gerrit]
            basePath = git
            serverId = 3c7f6094-4b63-4c30-a4e3-7e1805a3f1ed
            canonicalWebUrl = http://121.51.39.239:8080/
    [database]
            type = mysql
            hostname = localhost
            database = reviewdb
            username = gerrit
    [auth]
            type = LDAP
    [ldap]
            server = ldap://121.51.39.239
            username = cn=admin,dc=codesweet,dc=com
            accountBase = ou=users,dc=codesweet,dc=com
            groupBase = ou=users,dc=codesweet,dc=com
    [receive]
            enableSignedPush = false
    [sendemail]
            #smtpServer = localhost
            enable = true
            smtpServer = smtp.qq.com
            smtpServerPort = 465
            smtpEncryption = SSL
            sslVerify = true
            smtpUser = 24611***@qq.com
            smtpPass = dmytimlooemd***
            from = 24611***@qq.com
    [container]
            user = gerrit
            javaHome = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.an7.x86_64/jre
    [sshd]
            listenAddress = *:29418
    [httpd]
            listenUrl = http://*:8080/
    [cache]
            directory = cache
    [gitweb]
            type = gitweb
            cgi = /var/www/git/gitweb.cgi
    
    
  4. 配置 gerrit 服务器邮箱
    a. 如果需要邮箱推服务,就是提交代码后,会有邮件告知 code review 审查人员。那么就需要配置 gerrit 服务器邮箱,可以在 gerrit.config 中进行配置。

    b. gerrit 服务器邮箱只有一个,起转发作用,就是将某个 gerrit 客户端的信息转发给另一个或多个客户端。

    c. 如果你的服务器邮箱配置的是 qq 邮箱 gerrit.config 中 sendemail 字段中如果是qq邮箱,则按照下述配置,里面最终要的一点不要搞错,smtpPass填的不是邮箱密码,而是授权码,这个授权码是需要提前到qq邮箱的设置中开启smtp授权的,开启后会得到授权码。开启方法:qq邮箱如何开启SMTP服务

    [sendemail]
            #smtpServer = localhost
            enable = true
            smtpServer = smtp.qq.com
            smtpServerPort = 465
            smtpEncryption = SSL
            sslVerify = true
            smtpUser = 24611***@qq.com
            smtpPass = dmytimlooemd***
            from = 24611****@qq.com
    

    d. 163 邮箱也类似的步骤

    [sendemail]
    	    #smtpServer = localhost
    	    enable = true
    	    smtpServer = smtp.163.com
    	    smtpServerPort = 465
    	    smtpEncryption = SSL
    	    sslVerify = true
    	    smtpUser = 788844***@163.com
    	    smtpPass = dmdddsemd***
    	    from = 788844***@163.com
    

管理员用户登录

1. 在LDAP上注册用户

  1. 先登录 LDAP 服务器
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
  2. 创建用户组
    a. 先点击 users,再点击 创建一个子目录
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    b. 点击 Posix Group
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    c. 输入组名,然后点击创建对象
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    d. 然后点击提交
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
  3. 创建用户
    a. 先点击 users,再点击 创建一个子目录
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    b. 点击 User Accout
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    c. 创建用户对象
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    d. 点击提交
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    第一次登陆gerrit的用户默认为超级管理员用户,管理员可以创建仓库,后面登陆的用户都是普通用户,普通用户无法创建仓库,除非被管理员赋予权限。
  4. 添加邮箱
    a. 点击 eric,然后点击 添加新的属性,然后在选框中选中 Email
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    b. 在 添加属性 栏中的下拉框选中 Email
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    c. 然后填写邮箱信息后直接回车即可
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    d. 然后点击 Update Object
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
  5. web 端登录 gerrit
    a. 打开浏览器:http://121.51.39.239:8080
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    b. 输入用户名 eric 和密码 123456,然后点击 Sign In
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    c. 登陆成功后,可以看到可以创建仓库
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程

在gerrit服务器上集成gitweb

  1. 安装gitweb

    yum install gitweb
    

    安装完成后会有如下文件:/var/www/git/gitweb.cgi

  2. 配置gitweb
    修改gitweb的配置文件(/etc/gitweb.conf),将配置项“$projectroot”修改为gerrit的git仓库目录

    $projectroot = "/etc/gerrit/git"
    
  3. 配置gerrit
    修改gerrit的配置文件(gerrit.config),添加如下配置

    [gitweb]
    type = gitweb
    cgi = /var/www/git/gitweb.cgi
    
  4. 验证是否成功
    可以看到 gitweb 字样就表示成功了搭建gerrit服务器+LDAP认证+集成gitewb详细流程
    点击 gitweb ,可以看到下述内容表示成功
    搭建gerrit服务器+LDAP认证+集成gitewb详细流程文章来源地址https://www.toymoban.com/news/detail-432840.html

到了这里,关于搭建gerrit服务器+LDAP认证+集成gitewb详细流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器集群配置LDAP统一认证高可用集群(配置tsl安全链接)-centos9stream-openldap2.6.2

    因之前集群为centos6,已经很久没升级了,所以这次配置统一用户认证也是伴随系统升级到centos9时一起做的配套升级。新版的openldap配置大致与老版本比较相似,但有些地方配置还是有变化,另外,铺天盖地的帮助文档有相当一部分是直接搬砖过来的,所以参考时容易出错,这

    2024年02月05日
    浏览(42)
  • 搭建Radius认证服务器 安当加密

    搭建Radius认证服务器需要完成以下步骤: 安装Radius服务器软件。可以选择使用FreeRadius、Radiusd或WinRadius等开源软件,也可以选择使用商业软件如Cisco或 安当ASP 等。 配置认证数据库。在Radius服务器上配置认证数据库,用于存储用户信息和认证信息。可以选择使用常见的数据库

    2024年02月05日
    浏览(51)
  • Spring Boot OAuth2 认证服务器搭建及授权码认证演示

    本篇使用JDK版本是1.8,需要搭建一个OAuth 2.0的认证服务器,用于实现各个系统的单点登录。 这里选择Spring Boot+Spring Security + Spring Authorization Server 实现,具体的版本选择如下: Spirng Boot 2.7.14 , Spring Boot 目前的最新版本是 3.1.2,在官方的介绍中, Spring Boot 3.x 需要JDK 17及以上的

    2024年02月15日
    浏览(49)
  • 搭建spring security oauth2认证授权服务器

    下面是在spring security项目的基础上搭建spring security oauth2认证授权服务器 spring security oauth2认证授权服务器主要需要以下依赖 Spring Security对OAuth2默认可访问端点 ​/oauth/authorize​ ​​:申请授权码code,涉及类​ ​AuthorizationEndpoint​ ​ ​/oauth/token​ ​​:获取令牌token,涉及类​

    2024年01月21日
    浏览(57)
  • 关于 java如何集成chatgpt,如何集成到html5前端界面,如何实现多伦对话,如何申请域名,如何申请服务器,搭建环境(一)

    Java如何集成ChatGPT,如何集成到HTML5前端界面,如何实现多伦对话 随着人工智能技术的不断发展,聊天机器人已经成为了人们日常生活中不可或缺的一部分。ChatGPT是一种基于自然语言处理技术的聊天机器人,它可以通过对话来理解用户的需求,并给出相应的回答。在本文中,

    2024年02月03日
    浏览(75)
  • Git服务器集成 · GitHub 服务器(二)

    本篇文章旨在分享本人在学习Git时的随笔记🤩   当我们可以搭建中央服务器让项目组开发人员共享代码,但是如果我们的开发人员都是通过互联网进行协作,而不是在同一个地方,那么开发时,程序文件代码的版本管理就显得更加重要,这就需要搭建一个互联网的版本库

    2024年02月07日
    浏览(90)
  • 校园网免认证服务器大增加

    这学期搞拐了,服务器整多了,结果没有几个人来消耗带宽,监控图片为证,网速快,线路多 线路展示

    2024年02月09日
    浏览(29)
  • 腾讯云服务器怎么进行学生认证?需要注意什么?

    腾讯云服务器怎么进行学生认证?需要注意什么?腾讯云学生服务器1核2G可选轻量应用服务器和云服务器CVM,如何进行学生认证?主机教程网来分享腾讯云学生服务器认证链接地址及学生认证注意事项。 1、腾讯云学生服务器9元/月优惠活动为云+校园,25岁以下免学生认证,那

    2024年02月11日
    浏览(52)
  • Git服务器集成(一)

    本篇文章旨在分享本人在学习Git时的随笔记🤩   之前所有的操作都是基于本地机器完成的。如果在公司中,一个项目是共用一个版本库的。那么所有的开发人员都应该对同一个版本库进行操作。因为Git软件本身是用于 Linux 系统开发所设计的版本管理软件,项目搭建共享版

    2024年02月04日
    浏览(89)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包