git-http-backend 与 apache2.4 Centos 7

2024-03-10

我尝试在我的 apache 服务器上设置 Git 服务器,但它不起作用! 我得到了以下 git.conf

SetEnv GIT_PROJECT_ROOT /var/www/html/git/project1
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/

<Directory "/var/www/html/git/project1">
   Options ExecCGI Indexes
   Require all granted
</Directory>

<LocationMatch "^/git/.*/git-receive-pack$">
   AuthType Basic
   AuthName "Git Access"
   AuthUserFile /var/www/html/git/users/.htpasswd
   Require valid-user
</LocationMatch>

我创建了一个用户,但无法访问该网站。

Forbidden

You don't have permission to access /git/ on this server.

如果我评论第3行

#ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/

现在我可以访问该站点并可以看到 git 存储库。有谁知道我该如何解决这个问题。 英语不是我的母语,所以请耐心等待我的文字。 感谢您阅读最诚挚的问候 山姆


下列的git http-backend doc https://git-scm.com/docs/git-http-backend:

SetEnv GIT_PROJECT_ROOT /var/www/git

这应该是 git repos 所在的根文件夹(repo1.git、repo2.git,...)。不应该是/git/project1,它看起来像存储库本身的名称。

所以尝试一下这个例子:

SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/

<LocationMatch "^/git/.*/git-receive-pack$">
    AuthType Basic
    AuthName "Git Access"
    Require group committers
    ...
</LocationMatch>

注意:在交互式会话之后,您需要确保:

  • apache 读取或提供的数据归 apache:apache (chown -R) 所有
  • SElinux(安全增强型 Linux) https://en.wikipedia.org/wiki/Security-Enhanced_Linux允许httpd服务读取Z:ls -Z

