当前位置: 首页 > news >正文

Windows 部署 Gerrit 与 Apache24 配置

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

准备工作

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

博主这里安装openjdk21
https://jdk.java.net/archive/
在这里插入图片描述

  1. 下载所需软件
    • Apache24:https://httpd.apache.org/download.cgi
      在这里插入图片描述
    • Gerrit:https://www.gerritcodereview.com/3.12.html
      在这里插入图片描述

安装 Apache24

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

  2. Apache24\conf路径下,用记事本软件打开“httpd.conf”文件
    修改“Define SRVROOT”为安装目录
    在这里插入图片描述

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

    cd C:\Apache24\bin
    httpd.exe -k install -n apache
    httpd.exe -k start
    

计算机服务中出现apache的服务,可以手动启动
4. 打开浏览器访问 http://localhost,如能看到 “It works!” 则表示安装成功

安装 Gerrit

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

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

    java -jar gerrit-<version>.war init --batch -d C:\gerrit
    

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

  1. 配置 Gerrit(在安装过程中或修改 C:\gerrit\etc\gerrit.config
    注意替换canonicalWebUrl 中的ip
[gerrit]basePath = gitcanonicalWebUrl = 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 = AdministratorjavaHome = 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,确保以下模块被启用:

    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路径为真实路径

     <VirtualHost *:80>ServerName localhostProxyRequests OffProxyVia OffProxyPreserveHost On<Proxy *:80>Require all granted</Proxy>  <Location "/login/">AuthType BasicAuthName "Gerrit Code Review"Require valid-userAuthBasicProvider fileAuthUserFile F:/Gerrit/etc/gerrit.passwd</Location>AllowEncodedSlashes OnProxyPass / http://localhost:8080/
    
```

配置账号密码认证

  1. 创建密码文件(需要使用 Apache 的 htpasswd 工具)
    -c参数为创建新的passwd文件

    cd C:\Apache24\bin
    htpasswd.exe -c C:\Apache24\conf\gerrit.passwd <用户名>
    

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

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

    htpasswd.exe C:\Apache24\conf\gerrit.passwd <新用户名>
    

启动服务

  1. 重启 Apache 服务
    cd C:\Apache24\bin
    httpd.exe -k restart
    

在这里插入图片描述
2. 启动 Gerrit 服务

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 实现了反向代理和账号密码认证。

http://www.xdnf.cn/news/1461799.html

相关文章:

  • 【传奇开心果系列】Flet框架实现的搜索引擎搜索关键词建议提示和自动完成自定义组件模板特色和实现原理深度解析
  • 无人机小目标检测新SOTA:MASF-YOLO重磅开源,多模块协同助力精度飞跃
  • [特殊字符] 香蕉超市|Nano Bananary|ZHO|已开源
  • 大数据毕业设计选题推荐-基于大数据的分化型甲状腺癌复发数据可视化分析系统-Spark-Hadoop-Bigdata
  • 85 printk 输出丢失数据
  • 分布式专题——1.1 Redis单机、主从、哨兵、集群部署
  • 解决 Apache/WAF SSL 证书链不完整导致的 PKIX path building failed 问题
  • 还在为第三方包 bug 头疼?patch-package 让你轻松打补丁!
  • 时间轮算法在workerman心跳检测中的实战应用
  • leecode kadane算法 解决数组中子数组的最大和,以及环形数组连续子数组的最大和问题
  • Doirs Routine Load
  • PHP:驱动现代Web应用发展的核心力量
  • 【AI产品思路】AI 原型设计工具横评:产品经理视角下的 v0、Bolt 与 Lovable
  • 如何在 C# 中将文本转换为 Word 以及将 Word 转换为文本
  • Python 实现 Markdown 与 Word 高保真互转(含批量转换)
  • Windows 文件资源管理器无法预览文件内容word、ppt、excel、pdf
  • python创建并写入excel文件
  • Go语言的编译和运行过程
  • 【案例】AI语音识别系统的标注分区策略
  • 云计算学习笔记——日志、SELinux、FTP、systemd篇
  • FastGPT源码解析 工作流、知识库、大模型、Agent等核心代码文件梳理
  • es运维常用命令
  • 基于cornerstone3D的dicom影像浏览器 第四章 鼠标实现翻页、放大、移动、窗宽窗位调节
  • 进阶向:Python生成艺术图案(分形、数学曲线)
  • 深度相机详解
  • Spring Boot启动失败从循环依赖到懒加载配置的深度排查指南
  • 《Keil 开发避坑指南:STM32 头文件加载异常与 RTE 配置问题全解决》
  • 【译】GitHub Copilot for Azure(预览版)已经在 Visual Studio 2022 中推出
  • 动物专家?单词测试!基于 TensorFlow+Tkinter 的动物识别系统与动物识别小游戏
  • claude-sonnet4和GLM-4-5-HTML版本迷宫小游戏