1. Inicio
  2. Servidores Cloud
  3. Configurar múltiples sitios web en Apache con Ubuntu 20.04

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 webmaster@sitioweb1.com
    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. 

sitio multisitio con apache y ubuntu

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. ¡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. Este es solo el comienzo de tu viaje con Apache.

Es esencial mantener tus sitios actualizados y seguros. Con el tiempo, podrías considerar agregar más funcionalidades o incluso expandir tu alojamiento para manejar más tráfico. Asegúrate de revisar periódicamente las mejores prácticas de seguridad y optimización. Estamos aquí para ayudarte en cada paso del camino, garantizando que tu experiencia sea fluida y eficiente. ¡Deseamos que tus proyectos en línea sean un gran éxito!

Actualizado en 6 de septiembre de 2023

¿Te resultó útil este artículo?

Artículos relacionados

Deja un Comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.