Lo que sigue es una breve nota técnica que me sirva (y a otros) como recordatorio para la próxima vez , dado que hoy he perdido un rato con la configuración de un host virtual en Ubuntu (en Fedora lo tenía todo ya hecho, y sólo era copiar y pegar 🙂
En /etc/apache2 disponemos de varios subdirectorios, dos de ellos importantes para nuestra tarea. El primero sites-available y el segundo sites-enabled.
Los ficheros de configuración de los hostings virtuales se configuran en sites-available. El segundo subdirectorio sólo contiene enlaces a aquellos virtulhost que queremos activar.
Queremos crear un virtualhost de nombre hackit. Es decir, cuando ponga en mi navegador http://hackit me debe de llevar a la página principal de ese host. Si pongo http://localhost me llevará al virtualhost por defecto (distinto del de hackit).
Lo primero, creo una nueva entrada en /etc/hosts (mantengo lo que había y añado lo siguiente):
127.0.0.1 hackit
Copio los archivos del nuevo site en /var/www/hackit.
Comienza el procedimiento de configuración del nuevo virtualhost en Apache2:
$ cd /etc/apache2/sites-available
Edito las dos primeras líneas del fichero default para que queden así:
NameVirtualHost *:80
<VirtualHost *:80>
$ cp default hackit
Edito hackit para que las primeras líneas queden así:
<VirtualHost *:80>
ServerAdmin webmaster@hackit
ServerName hackit
DocumentRoot /var/www/hackit
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/hackit>
$ cd /etc/apache2
El siguiente comando, a2ensite (available2enablesite) crea un enlace en sites-enable al site que le indiquemos (es decir, activa el virtualhost que acabamos de crear)
# a2ensite hackit
Comprobamos:
$ ls -al sites-enabled/
Recargamos apache2:
#/etc/init.d/apache2 force-reload
Listo!