Saiba como implantar arquivos de configuração do Dispatcher usando o Cloud Manager
O Cloud Manager é capaz de implantar arquivos de configuração do servidor da Web e do Dispatcher, contanto que eles estejam armazenados no repositório Git ao lado de pacotes de conteúdo normais do AEM.
Para aproveitar esse recurso, o build do Maven deve produzir um arquivo .zip que contenha pelo menos dois diretórios: conf
e conf.d
. Esse arquivo .zip pode ser produzido usando o maven-assembly-plugin
.
Projetos gerados pelo Cloud Manager usando o assistente de criação de projeto integrado têm a estrutura correta do projeto Maven criada automaticamente. Esse é o caminho recomendado se você for novo no Adobe Managed Services (AMS).
Após a implantação em uma instância do Dispatcher, o conteúdo desses diretórios na instância do Dispatcher é substituído por aqueles no repositório Git. Como os arquivos de configuração do servidor da Web e do Dispatcher geralmente exigem informações específicas do ambiente para que esse recurso seja usado corretamente, primeiro você precisará trabalhar com os engenheiros de sucesso do cliente (CSE) para definir essas variáveis de ambiente em /etc/sysconfig/httpd
.
Siga estas etapas abaixo para concluir a configuração inicial do Dispatcher.
/etc/sysconfig/httpd
em cada instância.A migração das configurações do Dispatcher e do servidor da Web para o repositório Git pode ser feita durante a integração do Cloud Manager, mas também pode ser realizada posteriormente.
A estrutura de arquivos e diretórios específica pode variar de acordo com as especificações do seu projeto, mas este exemplo deve fornecer um guia concreto sobre como estruturar o seu projeto para incluir as configurações do Apache e Dispatcher.
Crie um subdiretório chamado dispatcher
.
Você pode usar qualquer nome aqui, mas o nome do diretório criado nesta etapa deve ser o mesmo que o nome usado na etapa 6.
Esse subdiretório conterá um módulo Maven que cria o arquivo .zip do Dispatcher usando o plug-in Maven Assembly. Para iniciar, no diretório dispatcher
, crie um arquivo pom.xml
com este conteúdo, alterando a referência parent
, o artifactId
e o name
conforme necessário.
<?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
é usado aqui apenas como exemplo.O plug-in Maven Assembly requer um descriptor
para definir como o arquivo .zip é criado. Para criar esse descritor, crie um arquivo no subdiretório dispatcher
chamado assembly.xml
com o conteúdo a seguir. Observe que esse nome de arquivo é referenciado na linha 26 do arquivo pom.xml
acima.
<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>
Crie um subdiretório chamado src
(conforme referenciado no descritor do Assembly acima, na linha 11) dentro do subdiretório do Dispatcher para armazenar as configurações reais do Apache e do Dispatcher. Dentro deste diretório src
, crie diretórios chamados conf
, conf.d
, conf.dispatcher.d
e conf.modules.d
.
Preencha os diretórios conf
, conf.d
, conf.dispatcher.d
e conf.modules.d
com seus arquivos de configuração. Por exemplo, a configuração padrão consiste nesses arquivos e links 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
Por fim, no arquivo pom.xml
, na raiz do seu projeto, adicione um elemento <module>
para incluir o módulo do Dispatcher.
Por exemplo, se a lista de módulos existente for
<modules>
<module>core</module>
<module>ui.apps</module>
<module>ui.content</module>
</modules>
Você deve alterá-la para
<modules>
<module>core</module>
<module>ui.apps</module>
<module>ui.content</module>
<module>dispatcher</module>
</modules>
<module>
deve corresponder ao nome do diretório criado.Para testar, execute mvn clean package
no diretório raiz do projeto. Você deverá ver linhas como essa no resultado.
[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
Também é possível descompactar esse arquivo para visualizar seu conteúdo.
$ 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