Recuerdo que en un trabajo en el que estube, cada uno tenia un usuario de Unix (era FreeBSD) y cada usuario tenia en su home una carpeta public_html para que no tuvieramos que usar todos y darnos permisos en /var/www.
Ahora al instalar Ubuntu en el portatil, quiero volver a poner todas las webs que tenia en local pero claro, no le voy a dar permisos a /var/www y aunque solo yo usare el portatil, no estaria de mas tener un sistema para que en la home de cada usuario exista una carpeta public_html en la cual cada usuario ponga las webs que quiera.
Este sistema que era desconocido para mi, se llama UserDir. Para instalarlo si estamos en Ubuntu, lo unico que tendremos que hacer es buscar en el Synaptic un paquete llamado libapache2-mod-ldap-userdir, o mas facil, buscar directamente «UserDir» y nos aparecera el paquete en cuestion. Una vez instalado, deberemos de ir a la carpeta /etc/apache2/mods-available y copiaremos o moveremos los archivos userdir.conf y userdir.load a la carepta /etc/apache2/mods-enabled. Una vez copiados los archivos, abriremos una consola y ejecutaremos el comando «/etc/init.d/apache2 restart» para reiniciar apache.
Una vez reiniciado apache, y copiados las configuraciones, ya lo tenemos todo listo. Ahora toca probarlo, asi que iremos a la home de nuestro usuario /home/nombreusuario y creamos una nueva carpeta public_html, una vez hecho esto, creamos un index.html de prueba, abrimos nuestro navegador y escribimos http://localhost/~nombreusuario y deberia de aparecernos nuestra pagina de inicio que creamos.
Asi de sopeton puede parecer algo complicado, pero luego son 2 tonterias que no nos llevara mas de 2 minutos configurarlo.
Aparte de esto, si abrimos el archivo userdir.conf, podremos modificar las reglas para cambiar el directorio public_html de la home y ponerlo en otro lugar.
Tengo un inconveniente, seguí todos los pasos pero cuando trato de entrar me muestra el siguiente mensaje:
Forbidden
You don’t have permission to access /~nombredeusuario on this server.
Apache/2.2.9 (Ubuntu) mod_ldap_userdir/1.1.12-20070601 PHP/5.2.6-2ubuntu4 with Suhosin-Patch Server at localhost Port 80
PD: El directorio y el archivo index.html ya tienen todos los permisos
El hecho de que al entrar en la dirección http://localhost/~nobredeusuario y te de error de forbiden ya es un avance, puesto que quiere decir que al menos encuentra la dirección. Primero decirte, simplemente por descartar cosas, que el usuario con el que entras por localhost existe y que en su carpeta home tienes creada una carpeta public_html. Si es asi y configuraste bien, o lo que es lo mismo, no tocaste la configuración de apache, los archivos que introduzcas dentro de esa carpeta deberian de aparecerte, prueba a ver.
Por otro lado no te preocupes por los permisos ya que apache es un servicio de sistema y deberia de permitir verlos.
Mira a ver si con lo que te he dicho deberia de funcionar