mercurial + Apache给出了403错误
我已经在/ home/adil/hg/sample-repo上设置了我的回购并希望通过httpd提供它。我正在关注教程https://www.mercurial-scm.org/wiki/PublishingRepositories#multiple,并创建了hgweb.config文件并将hgweb.cgi(将其更名为index.cgi)复制到/ home/adil/web/mercurial/mercurial + Apache给出了403错误
我的apache配置(/ etc /的httpd/conf目录/ httpd.conf中)看起来是这样的:
ScriptAlias /hg "/home/adil/web/mercurial/index.cgi"
<Directory "/home/adil/web/mercurial">
Order allow,deny
Allow from all
AllowOverride All
Options ExecCGI
AddHandler cgi-script .cgi
</Directory>
的index.cgi,hgweb.config和所有迪尔斯向上具有世界阅读权限
http://localhost/hg提供了一个 “403禁止” 错误。 WTF?
PS:Apache的错误日志显示: [太阳10月17日六点45分38秒2010] [错误] [客户端1.2.3.4](13)权限被拒绝:访问/ HG否认
也许Apache的过程所有者无权访问/home/adil/web/mercurial
。
另外,做检查Apache的错误日志(通常位于/var/log/httpd-error.log
或相似的一些地方。它会给你额外的信息,调试安装
要检查什么的运行Apache的过程中,用户做的事:。
$ ps aux | grep http
ps
应该表现出什么是运行Apache的用户
此外,如果有帮助,这是我做的方式:
ScriptAliasMatch ^/hg(.*) /usr/local/share/mercurial/www/hgweb.cgi$1
<Directory /usr/local/share/mercurial/www>
Options ExecCGI FollowSymLinks
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Pablo,它已经读取了所有目录的权限。我如何检查用户'apache'是否可以访问它? – Adil 2010-10-17 12:04:56
它是否具有存储库的权限?或只是为CGI脚本? – 2010-10-17 14:52:33
我不是任何方式的Apache配置专家,但我遇到了这个错误,并设法摆脱它。
我做之前,我得到这个错误在我的error_log:client denied by server configuration: /Users/svn/Public/hg/hgwebdir.cgi
这是我原来的配置:
ScriptAlias /hg "/Users/svn/Public/hg/hgwebdir.cgi"
<Location /hg>
AuthType Basic
AuthName "Mercurial Repositories"
AuthUserFile /Users/svn/Public/hg/auth
Require valid-user
</Location>
我加了一些选项:
ScriptAlias /hg "/Users/svn/Public/hg/hgwebdir.cgi"
<Location /hg>
Options ExecCGI FollowSymLinks
Options None
Order allow,deny
Allow from all
AuthType Basic
AuthName "Mercurial Repositories"
AuthUserFile /Users/svn/Public/hg/auth
Require valid-user
</Location>
我试过Pablo的版本 - 我遇到的一个问题是“ScriptAliasMatch ^/hg(。*)”捕获了呈现浏览器回购资源管理器所需的hg徽标和样式表。我不知道这是否适用于hgweb.cgi
,因为我没有使用那个,但在使用hgwebdir.cgi
时肯定是个问题。具体来说:script not found or unable to stat: /Users/svn/Public/hg/hgweb.cgilogo.png
error.log文件说什么?它可能包含更多关于访问被拒绝的详细信息。 – 2010-10-17 11:42:56
我用错误消息更新了我的问题。如上所述,只是权限被拒绝。它不会提供更多信息。 – Adil 2010-10-17 12:02:35
我会用更多的方法来更新答案来检查Apache的用户。 – 2010-10-17 12:37:58