Instalar y configurar Web Services (Apache Virtual Hosting) en Zentyal Server - Parte 9


El alcance de este tutorial es demostrar cómo Zentyal 3.4 Server se puede utilizar como una Plataforma Web con varios sitios web (subdominios) utilizando Apache Virtual Hosts .

Zentyal 3.4 utiliza el paquete Apache (también conocido como httpd) como servidor web, que es el servidor web más utilizado en Internet en la actualidad y es un completo código abierto.

El alojamiento virtual representa la capacidad de Apache para servir a más de un sitio web (dominios o subdominios) en una sola máquina o nodo, un proceso que es completamente transparente para los usuarios finales que se basa en múltiples IP o vhosts.

La antigua guía de instalación de Zentyal

Paso 1: Instale el servidor web Apache

1. Inicie sesión en Zentyal 3.4 Herramientas de administración web apuntando el navegador a la dirección IP de Zentyal o al nombre de dominio ( https:/nombre_dominio ).

2. Vaya a Gestión de software -> Componentes Zentyal y seleccione Servidor web .

3. Pulse el botón Instalar y acepte el paquete Autoridad de certificación también (necesario para los certificados SSL utilizados para cifrar conexiones https).

4. Una vez finalizada la instalación, vaya a Estado de los módulos , seleccione Servidor web , Acepte el mensaje Habilitando y presione Guardar . para aplicar nuevos cambios.

El indicador Habilitar le presentará algunos detalles sobre qué paquetes y archivos de configuración serán modificados por Zentyal.

Por ahora, Apache Web Server está instalado y es funcional, pero hasta ahora solo tiene la configuración predeterminada.

Paso 2: crear hosts virtuales y alterar la configuración de DNS

En esta configuración queremos agregar un Virtual Host en Apache para que nuestra dirección final se envíe como un subdominio como http://cloud.mydomain.com , pero el El problema aquí es que el módulo Zentyal 3.4 Apache y el módulo DNS no funcionarán por algunas razones con hosts virtuales en la IP del sistema.

Los hosts virtuales creados a partir del módulo web se agregan al servidor DNS como un nuevo nombre de dominio, no como un nuevo registro de host A . Hay algunos trucos para configurar Hosts virtuales en Zentyal , uno es usar Interfaces IP virtuales .

Afortunadamente, otro para solucionar este problema es realizar algunos trucos de configuración en el módulo DNS de Zentyal .

5. Para empezar, agreguemos un host virtual. Vaya a Módulos de servidor web -> Hosts virtuales -> AÑADIR NUEVO .

6. Marque Habilitado , ingrese el nombre de este host virtual (agregue el nombre de dominio completo) y presione AGREGAR .

7. Una vez que se haya agregado el host y aparezca en la lista de Hosts virtuales , presione el botón superior Guardar para aplicar los cambios.

El principal problema es que el subdominio recién creado (host virtual) no está disponible porque el servidor DNS aún no contiene un registro de nombre de host A .

La ejecución de un comando ping en este subdominio tiene la misma respuesta negativa.

8. Para resolver este problema, vaya al módulo DNS y haga clic en Nombres de host debajo de su dominio listado.

Como puede ver, obviamente, el host virtual creado (o subdominio) existe y necesita que se agregue una dirección IP .

Debido a que el alojamiento virtual está configurado para que Apache sirva archivos web desde el nodo Zentyal , el módulo DNS necesita un registro de nombre de host A para apuntar a Zentyal la misma IP (configuración que Zentyal no permite).

Zentyal 3.4 DNS no permite usar la dirección IP de su sistema asignada con diferentes nombres de host (múltiples registros de nombres de host DNS A en la misma IP).

9. Para superar esta situación no deseada usaremos un truco basado en registros DNS CNAME (Alias). Para que esto funcione, realice la siguiente configuración.

  1. Delete the DNS hostname record just added to your domain

10. Vaya a su registro de nombre de host Zentyal DNS FQDN , presione el botón Alias u200bu200b y luego el botón AÑADIR NUEVO .

