首先,经过一番努力,我终于弄清楚了如何在 Apache 2.4 windowz 中使其工作。这是我的配置,似乎可以成功完成 git clone 和 push 等所有操作。
问题
首先,我的配置有效。
/ 目录中有“Require all denied”。我只想要 git 功能,不需要其他功能。
来自 git 客户端的示例请求
192.168.100.252 - - [07/Oct/2012:04:44:51 +0300] "GET /git/simple/info/refs?service=git-upload-pack HTTP/1.1" 200 264`
该请求导致的错误
[2012 年 10 月 7 日星期日 04:44:51.903334] [authz_core:error] [pid 6988:tid 956] [客户端 192.168.100.252:13493] AH01630:服务器配置拒绝客户端:C:/git-server/web/simple
gitclient 没有任何错误,一切正常,但我在错误日志中收到此错误。有什么解决方案可以避免出现此错误吗?我担心日志大小。
<VirtualHost *:80>
DocumentRoot "C:\git-server\web"
ServerName git.****censored****
DirectoryIndex index.php
SetEnv GIT_PROJECT_ROOT c:/git-server/repositories
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
ScriptAlias /git/ "C:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe/"
<LocationMatch "^/.*/git-receive-pack$">
Options +ExecCGI
AuthType Basic
AuthName intranet
AuthUserFile "C:/git-server/config/users"
Require valid-user
</LocationMatch>
<Directory />
Options All
Require all denied
</Directory>
<Directory "C:\Program Files (x86)\Git\libexec\git-core">
Options +ExecCGI
Options All
Require all granted
</Directory>
</VirtualHost>