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.pswp.cn/pingmian/95911.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95911.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/95911.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从 Excel 趋势线到机器学习:拆解 AI 背后的核心框架​

引言&#xff1a;你其实早就 “玩转” 过机器学习&#xff1f;提到 “机器学习”&#xff0c;你是不是第一时间联想到复杂的代码、密密麻麻的公式&#xff0c;还有那些让人头晕的 “算法”“模型”“训练” 术语&#xff1f;仿佛它是高高在上的技术&#xff0c;离我们的日常无比…

Lenovo联想YOGA Pro 16 IAH10 2025款笔记本电脑(83L0)开箱状态预装OEM原厂Win11系统

适用机型(MTM)&#xff1a;【83L0】 链接&#xff1a;https://pan.baidu.com/s/1tDpeBb93t1u0XIgqAZ3edg?pwdqy2r 提取码&#xff1a;qy2r 联想原装系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、联想浏览器、电脑管家、…

Android 开发 - 一些画板第三方库(DrawBoard、FingerPaintView、PaletteLib)

一、DrawBoard 1、Dependencies 模块级 build.gradle implementation com.github.jenly1314:drawboard:1.1.02、Test &#xff08;1&#xff09;Activity Layout activity_draw_board.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout …

捷多邦揭秘超厚铜板:从制造工艺到设计关键环节​

一、超厚铜板制造工艺要点超厚铜板&#xff08;3oz 及以上&#xff09;的制造工艺对精度和稳定性要求严苛&#xff0c;核心环节需突破多重技术壁垒。蚀刻工艺中&#xff0c;因铜箔厚度达 105μm 以上&#xff0c;需采用高浓度酸性蚀刻液&#xff08;氯化铜浓度控制在 180-220g/…

【MYSQL | 高级篇 MyCat实现分库分表】

摘要&#xff1a;本文围绕分库分表展开&#xff0c;先分析单库性能瓶颈&#xff0c;介绍垂直与水平拆分策略及实现技术&#xff0c;再详述 MyCat 中间件的概述、环境准备、目录结构&#xff0c;讲解其入门配置与测试&#xff0c;深入说明核心配置文件&#xff0c;最后演示垂直和…

Docker部署Drawnix开源白板工具

Drawnix简介 Drawnix 是一款开源的在线白板工具&#xff08;SaaS&#xff09;&#xff0c;集思维导图、流程图绘制、自由画图等多种功能于一体&#xff0c;支持协作与插件扩展&#xff0c;适用于个人创作、团队协作和远程办公场景。它完全免费且开源&#xff0c;提供丰富的编辑…

Griffin|增强现实数据集|无人机数据集

Griffin|增强现实数据集|无人机数据集 数据来源&#xff1a;huggingface 百度网盘 构建方式 Griffin数据集的构建采用了模块化架构&#xff0c;结合了CARLA和AirSim平台&#xff0c;通过模拟真实世界中的无人驾驶环境和无人机动态&#xff0c;收集了超过30,000帧图像数据&am…

力扣.1054距离相等的条形码力扣767.重构字符串力扣47.全排列II力扣980.不同路径III力扣509.斐波那契数列(记忆化搜索)

目录 力扣.1054距离相等的条形码 力扣767.重构字符串 力扣47.全排列II 力扣980.不同路径III 力扣509.斐波那契数列&#xff08;记忆化搜索) 力扣.1054距离相等的条形码 是否策略正确 但是假如 1 2 2 此时 1_2 此时中间只能填写2&#xff0c;但是就不对了&#xff0c;所…

「docker」二、3分钟快速理解docker核心要素

上一节中我们知道docker的作用&#xff0c;这节我们介绍一下docker的要素。 镜像 docker的核心要素里面有个叫镜像&#xff08;images&#xff09;的概念&#xff0c;镜像的作用就类似我们安装虚拟机用到的iso镜像文件。镜像里包含了我们要运行的应用&#xff0c;如&#xff…

搭建基于 Solon AI 的 Streamable MCP 服务并部署至阿里云百炼

一、快速搭建 Solon 项目&#xff0c;引入 Solon AI 1. 开发环境准备 JDK 8 或以上版本。Maven 3.8.6 或以上版本。通义千问 API Key&#xff08;用于模型调用&#xff09;。 2. 创建名为 mcp-server-demo 的项目 创建时选择 Archetype 为 Solon AI&#xff08;可以减少些活&am…

