UserDir. Directorio de usuario en Apache2

Reeditado el 17 de marzo del 2009, 19:57hrs con el objeto de mejorar el resultado y proceso; gracias a las propuestas de los amigos lectores Filem0n y Xoan.
Se adiciona el comando {a2enmod} para hacer los enlaces y se sustituye {sudo /etc/init.d/apache2 restart} por el comando {sudo apache2ctl graceful} que mejora la seguridad.

Apache es el Servidor HTTP mas popular y usado en el mundo. Consta de una sección core y diversos módulos que aportan mucha de la funcionalidad que podría considerarse básica para un servidor web. Apache es con ello muy modular, y precisamente aprovecharemos su módulo UserDir para crear nuestro directorio individual, que nos permita visualizar nuestras páginas Web, otros archivos como Gifs o instalar una wiki de escritorio y abrir por medio de nuestro navagador de Internet. Esto es muy práctico, pues cada usuario del sistema desde su directorio HOME puede crear una carpeta llamada public_html, en ella construir y guardar sus archivos de páginas web o ubicar su Wiki. La licencia es Apache 2.0 y es compatible con GPL 3.

Instalación de Apache2

Apache se encuentra en casi todos los repositorios de las distribuciones GNU/Linux; lo he instalado en gNewSense, Trisquel, en su momento Hardy, e Ibex sin ningún problema. En esta entrada veremos su instalación desde el paquete multi proceso modular (MPM) mismo que contiene el módulo UserDir; para ello, abrimos nuestra consola y hacemos lo siguiente:

sudo apt-get install apache2-mpm-prefork apache2.2-common apache2-utils

Habilitado de la carpeta de Usuario

Después de haber instalado nuestro servidor HTTP Apache, estamos listos para habilitar las carpetas de usuario. Para comprobar si la instalación es correcta y se ejecuta, introducimos la siguiente línea:

firefox http://localhost

si todo esta bien veremos un ¡Funcionando!: It Work!

El siguiente paso es informar al servidor Apache, cual es el módulo que debe cargar. Supongo seguimos en consola ¿Cierto? Entonces vamos a chequear la existencia de nuestros módulos UserDir con el comando {ls}, estos deberían aparecer en la carpeta módulos disponibles en /etc/apache2/mods-available, por lo tanto:

ls /etc/apache2/mods-available/userdir*

y obtenemos algo así como esto:

	/etc/apache2/mods-available/userdir.conf
	/etc/apache2/mods-available/userdir.load

Bien. Ahora sabemos que nuestros módulos existen, y de antemano sabemos que no están habilitados, pero realmente ¿Estarán deshabilitados? Para saber nuevamente nos apoyamos con {ls}, de estar habilitados, deberían aparecer en la carpeta módulos habilitados en /etc/apache2/mods-enabled, así que:

ls /etc/apache2/mods-enabled/userdir*

Es clara la diferencia entre carpetas de módulos disponibles y habilitados ¿Verdad?
Para habilitar los módulos UserDir, debemos hacer que Apache vea nuestros módulos, que los cargue al arrancar cuando mire en habilitados; para ello nos valemos de {ln} creando un enlace simbólico o usando el comando {a2enmod} creado precisamente para ello:

Con el comando {ln}:

sudo ln -s /etc/apache2/mods-available/userdir* /etc/apache2/mods-enabled

Con el comando {a2enmod}:

sudo a2enmod userdir

Veamos si es cierto, nuevamente con el comando {ls} pero ahora le indicamos con el parámetro {-la} para ver hacia adonde apuntan nuestros enlaces simbólicos:

ls -la /etc/apache2/mods-enabled/userdir*

Veremos con fecha y hora de creación, mas rutas completas, algo como esto:

     lrwxrwxrwx 1 root ..enabled/userdir.conf -> ...available/userdir.conf
     lrwxrwxrwx 1 root ..enabled/userdir.load -> ...available/userdir.load

Sólo nos falta reiniciar el navegador Apache para que cargue nuestros módulos UserDir. El procedimiento ha sido sencillo y no debería haber problema. En este caso usaremos el comando {apache2ctl} junto con el parámetro {graceful} que entre ambos reinician el demonio httpd Apache, comprobando automáticamente los archivos de configuración; seguimos en consola:

sudo /etc/init.d/apache2 restart
sudo apche2ctl graceful

Para terminar y usar nuestro UserDir como servidor Web de escritorio, debemos crear una carpeta que por norma debe llamarse {public_html} y a partir de ella, empezamos con un poco de orden para meterle información, por ejemplo:

Creamos la carpeta {/home/nombre_usuario/public_html} o lo que es lo mismo: {~/public_html} y en la misma línea he concatenado la orden para crear una carpeta que verá {gifs} y otra que verá {tutoriales} luego con {ls} veremos lo que hicimos.

mkdir ~/public_html && mkdir ~/public_html/gifs && mkdir ~/public_html/tutoriales && ls ~/public_html

Si tienen algo para guardar en esas carpetas pueden hacerlo, si no, descarguemos algo para probar:

cd ~/public_html/gifs && wget http://www.gif-animados.net/gifs/pinguinoslinux4.gif && cd ~/public_html/tutoriales && wget http://www.comandos-linux.we.bs/index.html && cd .

Con lo anterior ya tenemos algo para probar. Para el futuro, si desean entrar con un clic desde su navegador Web, luego de la siguiente línea, vayan a Marcadores -> Marcar esta página -> Carpeta -> Barra de marcadores -> Botón Listo.

firefox http://localhost/~$USER

Nota: La variable $USER es usada y ejecutada dentro del shell, el navegador sólo recibe su valor.

Al terminar de visualizar el “GIF” y la página WEB que por cierto entró en automático por ser de nombre index.

Cerramos la consola.

¡Listo! ;b

Completa esta lectura con:

Si te gustó este post, por favor considera dejar un comentario o suscribirte al feed y obtener artículos futuros en tu lector de feeds.

Comentarios (5)

los comandos a2* son tus amigos

Anda qué…

$ sudo a2enmod userdir
$ sudo apache2ctl graceful
$ mkdir ~/public_html
$ firefox http://localhost/~$USER

Filem0n, Xoan. Gracias por mi aprendizaje de hoy.
Que importante la ejecución de apache2ctl con el parámetro graceful. Jeje! Olvidé la variable de entorno $USER.

Hoy mismo Amplio o corrijo mi entrada.

Saludos

wow que guay este tipo de tutoriales, se aprende mucho, no tenía idea de como se creaba el famoso public_html , lo veía siempre en los vps, pero ni idea de como era.
Muchas gracias….

[...] Información basada en un artículo de La consola blog [...]

Deja un comentario

(requerido)

(requerido)


Get Adobe Flash playerPlugin by wpburn.com wordpress themes