Tener varios dominios en una misma VPS con virtualhosts

Buenas, después de estar bastante tiempo parado sin escribir, me he decidido por este artículo porque hace unos días tuve que configurar varios servidores web con apache2 para asociar varios dominios a un VPS y quería compartir con vosotros los pasos que seguí y para tenerlo yo también guardado en algún sitio para futuras referencias.

Primero que nada vamos a instalar el servidor web apache2, personalmente uso Ubuntu por lo que los comandos que usaré serán para esa distribución.

sudo apt-get update
sudo apt-get install apache2

 

Configurar los directorios de trabajo

Nuestras webs irán alojadas dentro de la carpeta /var/www, aquí creamos las carpetas para los 2 dominios

sudo mkdir -p /var/www/codigodiario.me/public_html
sudo mkdir -p /var/www/codigoejemplo.me/public_html

 Cambiar los permisos de las carpetas

Para que nuestro usuario pueda crear y editar archivos en esas carpetas tenemos que cambiar los permisos porque por defecto vienen con permisos para root.

sudo chown -R codigodiario:.codigodiario /var/www/codigodiario.me/public_html
sudo chown -R codigodiario:.codigodiario /var/www/codigoejemplo.me/public_html

Mi usuario se llamaría codigodiario, eso lo tendréis que cambiar por el vuestro.

Para el funcionamiento correcto de las páginas tenemos que cambiar los permisos de lectura a 755 a nuestra carpeta www

sudo chmod -R 755 /var/www

 Página de prueba

Crearemos una página de prueba para más adelante comprobar el funcionamiento de los virtualhost

nano /var/www/codigodiario.me/public_html/testpage.html

Con este contenido básico

<html>
  <head>
    <title>codigodiario.me</title>
  </head>
  <body>
    <h1>TODO CORRECTO!</h1>
  </body>
</html>

Crear los archivos de configuración de Apache2

Estos archivos Virtual Host son los que llevan la configuración asociada a nuestra página web que vamos a alojar.

El bueno de apache ya nos trae un archivo de configuración predefinada para que la cojamos y la modifiquemos a nuestro gusto.

Haremos una copia de este archivo y lo llamaremos como nuestra web codigodiario.me.conf

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

Ahora lo vamos a editar para cambiar las direcciones y carpetas

sudo nano /etc/apache2/sites-available/codigodiario.me.conf

virtualhost2

Creo que con la imagen de arriba no hace falta explicar donde qué hay que poner.

Habilitar los virtualhosts que acabamos de crear

Usando a2ensite podemos habilitarlos:

sudo a2ensite codigodiario.me.conf
sudo a2ensite codigoejemplo.me.conf

Con esto ya los tendríamos activados sólo quedaría reiniciar el servicio de apache y nuestras web ya deberían estar funcionando.

sudo service apache2 restart

 Vamos a comprobar si funciona

Comprobaremos si funciona correctamente el archivo html de prueba que creamos hace un momento

virtualhostsworks

 

Y con esto ya tendríamos nuestras dos webs con diferentes dominios funcionando en una misma VPS, espero que os sea de ayuda y nos vemos la próxima!

Desarrollador a tiempo completo, amante del buen rol y los juegos de plataforma. Mi tiempo libre me gusta invertirlo para ver series y malas peliculas