Primero que nada gracias a todos por sus comentarios en mi Post más leído «Instalar servidor LAMP en Fedora 14 / 15 / 16 / 17» se que les agrado y eso motiva mucho para seguir escribiendo.
Segundo por un comentario de nuestro colaborador @Cibernetx quien me pidió este modulo, y después de una investigación aquí esta el tutorial sencillo, pequeño y práctico.
Esto funciona (en teoría) en las versiones de Fedora 17/16/15/14/13/12, además de CentOS 6.3/6.2/6.1/6/5.8 y Red Hat (RHEL) 6.3/6.2/6.1/6/5.8 (solo probado en Fedora 16 y 17)
¿Qué es y para qué sirve el modulo UserDir?
Este modulo permite que podamos guardar los archivos de nuestra página web en nuestra carpeta personal (/home/usuario/public_html) en ves de la carpeta por defecto (/var/www/) además de que cada usuario del sistema tiene una URL en http://localhost ejemplo:
- http://localhost/~usuario1
- http://localhost/~usuario2
- http://localhost/~usuario3
¿Cuál es el inconveniente en Fedora?
Al principio encontré mucha información para ubuntu, pero en Fedora hay un problema, SELinux, que bloquea la URL http://localhost/~usuario con un Forbidern Error 403, pero como siempre lo he solucionado 😉
1. Crear /etc/httpd/conf.d/userdir.conf file
Lo primero (como siempre) es abrir una terminal como root
sudo su
Ahora crearemos el archivo /etc/httpd/conf.d/userdir.conf
gedit /etc/httpd/conf.d/userdir.conf
Dentro de el pondremos lo siguiente:
<IfModule mod_userdir.c>
#
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
UserDir enabled usuario
#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disabled" line above, and uncomment
# the following line instead:
#
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
Options Indexes Includes FollowSymLinks
AllowOverride All
Allow from all
Order deny,allow
</Directory>
Sustituimos usuario por nuestro nombre de usuario Guardamos y cerramos.
En la linea UserDir enabled usuario asignaremos a los únicos usuarios que estarán disponibles, para activar varios usuarios puedes usar:
UserDir enabled usuario1 usuario2 usuario3
2. Reiniciar Apache
Reiniciamos apache desde la Terminal
service httpd restart
3. Crear carpeta /home/usuario/public_html
Creamos la carpeta donde se guardarán nuestros archivos «public_html»
mkdir /home/usuario/public_html/
4. Establecer permisos
Ahora, por seguridad establecemos los permisos correctos para la carpeta personal y para public_html
chmod 711 /home/usuario
chmod 755 /home/usuario/public_html
5. Configurando SELinux y UserDir
Aquí es donde resolvemos el problema del 403 Forbidern Error
setsebool -P httpd_enable_homedirs true
chcon -R -t httpd_sys_content_t /home/usuario/public_html
Una vez que añadimos las excepciones a SELinux tenemos todo listo ahora podemos entrar a
http://localhost/~usuario sin problemas
El carácter «~» se consigue presionando ALT + 4 .