Cómo personalizar Apache en Ubuntu
Lo que sucede es que a veces es complicado tener toda la estructura de tu sitio o de tus sitios bajo /var/www, sobre todo si trabajas para otros.
Una solución genial es tener una carpeta para cada proyecto, de modo que sea mas fácil manejarlas. Por ejemplo, to tengo una carpeta en /home/apache/ y dentro de ella todos mis proyectos.
Para configuarlos de esta manera, debes seguir los siguientes pasos.
Crea un nuevo directorio en /home y dale pásale la propiedad al usuario y grupo www-data:
sudo mkdir /home/apache sudo chown www-data:www-data cd apache
En este directorio, siempre como usuario administrador (es decir, usando sudo), debes crear todos los directorios que necesites. Al final debes pasarlos al usuario www-data:
sudo tar xvfz ~/descargas/wordpress-2.7.1-es_ES.tar.gz sudo tar xvfz ~/descargas/MT-4.25com-en.tar.gz sudo mv wordpress wp && sudo mv MTCOM-4.25-en mt sudo chown www-data:www-data *
Ahora nos vamos al directorio /etc/apache2 dónde están todas las configuraciones y dónde vamos a crear nuestros directorios. Porque lo que tenemos que hacer es crear un archivo en /home/apache2/sites-avalilable con la configuración que queremos para nuestro sitio. Veamos el ejemplo con WordPress.
sudo vi sites-available/wp.conf
Y con colocar esto dentro del archivo:
Alias /wp/ "/home/apache/wp/"
<Directory "/home/apache/wp/">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Siguiendo este mismo ejemplo, creamos un archivo para Movable Type, con la orden sudo vi sites-available/mt.conf:
Alias /mt/ "/home/apache/mt/"
<Directory "/home/apache/mt/">
AddHandler cgi-script .cgi
Options ExecCGI Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Antes de terminar, creamos un enlace simbólico de estos dos archivos al directorio sites-available. Esto se hace asi, porque desactivar un sitio solo implica borrar un enlace simbólico, y si queremos recuperar mas tarde la configuración, solo se vuelve a crear.
sudo ln -s /etc/apache2/sites-available/mt.conf /etc/apache2/sites-enabled/002-mt sudo ln -s /etc/apache2/sites-available/wp.conf /etc/apache2/sites-enabled/002-wp
Para concluir, reiniciamos apache:
sudo /usr/sbin/apache2ctl graceful
Una última cosa: Es necesario que algunos directorios pertenezcan a www:data porque el servidor httpd escribe en ellos, pero hay otros que pueden petenecer a tu usuario, por ejemplo todo el diectorio wp-content, con lo que podrías modificar un tema o instalar un plugin sin permisos de administrador.



