Apache2 userdir habilitado, pero aún no tiene acceso

Estoy tratando de configurar un server Apache en mi computadora portátil Kubuntu 13.04. He instalado el package apache2 y sudo a2enmod userdir; sudo service apache2 restart sudo a2enmod userdir; sudo service apache2 restart , pero aun así cuando visito http://localhost/~user , dice algo como esto:

 Forbidden You don't have permission to access /~user on this server. Apache/2.2.22 (Ubuntu) Server at localhost Port 80 

Resultado de la tail /var/log/apache2/access.log

 127.0.0.1 - - [02/Aug/2013:16:22:01 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 127.0.0.1 - - [02/Aug/2013:16:22:02 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /~kaiyin HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 127.0.0.1 - - [02/Aug/2013:17:35:30 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 127.0.0.1 - - [02/Aug/2013:17:36:26 +0200] "GET /favicon.ico HTTP/1.1" 404 499 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 127.0.0.1 - - [02/Aug/2013:17:36:26 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /~kaiyin HTTP/1.1" 403 501 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 127.0.0.1 - - [02/Aug/2013:21:05:17 +0200] "GET /favicon.ico HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" 

Resultado de la tail /var/log/apache2/error.log

 [Fri Aug 02 21:05:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico [Fri Aug 02 21:05:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico [Fri Aug 02 21:06:54 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico [Fri Aug 02 21:06:54 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico [Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /~kaiyin denied [Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico [Fri Aug 02 21:06:59 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico [Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /~kaiyin denied [Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico [Fri Aug 02 21:07:17 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico 

Solutions Collecting From Web of "Apache2 userdir habilitado, pero aún no tiene acceso"

Los directorys public_html deben tener sus permissions de esta manera para que el usuario que Apache esté ejecutando pueda acceder a él:

 $ chmod -R 755 ~/public_html 

todavía no funciona?

Si observa los loggings de errores de Apache, es posible que vea una línea como esta:

[Vie 02 ago 21:06:59 2013] [error] [cliente 127.0.0.1] (13) Permiso denegado: acceso a / ~ kaiyin denegado

Esto le dice que Apache no tiene permissions para navegar al directory de su usuario (~ kaiyin) en este ejemplo.

¿Cómo arreglar esto?

Debe asegurarse de que los bits de lectura + ejecución estén configurados para un grupo del que Apache sea miembro o que los demás lean + los bits de ejecución también estén establecidos en el directory del usuario para que Apache pueda acceder a la carpeta public_html a continuación.

Ejemplo

 /home |-- [drwxr-x---] /home/sam /home/sam |-- [drwxr-xr-x] /home/sam/public_html 

Referencias

  • ¿Cómo puedo crear una carpeta HTML pública en Ubuntu?
 <IfModule mod_userdir.c> UserDir public_html UserDir disabled root <Directory /home/*/public_html> AllowOverride All Options MultiViews Indexes SymLinksIfOwnerMatch <Limit GET POST OPTIONS> # Apache <= 2.2: #Order allow,deny #Allow from all # Apache >= 2.4: Require all granted </Limit> <LimitExcept GET POST OPTIONS> # Apache <= 2.2: #Order deny,allow #Deny from all # Apache >= 2.4: Require all denied </LimitExcept> </Directory> </IfModule> 

Asegúrate de tener la configuration correcta en / /etc/apache2/mods-enabled/userdir.conf . Recibí un permiso denegado después de actualizar mi public_html y luego decidí consultar el userdir.conf . Noté que había configuraciones para versiones anteriores de apache, así como también nuevas. Sabía que estaba ejecutando lo último, así que habilité las configuraciones más nuevas y ahora todo está funcionando bien

También puede usar el /etc/hosts para eliminar la necesidad de una URL temporal. Si hay una reference para la URL completa en el tema o el complemento (si tiene alguno), el sitio no mostrará los contenidos en el formatting adecuado.