Ingrese el mismo nombre provisto en Apache Virtual Host (sin el dominio de puntos) en el campo Alias u200bu200b, presione AGREGAR y Guardar cambios .

11. Ahora su registro DNS debería ser completamente funcional y apuntar a Apache Virtual Host que, a cambio, servirá páginas web alojadas en la directiva DocumentRoot (/ srv/www/your_virtual_host_name) en Zentyal.

12. Para probar la configuración, abra un navegador e ingrese en URL su nombre de host virtual (subdominio) usando el protocolo http.

También puede emitir un comando ping desde un sistema diferente en su red con el nombre del subdominio.

Ahora Apache Web Server está configurado y habilitado para servir páginas web en un puerto http 80 menos seguro, pero queremos agregar una capa segura entre el servidor y los clientes, siga el paso < b> # 3 como se indica a continuación.

Paso 3: crear SSL para Apache

Para habilitar el cifrado SSL ( Capa de conexión segura ) en Zentyal 3.4 , es necesario convertirse en una CA ( Autoridad de certificación ) y emitir el certificado digital, las claves públicas y privadas necesarias para que el servidor y los clientes intercambien datos a través de un canal seguro.

13. Vaya al módulo Autoridad de certificación -> General .

14. En Certificado de autoridad ingrese la siguiente configuración y luego presione Crear .

  1. Organization Name : your domain name ( in this case the domain is “mydomain.com” ).
  2. Country Code : your country code ( 2-3 characters ).
  3. City : your organization main location.
  4. State : leave it empty.
  5. Days to Expire : 3650 –by default ( 10 years ).

15. Una vez creado el Certificado de autoridad principal, emitimos uno nuevo para nuestro host virtual con la siguiente configuración.

  1. Common Name : enter your virtual host name or server FQDN ( in this case is cloud.mydomain.com ).
  2. Days to Expire : 3650.
  3. Subject Alternative Names : the most common parameter here is your email address (email:[email protected]).

16. Una vez generado el Certificado, puede descargarlo, revocarlo o renovarlo.

17. El siguiente paso es vincular este certificado con Servicio Apache . Vaya de nuevo a Autoridad de certificación -> Certificados de servicios y resalte Módulo de servidor web .

18. En Módulo de servidor web , seleccione Habilitar y luego presione el icono Acción para editar el certificado.

19. En Nombre común , ingrese el nombre creado anteriormente en el paso # 15 (ese Nombre común es el Nombre del certificado ), marque Habilitar nuevamente, presione el botón Cambiar y luego presione la parte superior Guardar cambios para aplicar la nueva configuración.

Ahora su certificado está generado y vinculado a Servicio de servidor web , pero aún no está operativo en Hosts virtuales porque el protocolo HTTPS no está habilitado en Servidor web .

Paso 4: Habilite Apache HTTPS

En Zentyal 3.4 SSL el manejo lo realiza el servicio HAProxy , pero aún necesitamos habilitar el archivo de configuración Apache SSL y la directiva Port.

20. Vaya a Servidor web -> seleccione Habilitado –Puerto 443 (puerto SSL predeterminado) en la configuración de los puertos de escucha HTTPS y presione el botón Cambiar .

21. Navegue por la parte inferior de la página y haga clic en el botón Acción de sus Hosts virtuales listados para editar la configuración de SSL .

22. En la compatibilidad con SSL , elija la opción Permitir SSL , presione Cambiar y luego presione la parte superior Guardar cambios.

23. Ahora Apache servirá al host virtual " cloud.mydomain.com " en los puertos http predeterminados 80 y 443 .

24. Repitiendo los pasos anteriores, puede transformar Zentyal en un cuadro de Alojamiento web y agregar tantos dominios o subdominios con Apache Virtual Host como sea necesario y configure todos para utilizar los protocolos de comunicación HTTP y HTTPS utilizando el certificado emitido anteriormente.

Aunque puede que no exista una configuración compleja que implique una plataforma de alojamiento web real (algunas se pueden crear desde la línea de comandos y utilizando el archivo Apache .htaccess ) se puede utilizar Zentyal 3.4 hosting para sitios web de tamaño medio y simplifica enormemente la edición y configuración de servicios web.