我有一个使用 suExec 和 vhosts 设置的 Apache 安装。原始(“主”)vhost 工作正常,但我添加的第二个 vhost 出现了一些问题;返回 403 响应。
考虑到这只是同一站点的开发实例,我将所有内容从“siteweb”用户复制到“sitedev”用户(当然,正确设置所有者/组),复制了 vhost 配置并更正了路径。
我现在真的不知道该做什么,所以如果有人能给我指明正确的方向,那就太好了:)
相关内容
vhost_website.conf--
ServerName website.com
ServerAlias www.website.com shop.website.com
DocumentRoot /home/siteweb/public_html
SuexecUserGroup siteweb siteweb
ScriptAlias /cgi-bin/ /home/siteweb/cgi-bin/
<Directory /home/siteweb/public_html>
Options -Indexes IncludesNOEXEC FollowSymLinks +ExecCGI
AddHandler php-fcgi .php
Action php-fcgi /fcgi-bin/php.fcgi
FCGIWrapper /home/siteweb/cgi-bin/php.fcgi .php
Allow from All
AllowOverride All
</Directory>
<Directory /home/siteweb/cgi-bin>
AllowOverride None
Options ExecCGI
Allow from all
</Directory>
/home/siteweb/cgi-bin/php.fcgi 具有以下内容:
#!/bin/sh
export PHPRC=/home/siteweb/
export PHP_FCGI_MAX_REQUESTS=2000
exec /usr/bin/php-cgi
如上所述,我所做的只是在所有适用的地方将“siteweb”更改为“sitedev”,所以我有点不知道会发生什么。任何日志中都没有任何有用的信息,只有“权限被拒绝:访问/被拒绝”
希望有人以前遇到过这个问题并且知道如何快速修复它,但如果我可以提供任何其他相关信息,请告诉我。
编辑开发站点配置文件,格式与上面相同:vhost_devsite.conf --
<VirtualHost *:80>
ServerName devsite.website.com
DocumentRoot /home/sitedev/public_html
SuexecUserGroup sitedev sitedev
ScriptAlias /cgi-bin/ /home/sitedev/cgi-bin/
<Directory /home/sitedev/public_html>
Options -Indexes IncludesNOEXEC FollowSymLinks +ExecCGI
AddHandler php-fcgi .php
Action php-fcgi /fcgi-bin/php.fcgi
FCGIWrapper /home/sitedev/cgi-bin/php.fcgi .php
Allow from All
AllowOverride All
</Directory>
<Directory /home/sitedev/cgi-bin>
AllowOverride None
Options ExecCGI
Allow from all
</Directory>
</VirtualHost>
答案1
检查主目录的权限是否正确,使用
ls -ld /home/sitedev
和
ls -ld /home/siteweb