Apache VirtualHost 403 prohibido

Hace poco intenté configurar un servidor de prueba con Apache. El sitio debe ejecutarse bajo el dominio www.mytest.com . Siempre recibo un error 403 Forbidden . Estoy en la versión del servidor Ubuntu 10.10. La raíz del documento está en dir /var/www . Las siguientes son mis configuraciones:

Contenido de / var / www

 ls -l /var/www/ total 12 drwxr-xr-x 2 root root 4096 2011-08-04 11:26 mytest.com -rwxr-xr-x 1 root root 177 2011-07-25 16:10 index.html 

Contenido del archivo de host en el servidor (con IP 192.168.2.5)

 cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 americano 192.168.2.5 americano.mytest.com www.mytest.com # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 

Configuración del sitio

  ServerAdmin admin@mytest.com ServerName www.mytest.com ServerAlias mytest.com DocumentRoot "/var/www/mytest.com" ErrorLog /var/log/apache2/mytest-error_log CustomLog /var/log/apache2/mytest-access_log combined # # This should be changed to whatever you set DocumentRoot to. #  Options -Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all   

No tengo un archivo .htaccess en mi raíz de documento. Los permisos están establecidos correctamente (legibles por www-data).

Si escribo la dirección IP desde mi escritorio, el sitio se muestra correctamente. Cambié el archivo de hosts en mi escritorio para señalar www.mytest.com a la IP del servidor. Cuando lo uso, obtengo 403 . Dado que muchas funciones de este sitio son sensibles al sitio, tengo que poder acceder al sitio por el nombre de dominio.

Otra cosa funky es que, incluso si todos los archivos de registro se crean correctamente, no tienen información sobre este error.

Estoy atascado. ¿Alguien puede ayudar?

    Apache 2.4.3 (o tal vez un poco antes) agregó una nueva característica de seguridad que a menudo resulta en este error. También vería un mensaje de registro del formulario “cliente denegado por la configuración del servidor”. La función requiere una identidad de usuario para acceder a un directorio. Está activado por DEFAULT en el httpd.conf que se envía con Apache. Puede ver la habilitación de la función con la directiva

     Require all denied 

    Esto básicamente dice que denegar el acceso a todos los usuarios. Para solucionar este problema, elimine la directiva denegada (o mucho mejor) agregue la siguiente directiva a los directorios a los que desea otorgar acceso:

     Require all granted 

    como en

      Order allow,deny Allow from all # New directive needed in Apache 2.4.3: Require all granted  

    Para Apache Ubuntu 2.4.7, finalmente encontré que necesita una lista blanca de su host virtual en apache2.conf

     # access here, or in any related virtual host.  Options FollowSymLinks AllowOverride None Require all granted  

    Esto puede ser un problema de permisos.

    cada ruta principal única a la raíz del documento virtual debe ser legible, escribible y ejecutable por el usuario httpd del servidor web

    de acuerdo con esta página acerca de los errores Apache 403.

    Dado que está utilizando Allow from all , su orden no debería importar, pero puede intentar cambiar a Deny,Allow establecer el comportamiento predeterminado en “permitir”.

    Mueva la cláusula de directorio fuera del host virtual y colóquelo antes de declarar el host virtual.

    Me volvieron loco durante mucho tiempo también. No sé por qué. Es algo de Debian.

    Acabo de pasar varias horas en este estúpido problema

    Primero, cambie los permisos usando esto en la terminal

     find htdocs -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} + 

    No sé cuál es la diferencia entre 664 y 775. Hice 775 así. También htdocs necesita la ruta del directorio, por ejemplo, para mí fue

     /usr/local/apache2/htdocs find htdocs -type f -exec chmod 775 {} + -o -type d -exec chmod 775 {} + 

    Esta es la otra tonta también

    asegúrese de que su enlace de src de imagen sea su nombre de dominio, por ejemplo

     src="http://sofes.miximages.com/linux/f" 

    Asegúrate de tener

     EnableSendfile off in httpd.conf file EnableMMAP off in httpd.conf file 

    Edificas aquellos que usan pico en terminal

    También creé un directorio para imágenes específicamente para que cuando ingresas la barra de direcciones del navegador domainname.com/images, obtengas una lista de fotos que se puedan descargar y necesiten descargarse con éxito para indicar que los archivos de imagen funcionan correctamente.

      AddType images/png .png  

    Y esas son las soluciones que he probado, ahora tengo imágenes en funcionamiento … ¡yay!

    En el siguiente problema (s)

    Estaba teniendo el mismo problema con un host virtual en Ubuntu 14.04

    Para mí, la siguiente solución funcionó:

    http://ubuntuforums.org/showthread.php?t=2185282

    Solo agrega una etiqueta a /etc/apache2/apache2.conf

    mi problema era que el permiso de acceso al archivo era incorrecto, cambié los permisos del directorio y funcionó para mí

    Si hiciste todo bien, simplemente da el directorio de inicio de permisos como:

     sudo chmod o+x $HOME 

    entonces

     sudo systemctl restart apache2