Administrar las configuraciones de Dispatcher

Uso de Cloud Manager para implementar archivos de configuración de Dispatcher

Cloud Manager puede implementar archivos de configuración de Dispatcher y servidores web suponiendo que se almacenen en el Repositorio de Git, además de los paquetes de contenido AEM normales.

Para aprovechar esta capacidad, la compilación de Maven debe producir un archivo zip que contenga al menos dos directorios: conf y conf.d. Este archivo zip se puede producir utilizando el complemento maven-assembly-plugin. Los proyectos generados por Cloud Manager que utilizan el asistente integrado tienen la estructura de proyecto Maven correcta creada como parte de la creación del proyecto. Esta es la ruta recomendada para los nuevos clientes de Managed Services.

Tras la implementación en una instancia de Dispatcher Instance, el contenido de estos directorios sobrescribirá el contenido de estos directorios en la instancia de Dispatcher. Dado que los archivos de configuración del servidor web y de Dispatcher requieren con frecuencia información específica del entorno, para que esta capacidad se utilice correctamente, primero deberá trabajar con los ingenieros de éxito del cliente (CSE) para establecer estas variables de entorno en /etc/sysconfig/httpd.

Pasos para configurar Dispatcher para clientes existentes de Managed Services

Siga los pasos a continuación para completar el proceso inicial en la configuración de Dispatcher:

  1. Obtenga los archivos de configuración de producción actuales de su CSE.

  2. Elimine los datos específicos de entorno codificados (por ejemplo, IP del procesador de publicación) y reemplácelos por variables.

  3. Defina las variables necesarias en pares de clave-valor para cada Dispatcher de destino y solicite a su CSE que agregue a /etc/sysconfig/httpd en cada instancia.

  4. Pruebe las configuraciones actualizadas en el entorno de ensayo y, a continuación, solicite al CSE que las implemente en producción.

  5. Confirmar archivos en Repositorio de Git.

  6. Implementar mediante Cloud Manager.

NOTA

La migración de las configuraciones de Dispatcher y servidor web a Repositorio Git puede realizarse durante la incorporación de Cloud Manager, pero también puede realizarse en un momento posterior.

Ejemplo

