linux - error - Apache VirtualHost 403 prohibido
forbidden apache (8)
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://www.fakedomain.com/images/photo.png"
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.
<Directory /usr/local/apache2/htdocs/images>
AddType images/png .png
</Directory>
Y esas son las soluciones que he probado, ahora tengo imágenes en funcionamiento ... ¡yay!
En el siguiente problema (s)
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
<VirtualHost *>
ServerAdmin [email protected]
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.
#
<Directory "/var/www/mytest.com">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
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
<Directory "your directory here">
Order allow,deny
Allow from all
# New directive needed in Apache 2.4.3:
Require all granted
</Directory>
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 <Directory >
a /etc/apache2/apache2.conf
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.
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.
<Directory /home/gav/public_html/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Si hiciste todo bien, simplemente da el directorio de inicio de permisos como:
sudo chmod o+x $HOME
entonces
sudo systemctl restart apache2
mi problema era que el permiso de acceso al archivo era incorrecto, cambié los permisos del directorio y funcionó para mí