viernes, 1 de junio de 2012

Habilitar UserDir

¿Cómo lo hacemos?… bueno lo primero que tenemos que hacer es abrir una Terminal, una vez abierta nos vamos a la carpeta donde están los archivos de configuración de apache, esto con el siguiente comando:


cd /etc/apache2/


Una vez ahí hacemos un ls, que nos mostrará algo como lo siguiente:



richi@hp:~/etc/apache2$ ls
apache2.conf conf.d httpd.conf mods-enabled sites-available
apache2.conf~ envvars mods-available ports.conf sites-enabled
richi@hp:~/etc/apache2$


apache2.conf es el archivo de configuración de apache, conf.d es un directorio con configuraciones tambien, httpd.conf según ellos lo manejan para que el usuario en este caso el administrador del sistema agregue sus configuraciones, mods-enabled y mods-available contienen los modulos disponibles y los que se cargan (Estas dos carpetas son con las que vamos a trabajar), sites-available y sites-enabled cumplen una función similar a las carpetas de los mods o modulos, envvars son variables de entorno y ports.conf es de puertos, en este caso si ejecutan el comando “more ports.conf” nos mostrará Listen 80, esto quiere decir que esta usando el puerto 80 que es el de web.

Muy bien, ya vimos las carpetas y vimos que las que nos interesan se llaman mods-available y mods-enabled, ¿Por qué? pues porque como ya se menciono la parte de UserDir ya se hizo como un modulo más de apache, mods-available contiene todos los modulos que se instalarón al momento de instalar Apache, y mods-enabled contiene todos los modulos que se activan al momento en que apache inicia, no todos los modulos se cargan al arranque, sólo los que especificamos nosotros.

Ahora tenemos que entrar a la carpeta mods-available con cd mods-available (siempre y cuando estemos ubicados en /etc/apache2, si no es así tenemos que escribir la ruta completa, es decir, /etc/apache2/mods-available) y una vez dentro de la carpeta ejecutamos el siguiente comando: ls userdir* nos debe mostrar dos archivos el userdir.conf y el userdir.mod estos archivos del modulo estan disponibles pero no activados, para activarlos debemos meternos dentro del directorio mods-enabled y crear enlaces simbolicos hacia estos dos archivos.

Bueno, nos metemos al directorio mods-enabled con el siguiente comando “cd ../mods-enabled” o en su defecto “cd /etc/apache2/mods-enabled”, una vez ahi vamos a ejecutar el siguiente comando:


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


¿Qué significa el comando anterior?… el comando anterior lo que nos dice es: crea un enlace simbolico (ln -s) de los archivos que se encuentran en mods-available y cuyo nombre empieze con userdir y termine con cualquier otra cosa (/etc/apache2/mods-available/userdir*) y finalmente crea esos enlaces en la carpeta en la que me encuentro actualmente (eso significa el “.”, nuestra ubicación actual que se supone es mods-enabled) y bueno el sudo es para hacerlo con permisos de superusuario, si no ponemos sudo simplemente los enlaces no se crearán.

Ahora si ejecutamos un ls userdir* dentro del directorio mods-enabled nos deben aparecer los dos archivos de los que creamos el enlace simbolico, el userdir.conf y el userdir.mod, si se dan cuenta aparece en otro colorsito, eso indica que son enlaces simbolicos, y si ejecutan un ls -la userdir* nos mostrara la dirección del archivo al que esta apuntando ese enlace simbolico, algo como lo siguiente:



richi@hp:~/etc/apache2/mods-enabled$ ls -la userdir*

lrwxrwxrwx 1 root root 30 2007-07-03 10:41 userdir.conf -> ../mods-available/userdir.conf

lrwxrwxrwx 1 root root 30 2007-07-03 10:41 userdir.load -> ../mods-available/userdir.load

richi@hp:~/etc/apache2/mods-enabled$


Bueno, ya casí estamos listos, lo que nos falta es reiniciar nuestro servidor apache, eso lo hacemos ejecutando el siguiente comando:


sudo /etc/init.d/apache2 restart


Si todo sale bien, nos debe aparecer mensajtos de lo que esta haciendo y al final un [ok], eso indica que todo fue bien, si nos sale un [fail] o algo asi de error pues entonces ya valio madres jajajaja, no, bueno no y si, pero ahi nos dice porque no se pudo arrancar y con base en ese mensaje de error podemos realizar acciones para intentar solucionarlo.

Nosotros en este post optaremos porque todo salio perfecto, para comprobar que todo fue bien, vamos a nuestra carpeta home, ya pueden cerrar sus consolas si quieren, a partir de aquí usamos el entorno gráfico, ahora que si les encanta la consola pues adelante, sigan con ella, pues si, les decía, vamos a nuestro home o carpeta de usuario y creamos una carpeta llamada public_html, es ahí donde guardamos nuestros archivos web, vamos a crear una página sencilla sólo para probar, un html simple que muestre un mensaje, algo así como “hola mundo de mier… bueno, mejor cruel jaja” y lo guardamos con el nombre de index.html en esa carpeta.

Lo siguiente es abrir nuestro navegador de internet y en la barra de direcciones poner lo siguiente: http://localhost/~usuario/ y al darle enter nos debe mostrar el contenido o el mensaje que pusimos en nuestra pagina html, que en este caso sería: “hola mundo de mier… bueno, mejor cruel jaja”, aparecerá si lo guardamos con el nombre index.html, si no lo guardamos así, debemos especificar el nombre del archivo despues de ~usuario/nombreArchivo.html.

Y para finalizar, el simbolo ~ indica la carpeta home, y se le agrega el nombre del usuario que quiere ver sus datos, en mi caso es: http://localhost/~huevas/ porque mi usuario linux es huevas, para sacarlo buscalo en tu teclado y lo sacas con la combinación de la tecla AltGr + la tecla que tiene el simbolo.