Wampserver me dice acceso denegado al intentar hacer un virtual host fuera de la c:/wamp/www/directorio. Yo puedo hacer una multa dentro de ese directorio. Incluso hacer un enlace simbólico a la carpeta de trabajos, pero preferiría no tener que usar los enlaces simbólicos. Por qué no funciona?

Aquí es el código que utilizo al final de httpd.conf

NameVirtualHost *:80

<VirtualHost *:80>  
DocumentRoot "c:/wamp/www" 
ServerName localhost 
ServerAlias localhost 
</VirtualHost> 

<VirtualHost *:80>
ServerName local.cascade
DocumentRoot c:/wamp/www/cascade/
</VirtualHost>

<VirtualHost *:80>
ServerName local.md9
ServerAlias local.md9
DocumentRoot "m:/Work/New MD9.ca/site/"
</VirtualHost>

<Directory "m:/Work/New MD9.ca/site/">
    Order Allow,Deny
    Allow from All
</Directory>

La «cascada» vh funciona bien.

¿Su sistema de ficheros permisos permitir el acceso?
Claro ¿por qué no? ¿Qué necesita el permiso?
No todos los sistemas permiten que el usuario del servidor web de acceso a la cuenta a todo por defecto.
¿Qué es la web de la cuenta de usuario del servidor y ¿cómo puedo permitir el acceso?
Vi que el usuario y el grupo está ajustado a «demonio» en httpd.conf pero en el administrador de tareas dice httpd.exe se ejecuta como SISTEMA. En realidad no importa, aunque.

OriginalEl autor Moss | 2012-06-02

5 Comentarios

  1. 26

    Supongo que debería haber mirado el http.conf con más cuidado. No es que mucho, la mayoría de los comentarios. La problemática fue parte de este.

    # Deny access to the entirety of your server's filesystem. You must
    # explicitly permit access to web content directories in other 
    # <Directory> blocks below.
    #
    
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    

    Me lo comentó, y ahora de trabajos de cosas, aunque supongo que es menos seguro, pero es sólo un servidor de prueba.

    Pensé que el <Directory "m:/Work/New MD9.ca/site/"> poco se suponía iba a cuidar de él, pero supongo que no.

    Gran solución! Yo también lo he encontrado aquí http://reanweb.com/wordpress/step-step-guide-create-virtual-hosts-using-wamp/. En caso de que alguien trate de encontrar el todo el proceso
    Aunque, no está preocupado acerca de la seguridad, ya que es un servidor de prueba, pero he de mencionar para los demás, puede dejar que el directorio de la etiqueta sin comentarios, y otro directorio de la etiqueta con la ruta de tu vhost carpeta web, pero el uso de «AllowOverride all» en lugar de «AllowOverride none», que dejaría la seguridad, así como utilizable.

    OriginalEl autor Moss

  2. 18

    Sé que el tema es viejo y tienes que trabajar, pero se me ocurrió contra este problema y resuelto sin tener que quitar la Require all denied etiqueta.

    Sólo tienes que agregar un Require local (o Require all para el acceso en línea) de la etiqueta para el Directorio de la etiqueta. por ejemplo,

    <VirtualHost *:80>
        ServerName local.md9
        ServerAlias local.md9
        DocumentRoot "m:/Work/New MD9.ca/site/"
    
        <Directory "m:/Work/New MD9.ca/site/">
            Order Allow,Deny
            Allow from All
            Require local
        </Directory>
    </VirtualHost>
    

    Se puede ver la misma regla declarado en el directorio DocumentRoot en httpd.conf

    OriginalEl autor Dave Kirk

  3. 5

    Tuve el mismo problema pero se las arregló para resolver después de mirar esta pregunta.

    Sin embargo, la aceptación de la respuesta tal vez no es la mejor solución, dependiendo de cómo asegurar que usted quiere que su configuración de Apache.

    Creo que la solución debe mencionar dos cosas: primero, garantizar la seguridad no está comprometida y segundo; la comprensión de la diferencia en el control de acceso de configuración entre las versiones de Apache 2.2 y 2.4.

    Garantizar la seguridad no está comprometida

    Comentando la propuesta de líneas:

    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    

    Significa quitar el defecto estrictas de seguridad que se aplica a TODOS los directorios en la máquina, como yo lo entiendo. Alguien podría crear una configuración que apuntan a su C:\very\sensitive\information directorio y servir el contenido de una página web (que es más probable a ser una preocupación en un host compartido). Curiosamente, el siguiente comentario es hecho por encima de ese bloque:

    # First, we configure the "default" to be a very restrictive set of 
    # features.
    

    A continuación, debajo de ese bloque:

    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    

    Hace completo sentido para bloquear todo hacia abajo, a continuación, condicionalmente desbloquear por directorio.

    Se me ocurrió lo siguiente, que apunta a la ubicación en mi máquina donde todos mis sitios web (que se sirve a través de Apache virtual hosts) va a vivir. Esto sigue inmediatamente a la <Directory "d:/wamp/www/"></Directory> bloque.

    <Directory "d:/wamp/sites/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require all granted
    </Directory>
    

    A continuación, dentro de cada uno de su host virtual configuraciones/aliases puede establecer la configuración que se aplica a ese directorio.

    Diferencia en el control de acceso de configuración

    La configuración de control de acceso en las versiones más recientes de Apache ha cambiado.

    Lo que solía ser:

    Order allow,deny
    Allow from all
    

    Ahora debe ser:

    Require all granted
    

    Para más info: http://httpd.apache.org/docs/current/upgrading.html

    el Require all granted hizo el truco para mí

    OriginalEl autor A. Murray

  4. 3

    La <Directory> etiqueta debe estar dentro de la <VirtualHost *:80>

    como este:

    <VirtualHost *:80>
    ServerName local.md9
    ServerAlias local.md9
    DocumentRoot "m:/Work/New MD9.ca/site/"
        <Directory "m:/Work/New MD9.ca/site/">
            Order Allow,Deny
            Allow from All
        </Directory>
    </VirtualHost>
    

    también tenga en cuenta que para fuera de la predeterminada de la carpeta de www debe utilizar requieren en lugar de permitir que

    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    

    OriginalEl autor Joel Harkes

  5. 1

    Si usted ha intentado todos los .conf ediciones anteriores y ninguno funcionó, intente los siguientes pasos adicionales:

    1) asegúrese de que DocumentRoot y <Directorio> lugares son los mismos!

    2) Doble check «ServerName» dominio de la ortografía dentro de su <VirtualHost> etiquetas, y también comprobar la ortografía de dominio es el mismo en el archivo de HOST (windows\system32\drivers\etc\hosts):

    Ejemplo:

    <VirtualHost *:80>
        DocumentRoot "D:/vhost_directory/website_directory"
        ServerName mywebsite.local
        <Directory "D:/vhost_directory/website_directory">
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    

    3) Comprobar conf la sintaxis de los archivos:

    cd \wamp\bin\apache\apache2.4.9\bin
    httpd -t
    

    4) Revisión de la resolución conf archivo de errores hasta que se obtiene el resultado:

    Syntax OK
    

    5) Actualización de nombres de dominio de caché (se debe ejecutar en la consola como administrador):

    net stop dnscache
    net start dnscache
    

    6) Reiniciar el servicio de Apache o Reiniciar Todos los Servicios de WAMP

    OriginalEl autor EdC

Dejar respuesta

Please enter your comment!
Please enter your name here