miércoles, 21 de noviembre de 2012

Cómo configurar apache para alternar VHosts y localhost


Hola, el otro día tuve que probar una aplicación en local, y tuve que configurar virtual hosts en mi apache y ubuntu 12.04. Tras algunas pruebas he llegado a un compromiso para poder probar aplicaciones como si estuvieran subidas al dominio correspondiente en local pero sin cargarme localhost (para poder seguir accediendo a localhost/pruebas, por ejemplo). He aquí cómo lo he hecho paso por paso:

Por ejemplo, vamos a configurar un vhost llamado www.programatest.com que va a apuntar a /var/www/programate. Para ello tenemos que modificar varios ficheros:

- Meter en /etc/hosts la siguiente línea, que provoca que cuando escribamos en el navegador www.programatest.com se consulte a nuestro apache local:

# Prográmate local
127.0.0.1       www.programatest.com

- En el fichero /etc/apache2/ports.conf, la directiva

NameVirtualHost *:80

pasa a ser

NameVirtualHost localhost:80

Creo que esto es porque * lo coge todo, y cogería también www.programatest.com, etc.

- En /etc/apache2/sites-available/default, cambiamos



por



- Y ya finalmente enlazamos simbólicamente en /etc/apache2/sites-enabled un fichero que creamos en /etc/apache2/sites-available (yo lo he llamado www.programatest.com)  con las siguientes líneas:

 
DocumentRoot /var/www/programate
ServerName www.programatest.com

       
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Order allow,deny
               allow from all
       

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined



Aquí la directiva Directory la meto porque estoy trabajando con zend.

De esta manera tenemos acceso a los virtual hosts y a localhost sin que nos dé ningún warning ni cosas de esas.

y luego, claro, reinicio apache con sudo service apache2 restart.

¡Que os sea de provecho!