Configurar Virtual Host de Apache en Ubuntu 16.04
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.