Creación de directorios web personales de usuario


Una de las opciones más interesantes de Apache es la posibilidad de que los usuarios registrados en el SSOO del servidor donde está instalado puedan tener webs personales que serán servidas por el mismo. De esta forma cualquier usuario registrado que lo desee podrá servir páginas web directamente de los directorios de su cuenta personal de usuario, creando y gestionando dicha web de forma personal y privada.

Esto puede servir para que los usuarios sean los principales responsables de su propia web, creándoles una cuenta de usuario y dándoles espacio de almacenamiento y libertad de actuación dentro del espacio asignado a su propia cuenta de usuario. Puede ser interesante como opción de hosting web gestionado por el propio cliente, si los usuarios representan a empresas o negocios, o bien para crear fácilmente web personales.

Debe quedar claro que todas esas webs se regirán por la configuración y módulos instalados en el Apache del servidor. Por ejemplo, si únicamente hemos instalado mod_php en Apache, los usuarios que deseen crear una web personal sólo podrán usar PHP si desean crear webs dinámicas. Lo mismo ocurre con la configuración de seguridad y otros aspectos que veremos; si se ha prohibido o limitado el uso de archivos .htaccess con una directiva en apache2.conf, estas web personales tampoco podrán usarlos, y por tanto no podrán personalizar su configuración completamente. Se consigue así una solución intermedia entre libertad de actuación y administración para los usuarios y control centralizado de sus actividades por parte del administrador.

Toda esta funcionalidad la permite un módulo denominado mod_userdir (http://httpd.apache.org/docs/2.2/mod/mod_userdir.html). Aunque el mod tiene múltiples opciones que podemos consultar en el enlace anterior, básicamente lo único necesario para que un usuario pueda empezar a servir sus propias web inmediatamente es:

  • Introducir el contenido web en un directorio concreto dentro de su cuenta de usuario. El nombre de este directorio se establece como parte de la configuración del propio módulo, pero por defecto es public_html.
  • Que el propio usuario dé permisos de ejecución a “otros” como mínimo para que Apache pueda acceder al contenido de este directorio y servir sus páginas a usuarios anónimos (o bien elija el esquema de acceso a usuarios del SSOO que prefiera).
  • —Que, salvo que se desee lo contrario, exista una página principal en el fichero index.html (u otro nombre establecido por la configuración de Apache) para que al acceder a la web personal se cargue su contenido automáticamente. En caso de no existir dicha web "por defecto", acceder a la web personal puede resultar en un listado de los contenidos del directorio o bien una denegación de acceso (si el listado de contenidos no está permitido por la configuración de Apache en si o por un archivo .htaccess).
  • Acceder a la propia web personal, normalmente mediante una URL como la siguiente: www.miservidor.es/~nombredelusuario

La siguiente imagen muestra una web personal de un usuario en un SSOO basado en Linux como el descrito en este curso:

Ejemplo de userdirs

Podemos encontrar más información de este tema en los siguientes enlaces:

La siguiente actividad práctica ilustra cómo poner en marcha esta funcionalidad.


Last modified: Saturday, 31 July 2010, 1:31 AM