Disposition de base des fichiers Adobe Managed Services (AMS)

Découvrez l’ensemble de fichiers de configuration standard d’AMS et les principes qui sous-tendent cette norme de configuration dans Adobe Experience Manager.

Description description

Environnement

Adobe Experience Manager (AEM)

Problème/Symptômes

Ce document explique l’ensemble de fichiers de configuration standard d’AMS et le concept sous-jacent à cette norme de configuration.

Résolution resolution

Structure de dossiers Enterprise Linux par défaut

Dans AMS, l’installation de base utilise Enterprise Linux en tant que système d’exploitation de base. Lors de l’installation d’Apache Webserver, un fichier d’installation par défaut est défini. Voici les fichiers par défaut qui sont installés en installant les fichiers RPM de base fournis par le référentiel yum.

/etc/httpd/
├── conf
│   ├── httpd.conf
│   └── magic
├── conf.d
│   ├── autoindex.conf
│   ├── README
│   ├── userdir.conf
│   └── welcome.conf
├── conf.modules.d
│   ├── 00-base.conf
│   ├── 00-dav.conf
│   ├── 00-lua.conf
│   ├── 00-mpm.conf
│   ├── 00-proxy.conf
│   ├── 00-systemd.conf
│   └── 01-cgi.conf
/var/log/httpd
/usr/lib64/httpd/modules
/run/httpd

Lorsque vous suivez et respectez la conception/structure de l’installation, vous bénéficiez des avantages suivants :

  • Prise en charge plus facile d’une disposition prévisible
  • Automatiquement familier avec tous ceux qui ont travaillé sur des installations Enterprise Linux HTTPD dans le passé
  • Permet d'appliquer des correctifs aux cycles entièrement pris en charge par le système d'exploitation sans conflits ni ajustements manuels
  • Évite les violations SELinux de contextes de fichiers mal étiquetés

Remarque :

Les images des serveurs Adobe Managed Services possèdent généralement de petits lecteurs racine de système d’exploitation. Les données sont placées dans un volume distinct, qui est généralement monté en /mnt.

Le volume est ensuite utilisé au lieu des valeurs par défaut des répertoires suivants :

DocumentRoot

  • Par défaut: /var/www/html
  • AMS : /mnt/var/www/html

Répertoire du journal

  • Par défaut: /var/log/httpd
  • AMS : /mnt/var/log/httpd

Gardez à l’esprit que les anciens et les nouveaux répertoires sont mappés vers le point de montage d’origine afin d’éviter toute confusion. L'utilisation d'un volume distinct n'est pas essentielle, mais elle est remarquable.

Modules complémentaires AMS

AMS complète l’installation de base du serveur web Apache.

Racines du document

Racines de document par défaut AMS :

  • Auteur : /mnt/var/www/author/
  • Publication : /mnt/var/www/html/
  • Maintenance fourre-tout et contrôle de l’intégrité : /mnt/var/www/default/

Répertoires d’hôtes virtuels intermédiaires et activés

Les répertoires suivants vous permettent de créer des fichiers de configuration avec une zone de transit, de sorte que vous puissiez travailler sur des fichiers et les activer uniquement lorsqu’ils sont prêts.

  • /etc/httpd/conf.d/available_vhosts/
    • Ce dossier héberge tous les fichiers < VirtualHost /> appelés .vhost.
  • /etc/httpd/conf.d/enabled_vhosts/
    • Lorsque vous êtes prêt à utiliser les fichiers .vhost contenus dans le dossier available_vhosts, liez-les par un lien symbolique à l’aide d’un chemin d’accès relatif dans le répertoire enabled_vhosts.

Répertoires conf.d supplémentaires

D’autres éléments sont communs aux configurations Apache. Nous avons créé des sous-répertoires pour permettre une séparation nette de ces fichiers, et ne pas avoir tous les fichiers dans un seul répertoire.

  1. Réécrit le répertoire Ce répertoire peut contenir tous les fichiers \*_rewrite.rules que vous créez et qui contiennent votre syntaxe RewriteRule standard qui engage les serveurs web Apache mod_rewrite.

    • /etc/httpd/conf.d/rewrites/
  2. Répertoire des listes autorisées Ce répertoire peut contenir tous les fichiers \*_whitelist.rules que vous créez et qui contiennent votre syntaxe IP autorisée ou IP requise standard qui engage les serveurs web Apache contrôles d’accès.

    • /etc/httpd/conf.d/whitelists/
  3. Répertoire des variables Ce répertoire peut contenir tous les fichiers \*.vars que vous créez et qui contiennent des variables que vous pouvez utiliser dans vos fichiers de configuration.

    • /etc/httpd/conf.d/variables/

Répertoire De Configuration Spécifique Au Module Dispatcher

Le serveur web Apache est très extensible. Lorsqu’un module comporte de nombreux fichiers de configuration, il est recommandé de créer votre propre répertoire de configuration sous le répertoire de base d’installation au lieu d’encombrer le répertoire par défaut.

Les bonnes pratiques sont créées et suivies.

Répertoire des fichiers de configuration du module

  • /etc/httpd/conf.dispatcher.d/

Répertoires de batterie intermédiaire et activés

