Módulo userdir
En sistemas con múltiples usuarios, cada usuario puede tener un sitio web en su directorio home usando el módulo UserDir
. Los visitantes de una URL http://example.com/~username/
recibirán el contenido del directorio home del usuario “username”, en el subdirectorio especificado por la directiva UserDir
.
La directiva UserDir
la podemos modificar en el fichero /etc/apache2/mods-available/userdir.conf
, y se puede configurar de distintas maneras:
UserDir public_html
: Valor por defecto, la URLhttp://example.com/~rbowen/file.html
se traducirá en la ruta del fichero/home/rbowen/public_html/file.html
.UserDir /var/html
: La URLhttp://example.com/~rbowen/file.html
se traducirá en la ruta del fichero/var/html/rbowen/file.html
.UserDir /var/www/*/docs
: La URLhttp://example.com/~rbowen/file.html
se traducirá en la ruta del fichero/var/www/rbowen/docs/file.html
UserDir public_html /var/html
: Para la URLhttp://example.com/~rbowen/file.html
, Apache buscará~rbowen
. Si no lo encuentra, Apache buscará rbowen en/var/html
.
Desactivando userdir para algunos usuarios
Por ejemplo, con la directiva UserDir disabled root
desactivamos la funcionalidad que ofrece el módulo para el usuario root.
Configurando el directorio de acceso de cada usuario
Como vemos en el fichero /etc/apache2/mods-available/userdir.conf
debemos configurar las opciones del directorio al que se accede al pedir la página del usuario.
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
Activación del módulo
Para activar el módulo:
# a2enmod userdir
Reiniciamos el servidor, creamos una carpeta public_html
en el home del usuario y creamos un fichero index.html
. Y podemos probar el acceso a la URL http://www.pagina1.org/~usuario
.