Buscar

1.5. Configuración de hosts virtuales basados en nombres de Apache

download PDF

Los hosts virtuales basados en nombres permiten a Apache servir diferentes contenidos para diferentes dominios que se resuelven a la dirección IP del servidor.

El procedimiento en esta sección describe la configuración de un host virtual para el dominio example.com y example.net con directorios raíz de documentos separados. Ambos hosts virtuales sirven contenido HTML estático.

Requisitos previos

  • Los clientes y el servidor web resuelven el dominio example.com y example.net a la dirección IP del servidor web.

    Tenga en cuenta que debe añadir manualmente estas entradas a su servidor DNS.

Procedimiento

  1. Instale el paquete httpd:

    # yum install httpd
  2. Edite el archivo /etc/httpd/conf/httpd.conf:

    1. Añada la siguiente configuración de host virtual para el dominio example.com:

      <VirtualHost *:80>
          DocumentRoot "/var/www/example.com/"
          ServerName example.com
          CustomLog /var/log/httpd/example.com_access.log combined
          ErrorLog /var/log/httpd/example.com_error.log
      </VirtualHost>

      Estos ajustes configuran lo siguiente:

      • Todos los ajustes de la directiva <VirtualHost *:80> son específicos para este host virtual.
      • DocumentRoot establece la ruta del contenido web del host virtual.
      • ServerName establece los dominios para los que este host virtual sirve contenido.

        Para establecer varios dominios, añada el parámetro ServerAlias a la configuración y especifique los dominios adicionales separados con un espacio en este parámetro.

      • CustomLog establece la ruta del registro de acceso del host virtual.
      • ErrorLog establece la ruta del registro de errores del host virtual.

        Nota

        Apache utiliza el primer host virtual encontrado en la configuración también para las peticiones que no coinciden con ningún dominio establecido en los parámetros ServerName y ServerAlias. Esto también incluye las peticiones enviadas a la dirección IP del servidor.

  3. Añada una configuración de host virtual similar para el dominio example.net:

    <VirtualHost *:80>
        DocumentRoot "/var/www/example.net/"
        ServerName example.net
        CustomLog /var/log/httpd/example.net_access.log combined
        ErrorLog /var/log/httpd/example.net_error.log
    </VirtualHost>
  4. Cree las raíces de los documentos para ambos hosts virtuales:

    # mkdir /var/www/example.com/
    # mkdir /var/www/example.net/
  5. Si establece rutas en los parámetros de DocumentRoot que no están dentro de /var/www/, establezca el contexto httpd_sys_content_t en ambas raíces del documento:

    # semanage fcontext -a -t httpd_sys_content_t "/srv/example.com(/.*)?"
    # restorecon -Rv /srv/example.com/
    # semanage fcontext -a -t httpd_sys_content_t "/srv/example.net(/.\*)?"
    # restorecon -Rv /srv/example.net/

    Estos comandos establecen el contexto httpd_sys_content_t en el directorio /srv/example.com/ y /srv/example.net/.

    Tenga en cuenta que debe instalar el paquete policycoreutils-python-utils para ejecutar el comando restorecon.

  6. Abra el puerto 80 en el firewall local:

    # firewall-cmd --permanent --add-port=80/tcp
    # firewall-cmd --reload
  7. Habilite e inicie el servicio httpd:

    # systemctl enable --now httpd

Pasos de verificación

  1. Cree un archivo de ejemplo diferente en la raíz de documentos de cada host virtual:

    # echo "vHost example.com" > /var/www/example.com/index.html
    # echo "vHost example.net" > /var/www/example.net/index.html
  2. Utilice un navegador y conéctese a http://example.com. El servidor web muestra el archivo de ejemplo del host virtual example.com.
  3. Utilice un navegador y conéctese a http://example.net. El servidor web muestra el archivo de ejemplo del host virtual example.net.

Recursos adicionales

Red Hat logoGithubRedditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

© 2024 Red Hat, Inc.