suexec失败scriptalias没有日志

我正尝试在apache2服务器上安装gitolite 3。 所以我需要运行一个由git:git拥有的CGI脚本。 我的configuration(主要基于这个 )是:

 <VirtualHost myserver.com> ServerName myserver.com ServerAlias git SuexecUserGroup git git ScriptAliasMatch "(?x)^/(.*/(HEAD | info/refs | objects/(info/[^/]+ | [0-9a-f]{2}/[0-9a-f]{38} | pack/pack-[0-9a-f]{40}\.(pack|idx)) | git-(upload|receive)-pack))$" \ /srv/www/gitolite_suexec_wrapper.sh/$1 </VirtualHost> 

我遇到的问题是每当一个查询匹配我的stript别名regexp,客户端收到403和我的Apache错误日志(设置为debugging级别)告诉我以下内容:

 client denied by server configuration: /srv/www/gitolite_suexec_wrapper.sh 

我的apache2服务器有用户wwwrun和组www。 suexec模块正在运行,所以我testing一切都很好,如下所示:

 su -c "/usr/sbin/suexec2 true" wwwrun suexec policy violation: see suexec log for more details 

所以这个用户可以启动suexec。 以前我在我的/srv/www/gitolite_suexec_wrapper.sh上有错误的权限,并有行logging在/var/log/apache2/suexec.log ,现在我什么都没有,所以我想我的权利正确设置有关suexec和包装脚本。

而且我仍然不确定这个脚本是否应该由wwwrun:wwwgit:git拥有git:git脚本的所有者,我需要apache2来运行。 我想从suexec帮助 ,它应该wwwrun:www ,无论如何,我试了两个都没有工作。

 su -c "/srv/www/gitolite_suexec_wrapper.sh" wwwrun 

给出一个输出,所以我认为我的权限设置正确的脚本。

我还应该检查什么? 我做错了什么?

在此先感谢您的帮助!

好吧,我find了解决scheme,我不得不像这样(在同一个虚拟主机中)授予对脚本文件的访问权限:

 <Directory "/srv/www"> <Files "gitolite_suexec_wrapper.sh"> Order allow,deny Allow from all </Files> </Directory> 

然后它很好。