Cómo habilitar y configurar el módulo userdir de Apache2 y PHP5 en Ubuntu

Cómo habilitar y configurar el módulo userdir de Apache2 y PHP5 en Ubuntu

El módulo userdir de Apache se utiliza para crear un directorio raíz en el directorio home de un usuario. Al utilizar el módulo userdir cada usuario en el sistema tendrá un directorio public_html que será la raíz web del Apache 2 para el usuario. Para acceder al directorio web raíz de cada usuario se utilizará el caracter "~" antes del nombre del usuario. Esto es, la dirección será de la forma http://hostname/~username/
Por defecto el modulo userdir se encuentra disponible y desactivado cuando se instala el paquete apache2. Para activarlo basta con seguir los pasos en la siguiente sección.

Habilitar el módulo userdir de Apache 2 en Ubuntu

Los siguientes pasos requieren haber instalado el servidor web Apahce2. Si necesita más información al respecto consulte el siguiente articulo.
Utilizar el comando a2enmod para habilitar el modulo userdir de Apache2, éste comando creará los enlaces simbólicos /etc/apache2/mods-available/userdir.load y /etc/apache2/mods-available/userdir.conf en el directorio /etc/apache2/mods-enable/.

sudo a2enmod userdir

Reinicie el demonio apache2 con el siguiente comando:

sudo service apache2 restart

Haga un directorio llamado "public_html" en el directorio home y asígnele los permisos 0755:


mkdir ~/public_html && chmod 0755 ~/public_html

Soporte PHP del módulo userdir de Apache2

Luego de habilitar el modulo userdir, los usuarios pueden guardar archivos HTML en el directorio /home/username/public_html, pero solamente archivos estáticos HTML y no scripts PHP.
La ejecución de scripts PHP desde el directorio public_html se encuentra deshabilitada por razones de seguridad, por lo que todos los archivos PHP se reconocerán mime-type Application/octet-stream y será descargado cuando se accede desde el navegador. Si se desea habilitar el procesamiento de PHP al utilizar el módulo userdir de Apache2 debe en primer lugar editar el siguiente archivo:

sudo nano /etc/apache2/mods-available/php5.conf

Ahora es necesario comentar la línea php_admin_value engine Off, es decir, escribir el caracter # antes de la línea.

Antes:


 <IfModule mod_userdir.c>
 <Directory /home/*/public_html>
 php_admin_value engine Off
 </Directory>
 </IfModule>

Después:


 <IfModule mod_userdir.c>
 <Directory /home/*/public_html>
 # php_admin_value engine Off
 </Directory>
 </IfModule>

Guárdelo y salga, luego reinicie el demonio Apache2 con el siguiente comando:

sudo /etc/init.d/apache2 reload

Para probar si efectivamente los scripts PHP funcionan en el directorio public_html, haga un archivo con algún script PHP. Para fines de ejemplo se utilizará la función phpinfo, solo ejecute el siguiente comando en la terminal:

echo '<?php phpinfo(); ?>' > ~/public_html/info.php

Finalmente abra en algún navegador web e ingrese a la dirección http://localhost/~username/info.php, recuerde reemplazar username por el nombre de usuario que corresponda. El resultado en el navegador debe ser algo similar a lo siguiente:



Este texto es una traducción al español del artículo How to Enable and Configure Apache2 Userdir Module in Ubuntu Server 12.04 publicado en Ubuntu Server Guide.

Referencias :

Comentarios

Entradas más populares de este blog

Instalar Spotify + Blockify Ubuntu 17.04

Instalar kde-connect en cualquier escritorio distinto a KDE Plasma en OpenSUSE