Les répertoires suivants vous permettent de créer des fichiers de configuration avec une zone de transit, de sorte que vous puissiez travailler sur des fichiers et les activer uniquement lorsqu’ils sont prêts.

  • /etc/httpd/conf.dispatcher.d/available_farms/
    • Ce dossier héberge tous vos fichiers /myfarm { appelés *_farm.any.
  • /etc/httpd/conf.dispatcher.d/enabled_farms/
    • Lorsque vous êtes prêt à utiliser le fichier de ferme qui se trouve dans le dossier available_farms, liez-le par un lien symbolique à l’aide d’un chemin d’accès relatif dans le répertoire enabled_farms.

Répertoires conf.dispatcher.d supplémentaires

D’autres éléments sont des sous-sections des configurations des fichiers de la ferme Dispatcher. Les sous-répertoires sont créés pour permettre une séparation nette de ces fichiers, et ne pas avoir tous les fichiers dans un seul répertoire.

  1. Répertoire du cache Ce répertoire contient tous les fichiers *_cache.any et *_invalidate.any que vous créez et qui contiennent vos règles sur la manière dont vous souhaitez que le module gère la mise en cache des éléments provenant d’AEM, ainsi que la syntaxe des règles d’invalidation.  Vous trouverez plus d’informations sur cette section ici.

    • /etc/httpd/conf.dispatcher.d/cache/
  2. Répertoire des en-têtes client Ce répertoire peut contenir tous les fichiers *_clientheaders.any que vous créez et qui contiennent des listes d’en-têtes client que vous souhaitez transmettre à AEM lorsqu’une demande arrive.  Vous trouverez plus d’informations sur cette section ici.

    • /etc/httpd/conf.dispatcher.d/clientheaders/
  3. Répertoire des filtres Ce répertoire peut contenir tous les fichiers *_filters.any que vous créez et qui contiennent toutes vos règles de filtrage afin de bloquer ou de permettre au trafic passant par Dispatcher d’atteindre AEM.

    • /etc/httpd/conf.dispatcher.d/filters/
  4. Répertoire des rendus Ce répertoire peut contenir tous les fichiers *_renders.any que vous créez et qui contiennent les détails de connectivité avec chaque serveur principal à partir duquel le Dispatcher consomme du contenu.

    • /etc/httpd/conf.dispatcher.d/renders/
  5. Répertoire Vhosts Ce répertoire peut contenir tous les fichiers *_vhosts.any que vous créez et qui contiennent une liste des noms de domaine et des chemins d’accès à faire correspondre à une batterie spécifique et à un serveur principal particulier.

    • /etc/httpd/conf.dispatcher.d/vhosts/

Structure complète des dossiers

AMS a structuré chacun des fichiers avec des extensions de fichier personnalisées et dans l’intention d’éviter les problèmes/conflits d’espace de noms et toute confusion.

Voici un exemple de jeu de fichiers standard d’un déploiement AMS par défaut :

/etc/httpd/``
├── conf``
│├── httpd.conf``
│└── magic
├── conf.d
│├── autoindex.conf
│├── available_vhosts
││ ├── 000_unhealthy_author.vhost
││├── 000_unhealthy_publish.vhost
││├── aem_author.vhost
││├── aem_flush.vhost
││├── aem_health.vhost
│   │   ├── aem_lc.vhost
│   │   └── aem_publish.vhost
│   ├── dispatcher_vhost.conf
│   ├── enabled_vhosts
.vhost
.vhost
.vhost
.vhost
│   ├── README│   ├── 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
.any
.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
/var/log/httpd
/usr/lib64/httpd/modules
/run/httpd

La conserver idéale

Enterprise Linux dispose de cycles d’application de correctifs pour le package Apache Webserver (httpd).

Moins vous modifiez les fichiers par défaut installés, mieux c'est, pour les raisons que s'il y a des correctifs de sécurité ou des améliorations de configuration sont appliqués via la commande RPM / Yum, ils n'appliquent pas les correctifs au-dessus d'un fichier modifié.

Au lieu de cela, il crée un fichier .rpmnew en regard de l’original.  Cela signifie que vous manquerez certaines modifications que vous auriez souhaitées et que vous créerez plus de résidus dans vos dossiers de configuration.

Enterprise Linux a été configuré correctement pour gérer ce cas d’utilisation d’une meilleure manière.  Ils vous donnent des zones dans lesquelles vous pouvez étendre ou remplacer les valeurs par défaut qu’ils définissent pour vous.  Dans l’installation de base de httpd, vous trouverez le fichier /etc/httpd/conf/httpd.conf, qui contient une syntaxe telle que :

Include conf.modules.d/*.conf


IncludeOptional conf.d/*.conf

L’idée est qu’Apache souhaite que vous étendez les modules et les configurations en ajoutant de nouveaux fichiers aux répertoires /etc/httpd/conf.d/ et /etc/httpd/conf.modules.d/ avec une extension de fichier .conf .

Comme exemple parfait lors de l’ajout du module Dispatcher à Apache, vous pouvez créer un module .so fichier dans /etc/httpd/modules/, puis l’inclure en ajoutant un fichier dans /etc/httpd/conf.modules.d/02-dispatcher.conf, avec le contenu pour charger votre module .so fichier.

LoadModule dispatcher_module modules/mod_dispatcher.so

Notez que les fichiers déjà existants fournis par Apache ne sont pas modifiés. Vous venez d'ajouter les vôtres aux répertoires dans lesquels ils étaient censés être placés.

Utilisez maintenant le module dans le fichier /etc/httpd/conf.d/dispatcher_vhost.conf, qui initialise le module et charge le fichier de configuration spécifique au module initial.

<IfModule disp_apache2.c>

DispatcherConfig conf.dispatcher.d/dispatcher.any

...SNIP...</IfModule>

Vous remarquerez à nouveau que nous avons ajouté des fichiers et des modules, mais pas modifié les fichiers d’origine.  Vous obtenez ainsi la fonctionnalité souhaitée et vous protégez contre les correctifs manquants, tout en maintenant le niveau de compatibilité le plus élevé à chaque mise à niveau du package.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f