免费的SSL和付费SSL 证书差异

免费的 SSL 和付费的 SSL&#xff08;TLS 证书&#xff09;本质上提供的加密能力是一样的&#xff0c;因为 SSL/TLS 协议本身是开放标准&#xff0c;核心加密算法不会因为是否收费而不同。主要区别在于以下几个方面&#xff1a;&#x1f511; 1. 加密强度免费 SSL&#xff1a;一…

代码随想录算法训练营第六天 -- 字符串1 || 344.反转字符串I / 541.反转字符串II / kamacoder54.替换数字--第八期模拟笔试

代码随想录算法训练营第六天 -- 字符串1 || 344.反转字符串I / 541.反转字符串II / kamacoder54.替换数字--第八期模拟笔试344.反转字符串I思路541.反转字符串II题目理解解题思路边界细节reverse()函数的实现[kamacoder54.替换数字 -- 第八期模拟笔试](https://kamacoder.com/p…

计算机视觉——光流法

系列文章目录 本系列开篇文章&#xff0c;暂时没有目录啦&#xff5e; 文章目录系列文章目录前言一、问题假设二、方程推导三、计算Ix,Iy,ItI_x,I_y,I_tIx​,Iy​,It​四、计算光流u,vu,vu,v4.1 传统算法Lucas-Kanade算法五、孔径问题5.1 直观理解5.2 数学角度5.3 解决方法总结…

前端安全攻防:XSS, CSRF 等防范与检测

前端安全攻防&#xff1a;XSS, CSRF 等防范与检测在Web应用日益普及的今天&#xff0c;前端安全已经成为一个不容忽视的重要环节。随着攻击技术的不断演进&#xff0c;各种前端安全漏洞&#xff08;如跨站脚本攻击 XSS、跨站请求伪造 CSRF 等&#xff09;层出不穷&#xff0c;它…

03OpenCV图像处理

参考课程&#xff1a; 【黑马程序员 OpenCV入门教程】 [https://www.bilibili.com/video/BV1Fo4y1d7JL] ZZHow(ZZHow1024) 1.1几何变换 图像缩放 对图像的大小进行调整&#xff0c;即使图像放大或缩小 cv2.resize(src, dsize, fx0, fy0, interpolationcv2.INTER_LINEAR)参数…

UE5 C++ 第三方动态库的使用

一. 首先要拷贝对应的 第三方库 bin里有dll动态库&#xff0c;include里有动态库需要的头文件。 二.在Target.cs里&#xff0c;进行设置 头文件前面的路径为公共路径 设置需要一起打包的三方库文件 三.加载这个库 FPlatformProcess::GetDllHandle将他解析为 任意类型&#x…

C++进阶——多态

ʕ • ᴥ • ʔ づ♡ど &#x1f389; 欢迎点赞支持&#x1f389; 个人主页&#xff1a;励志不掉头发的内向程序员&#xff1b; 专栏主页&#xff1a;C语言&#xff1b; 文章目录 前言 一、多态的概念 二、多态的定义及实现 2.1、多态的构成条件 &#xff08;1&#xff09;虚函…

Swift 语法学习指南 - 与 Kotlin 对比

Swift 语法学习指南 - 与 Kotlin 对比 本指南专为有 Android/Kotlin 开发经验的开发者设计&#xff0c;通过对比学习快速掌握 Swift 语法 目录 语言基础对比变量与常量数据类型函数定义类与结构体继承与协议可选类型集合类型控制流闭包与Lambda扩展与Extension错误处理内存管理…

嵌入式C语言笔记十七——构造数据类型

一.结构体&#xff1a;1.类型定义&#xff1a;struct 结构体名 {数据类型1 成员变量1;数据类型2 成员变量2;数据类型3 成员变量3;... };struct student {char name[32];char sex;int age;int score; };2.结构体变量定义&#xff1a;存储类型 数据类型 变量名;3.结构体元素初始化…

深入实践G1垃圾收集器调优:Java应用性能优化实战指南

深入实践G1垃圾收集器调优&#xff1a;Java应用性能优化实战指南 一、技术背景与应用场景 随着微服务和海量并发请求的普及&#xff0c;Java应用在生产环境中对低延迟和高吞吐的需求日益显著。传统的CMS和Parallel GC 在大内存场景下常出现Full GC 停顿时间长、吞吐下降等问题…