Por que essa configuração do VirtualDocumentRoot retorna 403 Acesso Proibido?

2

Eu tenho a configuração my httpd-vhosts.conf com as seguintes exceções:

UseCanonicalName Off

LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon

<VirtualHost 192.168.1.100:80>
VirtualDocumentRoot "E:/Web Development Projects/%3/%2.1/%2+"

DirectoryIndex  index.php index.html index.htm default.html default.htm home.html default.php home.php
</VirtualHost>

<VirtualHost 192.168.1.100:443>
SSLEngine On
SSLCertificateFile "E:/Web Development Projects/SSL/apache.crt"
SSLCertificateKeyFile "E:/Web Development Projects/SSL/apache.key"

VirtualDocumentRoot "E:/Web Development Projects/%3/%2.1/%2+"

DirectoryIndex  index.php index.html index.htm default.html default.htm home.html default.php home.php
</VirtualHost>

Mas, infelizmente, meu servidor local da web retorna uma mensagem '403 Acesso proibido'.

Note que esta mesma configuração foi instalada em outra máquina e funciona bem.

Há algo de errado com essa configuração?

Alguém pode me ajudar por favor?

Observação: minha estrutura de arquivos é E:/Web Development Projects/tld/i/domain.tld/ , em que

  1. tld é meu domínio de primeiro nível local (dch)
  2. i é o nome do domínio inicial
  3. domain.tld é o nome de domínio do projeto

Isso me permite ter a seguinte estrutura de sistema de arquivos

E:\
    Web Development Projects\
        dch\
            a\
                a-project.dch\
                    Files
                another-project.dch\
                    Files
            \z
                z-project.dch\
                    Files

UPDATE # 1

Acabei de aplicar as instruções abaixo, mas ainda assim o Apache não inicia.

Aqui está o meu httpd-vhosts.conf com as modificações:

UseCanonicalName Off

LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon

<VirtualHost 192.168.1.100:80>
VirtualDocumentRoot "E:/Web Development Projects/%3/%2.1/%2+"

DirectoryIndex  index.php index.html index.htm default.html default.htm home.html default.php home.php

    <Directory "E:/Web Development Projects/">
        Order deny, allow
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost 192.168.1.100:443>
SSLEngine On
SSLCertificateFile "E:/Web Development Projects/SSL/apache.crt"
SSLCertificateKeyFile "E:/Web Development Projects/SSL/apache.key"

VirtualDocumentRoot "E:/Web Development Projects/%3/%2.1/%2+"

DirectoryIndex  index.php index.html index.htm default.html default.htm home.html default.php home.php
</VirtualHost>

Mas este é o resultado do servidor:

Error: Apache shutdown unexpectedly.
This may be due to a blocked port, missing dependencies, 
improper privileges, a crash, or a shutdown by another method.
Press the Logs button to view error logs and check
the Windows Event Viewer for more clues
If you need more help, copy and post this
entire log window on the forums

Alguma informação adicional, por favor?

    
por Merianos Nikos 03.05.2014 / 08:12

2 respostas

2

Tente adicionar acl na configuração do Virtualhost, talvez alguma diretiva global esteja negando o acesso:

<Directory "E:/Web Development Projects/">
Order deny, allow
Require all granted
</Directory>

Se a versão do apache < = 2.4 substitua "Exigir tudo concedido" por "Permitir de todos".

Espero que ajude.

    
por 03.05.2014 / 11:37
1

Para o benefício de outras pessoas, também tive esse problema e minhas soluções foram diferentes:

1) Certifique-se de não ter nenhum arquivo .htaccess ou arquivos conf do httpd.conf (ou similar) sobrepondo quaisquer diretivas. Comente qualquer diretiva include para ter certeza.

2) Você está tentando veicular conteúdo do seu diretório /home ? Não faça Ou, se precisar, defina chmod -R +x no seu diretório inicial.

    
por 18.06.2015 / 03:32