Configurar múltiples sitios web en Apache con Ubuntu 20.04

En esta guía configuraremos Apache para que aloje en el servidor 2 sitios web de diferentes dominios o en su defecto, 2 sitios diferentes en 2 subdominios. Para hacer esto posible es necesario usar los virtualhosts que independizaran los detalles de configuración para cada sitio y alojar más de un dominio desde un único servidor.

Recuerda que puedes solicitar la configuración de estos y otros servicios al contratar un Servidor Cloud con Hostinglabs o elegir un servidor con una plantilla existente en nuestro catálogo.

Pre requisitos:

  • Más de un dominio o 2 subdominios apuntando a la IP pública del servidor.
  • Apache instalado en el servidor (Puede usar la guía de instalación desde aquí).
  • Usuario root o usuario regular con privilegios sudo.

NOTA: Para esta guía usaremos 2 dominios como ejemplos: sitioweb1.com y sitioweb2.com.

Paso 1 - Crear la estructura del directorio. Puede establecer el directorio raíz donde desee, pero en está guía usaremos la misma ruta usada por Apache, por lo general usa la siguiente ruta:

/var/www/

Donde crearemos 2 carpetas con el nombre de los dominios a usar, además de una carpeta con el nombre de 'public_html' usando el siguiente comando:

sudo mkdir -p /var/www/sitioweb1.com/public_html
sudo mkdir -p /var/www/sitioweb2.com/public_html

El parámetro '-p' realiza la creación de todo el árbol de directorios indicado.

/var/www/
     ├── sitioweb1.com
    └── public_html
     ├── sitioweb2.com
      └── public_html

Paso 2 - Crearemos un archivo 'index.html' en cada carpeta 'public_html' con el siguiente contenido:

<!DOCTYPE html>
<html lang="en" dir="ltr">
   <head>
       <meta charset="utf-8">
       <title>Bienvenido a sitioweb1.com</title>
  </head>
  <body>
      <h1>Hola Mundo sitioweb1.com</h1>
  </body>
</html>

Cambiando solamente el contenido de la etiqueta <title> y <h1> con el nombre del dominio correspondiente para diferenciarlos al finalizar las configuraciones.

Nos ubicamos en las rutas correspondientes para cada dominio:

/var/www/sitioweb1.com/
/var/www/sitioweb2.com/

Creamos los archivos con su contenido respectivo:

sudo nano index.html

Paso 3 - Asignamos la propiedad y los respectivos permisos tanto para carpetas y archivos:

sudo chown -R www-data: /var/www/sitioweb1.com
sudo find /var/www/sitioweb1.com -type d | sudo xargs chmod -v 0775
sudo find /var/www/sitioweb1.com -type f | sudo xargs chmod -v 0664

Ejecutar los mismos comandos cambiando la ruta del segundo dominio '/var/www/sitioweb2.com'.

Paso 4 - Creamos los virtual host para cada dominio. En lugar de modificar directamente el archivo de configuración por defecto situado en /etc/apache2/sites-available/000-default.conf, vamos a crear dos nuevos archivos en /etc/apache2/sites-available/ para cada dominio:

nano /etc/apache2/sites-available/sitioweb1.com.conf
nano /etc/apache2/sites-available/sitioweb2.com.conf

E ingresamos el siguiente contenido en cada archivo de configuración:

<VirtualHost *:80>
ServerName sitioweb1.com
ServerAlias www.sitioweb1.com
ServerAdmin [email protected]
DocumentRoot /var/www/sitioweb1.com/public_html
<Directory /var/www/sitioweb1.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/sitioweb1.com-error.log
CustomLog ${APACHE_LOG_DIR}/sitioweb1.com-access.log combined
</VirtualHost>

Recuerda que tienes que cambiar el nombre de dominio y las rutas creadas por ti.

Paso 5 - Habilitamos los archivos de configuración creados y reiniciamos el servicio:

sudo a2ensite sitioweb1.com.conf
sudo a2ensite sitioweb2.com.conf

Deshabilitamos el archivo de configuración por defecto del Apache:

sudo a2dissite 000-default.conf

Probamos que los nuevos archivos de configuración tengan la sintaxis correcta:

sudo apache2ctl configtest

Reiniciamos servicio Apache:

sudo systemctl reload apache2

Paso 6 - Ahora ingresamos a los siguientes enlaces para acceder a los sitios configurados:

http://sitioweb1.com/

http://sitioweb2.com/

Donde podemos confirmar que se visualizan ambos sitios. 

Recuerda que no podrás acceder a los sitios ya que solo han sido usados como ejemplo para esta guía. 

Conclusión


¡Felicidades! Ahora tienes 2 sitios web configurados en Apache funcionando correctamente en tu servidor. Recuerda que siempre puedes ponerte en contacto con nosotros si necesitas asistencia técnica en la operación de tu servicio.

 

¿Fue útil la respuesta? 0 Los Usuarios han Encontrado Esto Útil (0 Votos)

Powered by WHMCompleteSolution