La estructura específica de archivos y directorios puede variar en función de los aspectos específicos del proyecto, pero este ejemplo debe proporcionar una guía concreta sobre cómo estructurar el proyecto para incluir las configuraciones de Apache y Dispatcher.

  1. Cree un subdirectorio llamado dispatcher.

    NOTA

    Siéntase libre de usar cualquier nombre aquí, pero el nombre de directorio creado en este paso debe ser el mismo que el nombre utilizado en el paso 6.

  2. Este subdirectorio contiene un módulo Maven que crea el archivo zip de Dispatcher usando el complemento Maven Assembly. Para comenzar, en el directorio dispatcher, cree un archivo pom.xml con este contenido, cambiando la referencia principal, artifactId y el nombre según sea necesario.

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <!-- reference to your parent pom -->
        </parent>
    
        <artifactId>dispatcher</artifactId> <!-- feel free to change this -->
        <packaging>pom</packaging>
        <name>dispatcher</name> <!-- feel free to change this -->
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.1.0</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals><goal>single</goal></goals>
                            <configuration>
                                <descriptors>
                                    <descriptor>assembly.xml</descriptor>
                                </descriptors>
                                <appendAssemblyId>false</appendAssemblyId>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </project>
    
    NOTA

    Como en el paso 1, artifactId y el nombre aquí pueden ser otros valores si lo desea; dispatcher aquí solo hay un ejemplo utilizado para la simplicidad.

  3. El complemento Maven Assembly requiere un descriptor para definir cómo se crea el archivo zip. Para crear este descriptor, cree un archivo (de nuevo, en el subdirectorio dispatcher) denominado assembly.xmlcon este contenido. Tenga en cuenta que este nombre de archivo se menciona en la línea 26 en el archivo pom.xml anterior.

    <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
      <id>distribution</id>
      <formats>
        <format>zip</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
      <fileSets>
        <fileSet>
          <directory>${basedir}/src</directory>
          <includes>
            <include>**/*</include>
          </includes>
          <outputDirectory></outputDirectory>
        </fileSet>
      </fileSets>
    </assembly>
    
  4. Ahora, cree un subdirectorio llamado src (como se hace referencia en el descriptor de ensamblado arriba en la línea 11) dentro del subdirectorio Dispatcher para almacenar las configuraciones reales de Apache y Dispatcher. Dentro de este directorio src, cree directorios llamados conf, conf.d, conf.dispatcher.d y conf.modules.d.

  5. Ahora puede rellenar los directorios conf, conf.d, conf.dispatcher.d y conf.modules.d con sus archivos de configuración. Por ejemplo, la configuración predeterminada consiste en estos archivos y vínculos simbólicos.

    dispatcher
    ├── assembly.xml
    ├── pom.xml
    └── src
        ├── conf
        │  ├── httpd.conf
        │  └── magic
        ├── conf.d
        │  ├── README
        │  ├── autoindex.conf
        │  ├── available_vhosts
        │  │  ├── aem_author.vhost
        │  │  ├── aem_flush.vhost
        │  │  ├── aem_health.vhost
        │  │  ├── aem_lc.vhost
        │  │  └── aem_publish.vhost
        │  ├── dispatcher_vhost.conf
        │  ├── enabled_vhosts
        │  │  ├── aem_author.vhost -> ../available_vhosts/aem_author.vhost
        │  │  ├── aem_flush.vhost -> ../available_vhosts/aem_flush.vhost
        │  │  └── aem_publish.vhost -> ../available_vhosts/aem_publish.vhost
        │  ├── rewrites
        │  │  ├── base_rewrite.rules
        │  │  └── xforwarded_forcessl_rewrite.rules
        │  ├── userdir.conf
        │  ├── variables
        │  │  └── ams_default.vars
        │  ├── welcome.conf
        │  └── whitelists
        │      └── 000_base_whitelist.rules
        ├── conf.dispatcher.d
        │  ├── available_farms
        │  │  ├── 000_ams_author_farm.any
        │  │  ├── 001_ams_lc_farm.any
        │  │  └── 999_ams_publish_farm.any
        │  ├── cache
        │  │  ├── ams_author_cache.any
        │  │  ├── ams_author_invalidate_allowed.any
        │  │  ├── ams_publish_cache.any
        │  │  └── ams_publish_invalidate_allowed.any
        │  ├── clientheaders
        │  │  ├── ams_author_clientheaders.any
        │  │  ├── ams_common_clientheaders.any
        │  │  ├── ams_lc_clientheaders.any
        │  │  └── ams_publish_clientheaders.any
        │  ├── dispatcher.any
        │  ├── enabled_farms
        │  │  ├── 000_ams_author_farm.any -> ../available_farms/000_ams_author_farm.any
        │  │  └── 999_ams_publish_farm.any -> ../available_farms/999_ams_publish_farm.any
        │  ├── filters
        │  │  ├── ams_author_filters.any
        │  │  ├── ams_lc_filters.any
        │  │  └── ams_publish_filters.any
        │  ├── renders
        │  │  ├── ams_author_renders.any
        │  │  ├── ams_lc_renders.any
        │  │  └── ams_publish_renders.any
        │  └── vhosts
        │      ├── ams_author_vhosts.any
        │      ├── ams_lc_vhosts.any
        │      └── ams_publish_vhosts.any
        └── conf.modules.d
            ├── 00-base.conf
            ├── 00-dav.conf
            ├── 00-lua.conf
            ├── 00-mpm.conf
            ├── 00-proxy.conf
            ├── 00-systemd.conf
            ├── 01-cgi.conf
            └── 02-dispatcher.conf
    
  6. Finalmente, en el archivo pom.xml en la raíz del proyecto, agregue un elemento <module> para incluir el módulo de Dispatcher.

    Por ejemplo, si la lista de módulos existente es

        <modules>
            <module>core</module>
            <module>ui.apps</module>
            <module>ui.content</module>
        </modules>
    

    Debe cambiarlo a

        <modules>
            <module>core</module>
            <module>ui.apps</module>
            <module>ui.content</module>
            <module>dispatcher</module>
        </modules>
    
    NOTA

    Como se indica en el paso 1, el valor del elemento <module> debe coincidir con el nombre de directorio creado.

  7. Finalmente, para probar, ejecute el paquete limpio mvn en el directorio raíz del proyecto. Debería ver líneas como esta en la salida

    [INFO] --- maven-assembly-plugin:3.1.0:single (default) @ dispatcher 
    

[INFO] Reading assembly descriptor: assembly.xml
[INFO] Building zip: /Users/me/mycompany/dispatcher/target/dispatcher-1.0-SNAPSHOT.zip


También puede descomprimir este archivo para ver su contenido.

```shell
$ unzip -l dispatcher/target/dispatcher-1.0-SNAPSHOT.zip
Archive:  dispatcher/target/dispatcher-1.0-SNAPSHOT.zip
  Length      Date    Time    Name
---------  ---------- -----   -
---
        0  09-12-2018 12:53   conf.modules.d/
        0  10-19-2018 10:38   conf.dispatcher.d/
        0  09-12-2018 12:53   conf.dispatcher.d/available_farms/
        0  09-12-2018 12:53   conf.dispatcher.d/filters/
        0  09-12-2018 12:53   conf.dispatcher.d/renders/
        0  09-12-2018 12:53   conf.dispatcher.d/cache/
        0  09-12-2018 12:53   conf.dispatcher.d/clientheaders/
        0  09-12-2018 12:53   conf.dispatcher.d/enabled_farms/
        0  09-12-2018 12:53   conf.dispatcher.d/vhosts/
        0  09-12-2018 12:53   conf.d/
        0  09-12-2018 12:53   conf.d/rewrites/
        0  09-12-2018 12:53   conf.d/whitelists/
        0  09-12-2018 12:53   conf.d/variables/
        0  11-01-2018 13:53   conf.d/enabled_vhosts/
        0  09-12-2018 12:53   conf.d/available_vhosts/
        0  09-12-2018 12:53   conf/
       88  09-12-2018 12:53   conf.modules.d/00-systemd.conf
     4913  09-12-2018 12:53   conf.dispatcher.d/available_farms/999_ams_publish_farm.any
      152  09-12-2018 12:53   conf.dispatcher.d/renders/ams_lc_renders.any
      490  09-12-2018 12:53   conf.dispatcher.d/clientheaders/ams_common_clientheaders.any
     1727  09-12-2018 12:53   conf.d/rewrites/base_rewrite.rules
       36  09-12-2018 12:53   conf.d/enabled_vhosts/aem_author.vhost
    11753  09-12-2018 12:53   conf/httpd.conf
      957  09-12-2018 12:53   conf.modules.d/00-proxy.conf
      944  09-12-2018 12:53   conf.dispatcher.d/available_farms/001_ams_lc_farm.any
      220  09-12-2018 12:53   conf.dispatcher.d/cache/ams_author_invalidate_allowed.any
       43  09-12-2018 12:53   conf.dispatcher.d/enabled_farms/999_ams_publish_farm.any
      516  09-12-2018 12:53   conf.d/welcome.conf
       37  09-12-2018 12:53   conf.d/enabled_vhosts/aem_publish.vhost
    13077  09-12-2018 12:53   conf/magic
       96  09-12-2018 12:53   conf.modules.d/02-dispatcher.conf
     2601  09-12-2018 12:53   conf.dispatcher.d/available_farms/000_ams_author_farm.any
      837  09-12-2018 12:53   conf.dispatcher.d/cache/ams_author_cache.any
       42  09-12-2018 12:53   conf.dispatcher.d/enabled_farms/000_ams_author_farm.any
     2926  09-12-2018 12:53   conf.d/autoindex.conf
     2555  09-12-2018 12:53   conf.d/available_vhosts/aem_lc.vhost
       41  09-12-2018 12:53   conf.modules.d/00-lua.conf
     2234  09-12-2018 12:53   conf.dispatcher.d/filters/ams_publish_filters.any
      220  09-12-2018 12:53   conf.dispatcher.d/cache/ams_publish_invalidate_allowed.any
      402  09-12-2018 12:53   conf.dispatcher.d/dispatcher.any
      573  09-12-2018 12:53   conf.d/whitelists/000_base_whitelist.rules
      871  09-12-2018 12:53   conf.d/available_vhosts/aem_flush.vhost
      139  09-12-2018 12:53   conf.modules.d/00-dav.conf
      742  09-12-2018 12:53   conf.dispatcher.d/filters/ams_author_filters.any
      557  09-12-2018 12:53   conf.dispatcher.d/cache/ams_publish_cache.any
      105  09-12-2018 12:53   conf.dispatcher.d/vhosts/ams_lc_vhosts.any
      101  09-12-2018 12:53   conf.dispatcher.d/vhosts/ams_publish_vhosts.any
     3582  09-12-2018 12:53   conf.d/dispatcher_vhost.conf
     2529  09-12-2018 12:53   conf.d/available_vhosts/aem_publish.vhost
      742  09-12-2018 12:53   conf.modules.d/00-mpm.conf
       88  09-12-2018 12:53   conf.dispatcher.d/filters/ams_lc_filters.any
      177  09-12-2018 12:53   conf.dispatcher.d/clientheaders/ams_lc_clientheaders.any
      366  09-12-2018 12:53   conf.d/README
     2723  09-12-2018 12:53   conf.d/available_vhosts/aem_author.vhost
     3739  09-12-2018 12:53   conf.modules.d/00-base.conf
      138  09-12-2018 12:53   conf.dispatcher.d/renders/ams_author_renders.any
       44  09-12-2018 12:53   conf.dispatcher.d/clientheaders/ams_publish_clientheaders.any
      112  09-12-2018 12:53   conf.dispatcher.d/vhosts/ams_author_vhosts.any
      580  09-12-2018 12:53   conf.d/variables/ams_default.vars
       35  09-12-2018 12:53   conf.d/enabled_vhosts/aem_flush.vhost
     1252  09-12-2018 12:53   conf.d/userdir.conf
      451  09-12-2018 12:53   conf.modules.d/01-cgi.conf
      321  09-12-2018 12:53   conf.dispatcher.d/renders/ams_publish_renders.any
      170  09-12-2018 12:53   conf.dispatcher.d/clientheaders/ams_author_clientheaders.any
      220  09-12-2018 12:53   conf.d/rewrites/xforwarded_forcessl_rewrite.rules
     1753  09-12-2018 12:53   conf.d/available_vhosts/aem_health.vhost
---------                     ----
---
    69017                     66 files

En esta página

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now