Crear un Virtual Host de Apache en Ubuntu

En primer lugar vamos a explicar que esto de un Virtual Host. Un Virtual Host es un archivo o conjunto de líneas de código que contiene información y configuración para un dominio dominio y que le indican al servidor Apache como responder a las peticiones de  dominios. Por ejemplo, yo,  al trabajar proyectos web en local, a veces en vez de usar la típica URL “http://localhost/miproyecto” prefiero trabajar simulando un dominio real, p.e: “http://kudesare”. Es cuando configuro un Virtual Host.

Apache incluye un archivo Virtual Host por defecto denominado 000-default.conf que podemos usar . Realizaremos una copia para trabajar sobre ella y crear nuestro Virtual Host para cada dominio.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/kudesare.conf

Ahora lo abrimos para editarlo como root

sudo vim /etc/apache2/sites-available/001-kudesare.conf

Y ponemos el código correspondiente

<VirtualHost *:80>
 ServerName kudesare
 ServerAlias kudesare www.kudesare
 DocumentRoot /var/www/html/kudesare/kudesare/html

<Directory /var/www/html/kudesare/kudesare/html>
 AllowOverride all
 Require all granted
 Order allow,deny
 allow from all
 </Directory>

<Directory /var/www/html/kudesare/kudesare>
 Order allow,deny
 allow from all
 # allow from 192.168.0.192/27
 </Directory>

LogLevel warn
 ErrorLog /var/log/apache2/kudesare-error.log
 CustomLog /var/log/apache2/kudesare-access.log combined env=!dontlog

</VirtualHost>

Donde pone ServerName, es la base del dominio que debe coincidir para este Virtual Host. Esto será como tu dominio. La segunda, llamada ServerAlias, son futuros nombres que pueden servirse como el nombre base o dominio principal. Esto es útil para host tipo www.

En DocumentRoot, ponemos la ruta del proyecto que queremos ejecutar.

Lo demás es tema de permisos y de logs, que en principio deberían ir así, pero que en futura publicación lo explicaré más a fondo.

Tendremos que editar también el fichero /etc/hosts

sudo vim /etc/hosts

y añadir una línea así:

127.0.0.1 kudesare

Ahora sólo nos queda activar el Virtual Host, con este comando

sudo a2ensite kudesare.conf

Y reiniciar apache

sudo /etc/init.d/apache2 restart

Ahora al poner http://kudesare en el navegador debería cargar mi proyecto de /var/www/html/kudesare/kudesare/html

3 thoughts on “Crear un Virtual Host de Apache en Ubuntu

  1. ale Reply

    En otro servidor tengo alojado mi sitio web con un nombre de dominio fundamentosdeprogramacion.mx
    tengo una maquina virtual en digitalocean y este mismo nombre del dominio que mencione anteriormente lo pongo en el serverName en el archivo de configuracion .conf la duda es que al poner al intentar ingresar con la url fundamentosdeprogramacion.mx me envia al otro servidor no al servidor virtual que tengo en digitalocean porque sera esto??

    • admin Post authorReply

      Buenas,

      Creo que para que tu dominio fundamentosdeprogramacion.mx, apunte al servidor de Digitalocean, deberías cambiar las DNS en la configuración del dominio fundamentosdeprogramacion.mx

      Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *