0Pricing
Linux Server Deployment & SSH Mastery · Lección

Configuración básica de hosts virtuales

Configure hosts virtuales (o bloques de servidor) para alojar varios sitios web en un mismo servidor utilizando distintos nombres de dominio.

Configuración básica de hosts virtuales es una lección gratuita de Linux Server Deployment & SSH Mastery en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Server Deployment & SSH Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.

Alojar varios sitios web

Imagine que tiene un servidor potente, pero quiere alojar varios sitios web diferentes, cada uno con su propio nombre de dominio (como myshop.com y myblog.com).

¿Cómo puede un solo servidor gestionar todo esto de forma eficiente sin necesitar una máquina independiente para cada sitio?

¿Qué son los hosts virtuales?

¡Aquí es donde entran en juego los hosts virtuales (Apache) o los bloques de servidor (Nginx)!

  • Son unidades de configuración que permiten que un único servidor web aloje varios nombres de dominio.
  • Cada dominio puede tener su propia raíz de documentos (donde se almacenan sus archivos), sus registros y configuraciones específicas.
  • Esto ahorra recursos y simplifica la gestión del servidor.

Configurar un host virtual de Apache

En Apache, las configuraciones de los hosts virtuales suelen almacenarse en archivos .conf dentro de directorios específicos:

  • /etc/apache2/sites-available/: Contiene todas las configuraciones de hosts virtuales disponibles.
  • /etc/apache2/sites-enabled/: Contiene enlaces simbólicos a las configuraciones que están activas actualmente.

Usamos comandos como a2ensite para habilitarlas.

Apache: Host virtual básico

A continuación se muestra una configuración sencilla de host virtual de Apache. Este archivo se crearía en sites-available.

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

Apache: pasos de configuración

Para configurar un host virtual de Apache para myfirstsite.com:

  1. Cree un directorio para los archivos de su sitio web.
  2. Cree el archivo de configuración del host virtual.
  3. Habilite el sitio y vuelva a cargar Apache.

Veamos los comandos correspondientes a los dos primeros pasos:

sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.conf

Apache: habilitar y volver a cargar

Después de crear y guardar el archivo .conf, utilice estos comandos para activarlo y aplicar los cambios:

  • sudo a2ensite myfirstsite.conf: Crea un enlace simbólico en sites-enabled.
  • sudo apache2ctl configtest: Comprueba si hay errores de sintaxis en la configuración de Apache.
  • sudo systemctl reload apache2: Aplica la nueva configuración sin reiniciar el servidor.
sudo a2ensite myfirstsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

Configuración de bloques de servidor de Nginx

Nginx utiliza bloques de servidor, que son muy similares a los hosts virtuales de Apache. También emplean una estructura de directorios similar:

  • /etc/nginx/sites-available/: Almacena todas las configuraciones de los bloques de servidor.
  • /etc/nginx/sites-enabled/: Contiene enlaces simbólicos a los bloques de servidor activos.

En lugar de utilizar un comando auxiliar, crearemos manualmente los enlaces simbólicos.

Nginx: bloque de servidor básico

A continuación se muestra una configuración básica de bloque de servidor de Nginx para mysecondsite.com. Este archivo se crearía en sites-available.

server {
    listen 80;
    listen [::]:80;

    root /var/www/mysecondsite/html;
    index index.html index.htm;

    server_name mysecondsite.com www.mysecondsite.com;

    location / {
        try_files $uri $uri/ =404;
    }
}

Nginx: pasos de configuración

Para configurar un bloque de servidor de Nginx para mysecondsite.com:

  1. Cree un directorio para los archivos de su sitio web.
  2. Cree el archivo de configuración del bloque de servidor.
  3. Cree un enlace simbólico y vuelva a cargar Nginx.

Estos son los comandos correspondientes a los dos primeros pasos:

sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsite

Nginx: habilitar y volver a cargar

Después de crear y guardar el archivo del bloque de servidor, utilice estos comandos para activarlo y aplicar los cambios:

  • sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/: Crea el enlace simbólico.
  • sudo nginx -t: Comprueba si hay errores de sintaxis en la configuración de Nginx.
  • sudo systemctl reload nginx: Aplica la nueva configuración sin reiniciar.
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Comprobación de hosts virtuales

Ha aprendido a configurar servidores web para alojar varios sitios. Compruebe sus conocimientos.

Repaso: varios sitios, un solo servidor

¡Excelente trabajo! Ha aprendido los conceptos esenciales para configurar hosts virtuales (Apache) y bloques de servidor (Nginx).

  • Estas configuraciones le permiten alojar eficazmente varios sitios web en un solo servidor.
  • Ahora sabe cómo configurar opciones independientes para distintos nombres de dominio.
  • Esta es una competencia fundamental para administrar servidores web e implementar varias aplicaciones.

Preguntas frecuentes

¿La lección «Configuración básica de hosts virtuales» es gratis?

Sí — el texto completo de «Configuración básica de hosts virtuales» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Server Deployment & SSH Mastery, actualiza a CoddyKit PRO. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.

¿Qué aprenderé en «Configuración básica de hosts virtuales»?

Configure hosts virtuales (o bloques de servidor) para alojar varios sitios web en un mismo servidor utilizando distintos nombres de dominio. Practicas Linux Server Deployment & SSH Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Linux Server Deployment & SSH Mastery?

No se requiere experiencia previa. Linux Server Deployment & SSH Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Configuración básica de hosts virtuales»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Linux Server Deployment & SSH Mastery?

Sí. Cada lección de Linux Server Deployment & SSH Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Instalación de Nginx/Apache
  2. Alojamiento de sitios web estáticos
  3. Configuración básica de hosts virtuales
  4. Activación de HTTPS con Let's Encrypt
← Volver a Linux Server Deployment & SSH Mastery