La cosa tiene algo más de miga de lo que parece, no basta hacer un enlace simbólico o crear directamente un virtualHost porque te dará problemas con los permisos. Al final la solución más rápida que encontré fue usar "a2enmod userdir" que permite crear un directorio "public_html" en todas las carpetas de usuario.
La cosa es tal que así
$sudo a2enmod userdir
$sudo service apache2 restart
Para activar que apache2 sirva los directorios de usuario. Después creas un directorio en tu carpeta de de usuario llamado public_html y ahí puedes poner un archivo de prueba. $cd ~
$mkdir public_html
$echo "<?php echo 'Hello world' ?>" >> public_html/index.php
Ahora ya puedes abrir tu navegador e ir a http://localhost/~nombreusuario/ y debería abrirte el index.php y mostrar algo como: <?php echo 'Hello world' ?>
El código php aparece porque de entrada la configuración de PHP está deshabilitada por motivos de seguridad. No es preciso recordar que lo que estamos haciendo es peligroso y únicamente debería hacerse para máquinas de desarrollo que no tengan acceso del exterior.Para habilitar el php en el directorio de usuario vamos al archivo /etc/apache2/mods-enabled/php5.conf y comentar las siguientes líneas
#<IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_flag engine Off
# </Directory>
#</IfModule>
Reiniciar el servidor apache con $sudo service apache2 restart
...et voilà! Ya ejecutamos scripts php desde nuestra carpeta de usuario.Convertir nuestra carpeta de usuario en el directorio por defecto
Si lo que queremos es que al visitar http://localhost vaya directamente a nuestra carpeta de usuario hay que cambiar el DocumentRoot de nuestro site. Edita /etc/apache2/sites-available/000-default.conf y cambiamos la línea DocumentRoot por: DocumentRoot /home/usuario/public_html
..y reiniciar de nuevo el servicio
$sudo service apache2 restart
No hay comentarios:
Publicar un comentario