如果后面的点不包含 httd_rw,则需要输入(如“为什么我的 Apache 只能访问 root 拥有的文件? https://stackoverflow.com/a/16582164/6309"),更改其上下文:

chcon -vR --type=httpd_sys_content_t /html/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git-http-backend 与 apache2.4 Centos 7 的相关文章

随机推荐

  • 打开和关闭 InfoWindow onclick

    任何人都可以帮助我在 eventListener 中编写代码 以便信息窗口执行以下操作 如果当前关闭则打开 并关闭 如果当前打开 我尝试了以下方法但没有成功 google maps event addListener marker clic
  • 使用网络音频 API 检查所选麦克风是否静音

    通过使用以下内容 我们可以提示用户在音频和视频源限制下选择他们喜欢的媒体输入设备 目前仅对 Chrome 支持感兴趣 navigator mediaDevices getUserMedia audio true then stream gt
  • 浮点序列化,字典序比较==浮点比较

    我正在寻找一种序列化浮点的方法 以便在序列化形式中 字典比较与浮点比较相同 我认为可以通过以下形式存储它 signed bit 1 for positive exponent significand 指数和有效数将被序列化为大尾数 而补码将
  • Facebook 登录可以在 localhost 中使用,但不能在 webhost 中使用

    我有一个类如下 public class FacebookScopedClient IAuthenticationClient private string appId private string appSecret private st
  • 如何检查本地文件是否是tfs中的最新版本?

    我希望能够询问 TfsTeamProjectCollection 并确定服务器上是否有更新版本的文件 我希望能够在不实际获取文件的情况下执行此操作 这在某个地方可能吗 我已经做了一些摸索 到目前为止还绘制了空白 Thanks 最简单的方法是
  • 查询 influxdb 的日期

    我在 influxdb 中有一个表 其中有一列名为 expirydate 在专栏中我有一些日期 例如 2016 07 14 或 2016 08 20 我只想选择 2016 07 14 日期 但我不确定如何 目前我的查询是 SELECT FR
  • 如何对 Matrix 包中“sparseMatrix”类的对象进行 QR 分解?

    我想用 QR 分解Matrix qr 我用它创建的矩阵上的函数B lt as A sparseMatrix 我知道我可以得到 R 矩阵Matrix qr R 不过 我还需要 Q 矩阵 Matrix包中似乎没有qr Q 函数 如何获得 Q 矩
  • 从 pandas 数据框到元组(对于半正矢模块)

    我有一个熊猫数据框my df包含以下列 id lat1 lon1 lat2 lon2 1 45 0 41 3 2 40 1 42 4 3 42 2 37 1 基本上 我想做以下事情 import haversine haversine ha
  • 缩放和平移 - 将 d3 代码升级到 d3.v4

    我一直在尝试将此代码升级到 d3 的 v4 但没有成功 function xnr selector var coordinates id 1 x 120 16353869437225 y 160 974180892502466 id 2 x
  • 这在 C# 或 LINQ 中意味着什么? - ( () => )

    我正在阅读 Jeffrey Palermo 的书并遇到了这种语法 private void InitializeRepositories Func
  • 使用 XPATH 在具有命名空间的 XML 中选择节点时出现问题

    我有以下 XPATH 行 det nItem 1 prod cProd 使用以下命令成功选择所需的节点XPath 可视化工具 http xpathvisualizer codeplex com 它会自动识别命名空间 您可以定义要选择的命名空
  • Eclipse 在哪里存储有关启动哪个工作区的信息?

    当我启动 Eclipse 时 它 会从我创建的工作区之一开始 并选择 不再询问 通常 Eclipse 会在启动过程中询问从哪个工作区开始 因此它必须存储要使用的工作空间 它在哪里存储这条信息 In HOME eclipse org ecli
  • VB在特定记录上打开表单

    我正在使用 Microsoft Access 我想在单击按钮时打开特定 ID 的表单 我可以在 Do open 表单命令中指定 id 吗 下面的代码打开一个表单 但随后打开一个对话框 要求输入 id 有人有什么想法吗 Private Sub
  • SwiftUI 问题将变量传递到另一个视图

    我想将浮点变量从一个视图传递到另一个新视图 在下面的代码中 有一个名为 mhzValue 的浮点值 它是通过滑块设置的 滑块更改该值 然后文本显示在视图中 当用户点击导航按钮显示新视图时 我希望能够获取 mhzValue 并将其显示在文本框
  • 在 CosmosDb 中使用 BulkExecutor 时出现无效索引异常

    当我尝试使用 BulkExecutor 更新 CosmosDb 中的属性之一时出现错误 错误消息是 索引超出范围 必须为非负数且小于集合的大小 参数名称 索引 重要的一点 我没有在我的集合上定义分区键 这是我的代码 SetUpdateOpe
  • 将插件插入流体模板?

    扩展名客搜索 https typo3 org extensions repository view ke search有一个搜索字段插件 我想将其插入到我的流体模板中并显示在每个页面上 我对此很陌生 不知道如何开始 任何帮助表示赞赏 您可以
  • 如何覆盖 django AuthenticationForm 输入 css 类?

    我有一个使用基本 django 注册框架的 django 站点 我的登录页面工作正常 但我想更改输入上的 css 类 传递到登录页面的表单看起来是一个 AuthenticationForm 类 将 css 类添加到用户名和密码字段的好方法是
  • Visual Basic 6中如何保存断点

    如何在 Visual Basic 6 中保存断点 有任何插件吗 现在我有 MZ Tools 但不幸的是它们不保存断点 我不确定第三方工具 但您始终可以使用 Debug Assert False 完成后记得将其删除
  • For 语句,每第 1000 次演练,做某事

    我正在遍历 For 循环 100 000 次 这个数字可以多样化 每第一千次我都想做一些特别的事情 那些我在其他演练中没有做的事情 像这样的东西 for int i 0 i lt 100000 i doTasks Normal if i 1
  • git-http-backend 与 apache2.4 Centos 7

    我尝试在我的 apache 服务器上设置 Git 服务器 但它不起作用 我得到了以下 git conf SetEnv GIT PROJECT ROOT var www html git project1 SetEnv GIT HTTP EX