Windows 部署 Gerrit 与 Apache24 配置

Windows 部署 Gerrit 与 Apache24 并配置反向代理

准备工作

  1. 下载并安装 Java JDK
    • 确保配置 JAVA_HOME 环境变量

博主这里安装openjdk21

https://jdk.java.net/archive/

  1. 下载所需软件

安装 Apache24

  1. 将下载的 Apache24 解压到合适的目录(例如:C:\Apache24

  2. Apache24\conf路径下,用记事本软件打开"httpd.conf"文件

    修改"Define SRVROOT"为安装目录

  3. 测试 Apache 是否能正常运行

    cmd 复制代码
    cd C:\Apache24\bin
    httpd.exe -k install -n apache
    httpd.exe -k start

计算机服务中出现apache的服务,可以手动启动

  1. 打开浏览器访问 http://localhost,如能看到 "It works!" 则表示安装成功

安装 Gerrit

  1. 创建 Gerrit 安装目录(例如:C:\gerrit

  2. 打开命令提示符,执行 Gerrit 安装命令

    cmd 复制代码
    java -jar gerrit-<version>.war init --batch -d C:\gerrit

可以修改-d后的路径,修改安装位置

  1. 配置 Gerrit(在安装过程中或修改 C:\gerrit\etc\gerrit.config
    注意替换canonicalWebUrl 中的ip

    [gerrit]
    basePath = git
    canonicalWebUrl = http://10.*.37.10:8080/
    serverId = 8a656c4b-3c51-4dcf-af46-de35d2770449
    [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 = Administrator
    javaHome = D:\software\jdk\openjdk-21.0.1_windows-x64_bin\jdk-21.0.1
    [index]
    type = lucene
    [auth]
    type = HTTP
    [receive]
    enableSignedPush = false
    [sendemail]
    smtpServer = localhost
    [sshd]
    listenAddress = :29418
    [httpd]
    listenUrl = http://
    :8080/
    [cache]
    directory = cache

配置 Apache 反向代理

  1. 启用 Apache 必要模块,编辑 C:\Apache24\conf\httpd.conf,确保以下模块被启用:

    apache 复制代码
    Define SRVROOT "D:\Apache24"
    ...
    ServerName 10.*.37.10:80
    ...
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule negotiation_module modules/mod_negotiation.so
    LoadModule authn_file_module modules/mod_authn_file.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    LoadModule authz_user_module modules/mod_authz_user.so
  2. httpd.conf 末尾添加反向代理配置:

    注意替换gerrit.passwd路径为真实路径

    apache 复制代码
     <VirtualHost *:80>
         ServerName localhost
         ProxyRequests Off
         ProxyVia Off
         ProxyPreserveHost On
    
     <Proxy *:80>
         Require all granted
     </Proxy>  
    
      <Location "/login/">
         AuthType Basic
         AuthName "Gerrit Code Review"
         Require valid-user
         AuthBasicProvider file
         AuthUserFile F:/Gerrit/etc/gerrit.passwd
     </Location>
     AllowEncodedSlashes On
     ProxyPass / http://localhost:8080/

```

配置账号密码认证

  1. 创建密码文件(需要使用 Apache 的 htpasswd 工具)

    -c参数为创建新的passwd文件

    cmd 复制代码
    cd C:\Apache24\bin
    htpasswd.exe -c C:\Apache24\conf\gerrit.passwd <用户名>

    执行后会提示输入密码,这将创建第一个用户

  2. 添加更多用户(注意去掉 -c 参数,否则会覆盖现有文件)

    cmd 复制代码
    htpasswd.exe C:\Apache24\conf\gerrit.passwd <新用户名>

启动服务

  1. 重启 Apache 服务

    cmd 复制代码
    cd C:\Apache24\bin
    httpd.exe -k restart
  1. 启动 Gerrit 服务
cmd 复制代码
C:\gerrit\bin\gerrit.sh start
  1. 访问 Gerrit:打开浏览器访问 http://localhost,使用你创建的账号密码登录

常见问题解决

  1. 端口冲突:如果 80 端口被占用,可以修改 Apache 的监听端口(在 httpd.conf 中修改 Listen 指令)

  2. 权限问题:确保 Gerrit 和 Apache 有足够的权限访问各自的目录

  3. 服务启动失败:查看 Apache 的错误日志(C:\Apache24\logs\error.log)和 Gerrit 的日志(C:\gerrit\logs\error_log)寻找线索

  4. 如果无法通过 http://localhost 访问 Gerrit,可以先测试直接访问 Gerrit 端口 http://localhost:8081 确认 Gerrit 本身是否正常运行

完成以上步骤后,你应该已经成功在 Windows 上部署了 Gerrit 并通过 Apache 实现了反向代理和账号密码认证。

相关推荐
AI行业说4 小时前
美国布艺市场全品类生产解析——誉财YC-18-M8045四轴模板机的多品种柔性制造方案
大数据·人工智能·自动化·智能家居·自动化缝纫
液态不合群5 小时前
AI+低代码破局:零售全域数据壁垒的落地新范式
人工智能·低代码·自动化·零售
隔窗听雨眠5 小时前
GitHub Actions自动化运维实战:从零构建一体化CI/CD流水线
运维·自动化·github
MXsoft6187 小时前
在大型混合云网络环境中,如何高效实现自动化运维?
运维·网络·自动化
曦尧16 小时前
OmniRoute:用“免费配额聚合 + 自动故障切换“压低 AI 调用成本的开源网关
ai·自动化
A洛17 小时前
Codex 实战:一句话完成 Temu 商品图采集与印花抠图自动化
运维·人工智能·自动化·codex
Urbano17 小时前
服装工厂卫衣量产提质增效方案:工序自动化替代、产能优化、多品牌设备选型及落地案例
运维·自动化
GlobalSign数字证书18 小时前
自动化时代,如何高效部署SSL证书?
运维·自动化·ssl
AC赳赳老秦19 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
D2aZXN3FhrDa7e2121 天前
佛山乐从低预算实体店如何选择?看美诚AI自动化获客方案
运维·人工智能·自动化·佛山美诚科技有限公司