The user apache is running as (www-data?) needs search permission (+x on a dir) for every path between / and the file you're serving, if that directory has an effective value of AllowOverride != none (IOW, if Apache is configured to look for htaccess there).
apache2 vhost going to wrong webroot
Вопрос
All of my vhosts are being sunk into the first available webroot and not their assigned webroot except for my second which is just going wild.
if I try and access ipv6mailer.com I watch the hit live go ->
[error] [client 24.184.110.39] script not found or unable to stat: /home/downlowd/www/login-form.php
True, that file does 'not' exist. it should be looking in /home/ipv6mailer/www
I have 3 vhosts and two are going to /home/downlwd/www and ignoring ServerName completely.
If I comment our downlowd.com, the log output try to access ipv6mailer.com looks like ->
[Wed Aug 21 15:23:12 2013] [crit] [client 24.184.110.39] (13)Permission denied: /home/wemail1/www/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
It's going to the 'new' default and not ServerName
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#<IfDefine DEFAULT_VHOST>
# see bug #178966 why this is in here
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80
# Use name-based virtual hosting.
NameVirtualHost *:80
# When virtual hosts are enabled, the main host defined in the default
# httpd.conf configuration will go away. We redefine it here so that it is
# still available.
#
# If you disable this vhost by removing -D DEFAULT_VHOST from
# /etc/conf.d/apache2, the first defined virtual host elsewhere will be
# the default.
# vim: ts=4 filetype=apache
<VirtualHost *:80>
ServerName www.downlowd.com
ServerAlias downlowd.com *.downlowd.com
ServerPath /downlowd.com
DocumentRoot /home/downlowd/www
<Directory "/home/downlowd/www">
Options Indexes FollowSymLinks MultiViews ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
AddHandler cgi-script .php .php4 .php3
<VirtualHost *:80>
ServerName www.wemail1.com
ServerAlias wemail1.com *.wemail1.com
ServerPath /wemail1.com
DocumentRoot /home/wemail1/www
<Directory "/home/wemail1/www">
Options Indexes FollowSymLinks MultiViews ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.ipv6mailer.com
ServerAlias ipv6mailer *.ipv6mailer.com
ServerPath /ipv6mailer
DocumentRoot /home/ipv6mailer/www
<Directory "/home/ipv6mailer/www">
Options Indexes FollowSymLinks MultiViews ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
dev-box-201 www # /usr/sbin/apache2 -S
apache2: Could not reliably determine the server's fully qualified domain name, using dev-box-201.nyctelecomm.com for ServerName
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server www.downlowd.com (/etc/apache2/vhosts.d/00_default_vhost.conf:42)
port 80 namevhost www.downlowd.com (/etc/apache2/vhosts.d/00_default_vhost.conf:42)
port 80 namevhost www.wemail1.com (/etc/apache2/vhosts.d/00_default_vhost.conf:58)
port 80 namevhost www.ipv6mailer.com (/etc/apache2/vhosts.d/00_default_vhost.conf:71)
Syntax OK
Решение
Не связан с StackOverflow