Configurar Virtual Host de Apache en Ubuntu 16.04

Abril 23, 2018

Utilizar el Virtual Host es una manera práctica de poder tener múltiples dominios en una misma IP. Esta configuración es para aquellos que utilizan servidores con accesos ROOT, como por ejemplo VPS de DigitalOcean o Vultr.

Bueno, empecemos.

Para esta práctica, trabajaremos con dos dominios:

http://dominiopruebauno.com

http://dominiopruebados.com

1.- Preparar los directorios para el Virtual Host

Como se sabe, desde el momento que instalas Apache, se abre un acceso al directorio default para organizar tus archivos web. En linux (Ubuntu) este directorio se encuentra en: /var/www/html/.

Este directorio no lo utilizaremos ya que crearemos nuestros directorios en base a la cantidad de dominios que necesitemos utilizar.

Ahora desde la terminal:

– Crear Archivos

sudo mkdir -p /var/www/dominiopruebauno.com/public_html
sudo mkdir -p /var/www/dominiopruebados.com/public_html

– Permisos

sudo chown -R $USER:$USER /var/www/dominiopruebauno.com/public_html
sudo chown -R $USER:$USER /var/www/dominiopruebados.com/public_html

Si tienes problemas de permisos al momento de crear tus carpetas, podemos aplicar el siguiente comando:

sudo chmod -R 755 /var/www

Una vez termines la configuración, puedes volver a modificar los permisos, con 755 para directorios y 644 para archivos.

– Creamos los archivos index

Esto es sólo para testear el funcionamiento una vez terminado.

Crear el primer archivo index.html para dominiopruebauno.com

sudo nano /var/www/dominiopruebauno.com/public_html/index.html
<html>
  <head>
    <title>dominiopruebauno.com!</title>
  </head>
  <body>
    <h1>Bienvenidos a dominiopruebauno.com!</h1>
  </body>
</html>

Crear el segundo archivo index.html para dominiopruebados.com

sudo nano /var/www/dominiopruebados.com/public_html/index.html
<html>
  <head>
    <title>dominiopruebados.com!</title>
  </head>
  <body>
    <h1>Bienvenidos a dominiopruebados.com!</h1>
  </body>
</html>

2.- Crear los archivos VirtualHost

Tomamos como base el archivo default que viene en apache2 para crear los nuestros

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/dominiopruebauno.com.conf
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/dominiopruebados.com.conf

Modificar los archivos creados

dominiopruebauno.com.conf

sudo nano /etc/apache2/sites-available/dominiopruebauno.com.conf

Deberá estar igual o parecido a:

<VirtualHost *:80>
    ServerAdmin admin@ dominiopruebauno.com
    ServerName dominiopruebauno.com
    ServerAlias www. dominiopruebauno.com
    DocumentRoot /var/www/dominiopruebauno.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Ahora a modificar dominiopruebados.com.conf

sudo nano /etc/apache2/sites-available/dominiopruebados.com.conf
<VirtualHost *:80>
    ServerAdmin admin@ dominiopruebados.com
    ServerName dominiopruebados.com
    ServerAlias www. dominiopruebados.com
    DocumentRoot /var/www/dominiopruebados.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3.- Habilitar los nuevos archivos VirtualHost

Para que apache2 los reconozca como archivos de configuración para cada dominio, se necesitan activar.

sudo a2ensite dominiopruebauno.com.conf
sudo a2ensite dominiopruebados.com.conf

Y como el archivo default de apache2 no lo ocuparemos, lo desactivamos.

sudo a2dissite 000-default.conf

Toca reiniciar el servicio de apache

sudo service apache2 restart

4.- Establecer los dominios en el archivos host (Paso opcional)

Es meramente opcional. Este paso es para que quede registro para Apache que ahora se están ocupando dos nuevos dominios locales y que pertenecen a una IP pública.

Para esto, debemos modificar el archivos host

sudo nano /etc/hosts

Una vez abierto veremos algo como esto:

127.0.0.1   localhost
127.0.1.1   guest-desktop

Debemos añadir nuestros dominios. Claro, donde dice 111.111.111.111, deben reemplazarla por la IP de su VPS.

127.0.0.1   localhost
127.0.1.1   guest-desktop

#nuestros dominios
111.111.111.111 dominiopruebauno.com
111.111.111.111 dominiopruebados.com

5.- Es hora de probar

Ahora deberían poder visualizar sus páginas web con sus respectivos dominios.

http://dominiopruebauno.com

http://dominiopruebados.com

Con esto todo debería funcionar perfecto.

Aclaro, esta no es la única manera que se puede realizar la virtualización en un servidor, si tienes algo que compartir, te exhorto que en los comentarios nos platiques.

En otro artículo estaré comentando como poder aplicar certificados SSL a cada dominio virtualizado.

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *