繁体   English   中英

带有apache2.4 Centos 7的git-http-backend

[英]git-http-backend with apache2.4 Centos 7

我尝试在我的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

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>

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

如果后面没有包含httd_rw,则需要输入内容(例如“ 我的Apache为何只能访问根拥有的文件? ”),以更改其上下文:

chcon -vR --type=httpd_sys_content_t /html/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM