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