Découvrez comment déployer les fichiers de configuration du Dispatcher à l’aide de Cloud Manager.
Cloud Manager peut déployer les fichiers de configuration du serveur web et du Dispatcher en supposant qu’ils soient stockés dans le référentiel Git, avec des modules de contenu AEM normaux.
Pour tirer parti de cette fonctionnalité, la version Maven doit produire un fichier ZIP contenant au moins deux répertoires : conf
et conf.d
. Ce fichier ZIP peut être créé à l’aide du maven-assembly-plugin
.
Les projets générés par Cloud Manager à l’aide de l’assistant de création de projet intégré créent automatiquement la structure de projet Maven appropriée. Il s’agit du chemin recommandé si vous découvrez Adobe Managed Services (AMS).
Lors du déploiement vers une instance de Dispatcher, le contenu de ces répertoires sur l’instance de Dispatcher est remplacé par ceux de votre référentiel Git. Comme les fichiers de configuration du serveur web et du Dispatcher requièrent souvent des informations spécifiques à l’environnement, vous devez d’abord collaborer avec les ingénieurs du succès client (CSE) pour définir ces variables d’environnement dans /etc/sysconfig/httpd
.
Suivez les étapes ci-dessous pour terminer la configuration initiale de Dispatcher.
/etc/sysconfig/httpd
sur chaque instance.La migration des configurations du Dispatcher et du serveur web vers votre référentiel Git peut être effectuée lors de l’intégration de Cloud Manager, mais peut également être réalisée ultérieurement.
Le fichier et la structure des répertoires spécifiques peuvent varier en fonction des détails de votre projet, mais cet exemple doit fournir un guide concret sur la façon de structurer votre projet pour inclure les configurations Apache et de Dispatcher.
Créez un sous-répertoire appelé dispatcher
.
Vous pouvez lui attribuer le nom de votre choix, mais le nom du répertoire créé au cours de cette étape doit être identique à celui utilisé à l’étape 6.
Ce sous-répertoire contient un module Maven qui crée le fichier ZIP de Dispatcher à l’aide du plug-in Maven Assembly. Pour commencer, dans le répertoire dispatcher
, créez un fichier pom.xml
avec ce contenu, tout en modifiant la référence parent
, artifactId
et name
, si nécessaire.
<?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>
dispatcher
est utilisé ici à titre d’exemple.Le plug-in Maven Assembly requiert un descriptor
pour définir la façon dont le fichier ZIP est créé. Pour créer ce descripteur, créez un fichier dans le sous-répertoire dispatcher
nommé assembly.xml
avec ce contenu. Ce fichier est référencé à la ligne 26 du fichier pom.xml
ci-dessus.
<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>
Créez ensuite un sous-répertoire nommé src
(comme référencé dans le descripteur d’assemblage susmentionné à la ligne 11) dans le sous-répertoire de Dispatcher pour stocker les configurations Apache et de Dispatcher actuelles. Dans ce répertoire src
, créez des répertoires appelés conf
, conf.d
, conf.dispatcher.d
et conf.modules.d
.
Placez vos fichiers de configuration dans les répertoires conf
, conf.d
, conf.dispatcher.d
et conf.modules.d
. Par exemple, la configuration par défaut comprend ces fichiers et liens symboliques.
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
Enfin, dans le fichier pom.xml
à la racine de votre projet, ajoutez un élément <module>
pour inclure le module de Dispatcher.
Par exemple, si votre liste de modules existante est
<modules>
<module>core</module>
<module>ui.apps</module>
<module>ui.content</module>
</modules>
vous devriez la remplacer par
<modules>
<module>core</module>
<module>ui.apps</module>
<module>ui.content</module>
<module>dispatcher</module>
</modules>
<module>
doit correspondre au nom du répertoire créé.Pour réaliser un test, exécutez mvn clean package
dans le répertoire racine du projet. Des lignes comme celles-ci doivent apparaître à la sortie.
[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
Vous pouvez également décompresser ce fichier pour afficher son contenu.
$ 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