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)
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….



























































los comandos a2* son tus amigos