Me gusta mantener mis proyectos web organizados. Una forma de lograr esto con Apache2 es usando Virtual Hosts. Así Apache espera pedidos en una sola IP, pero según el dominio que se pida, sirve un sitio distinto.
Voy a explicar cómo crear un servidor virtual para pruebas locales, con el hostname notas.
Por el momento sólo configuramos el nombre del servidor y la ubicación de los documentos.
Crear como root el archivo /etc/apache2/sites-available/notas con el contenido:
<VirtualHost *:80> ServerName notas DocumentRoot /home/ignacio/notas </VirtualHost>
Para activar el sitio, hay que hacer un link simbólico.
# cd /etc/apache2/sites-enabled # ln -s ../sites-available/notas 123-notas
(el número tiene que ver con el orden en que se cargan los archivos, no tiene mucha importancia).
Hay que instruirle a apache que vamos a usar servidores virtuales por nombre de dominio. Para eso, agregar al final de /etc/apache2/apache2.conf la línea
NameVirtualHost *:80
Para que recargue la configuración,
# service apache2 reload
Por último, para que el dominio notas resuelva a nuestra PC, cambiamos /etc/hosts. En mi caso, cambié
127.0.0.1 localhost
por
127.0.0.1 localhost notas
Para probar la configuración, creamos la carpeta /home/ignacio/notas y el archivo /home/ignacio/notas/index.html con algún contenido como «Hola, mundo!».
Apuntamos el navegador a http://notas/ y debería verse correctamente.