Adobe Managed Services (AMS) grundläggande fillayout

Läs mer om AMS standardkonfigurationsuppsättning och vad den här konfigurationsstandarden i Adobe Experience Manager har att erbjuda.

Beskrivning description

Miljö

Adobe Experience Manager (AEM)

Problem/symtom

I det här dokumentet beskrivs AMS-standardkonfigurationsuppsättningen och tanken bakom den här konfigurationsstandarden.

Upplösning resolution

Standardmappstruktur för Enterprise Linux

I AMS använder grundinstallationen Enterprise Linux som det grundläggande operativsystemet. När du installerar Apache Webserver finns en standardinställd installationsfil. Här är de standardfiler som installeras genom att de grundläggande RPM:er som tillhandahålls av databasen yum installeras.

/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

När du följer och följer installationsdesignen/-strukturen får du följande fördelar:

  • Enklare att hantera en förutsägbar layout
  • Automatiskt bekant för alla som tidigare arbetat med Enterprise Linux HTTPD
  • Tillåter patchningscykler som stöds fullt ut av operativsystemet utan konflikter eller manuella justeringar
  • Undviker SELinux-överträdelser av felmärkta filkontexter

Obs!

Adobe Managed Services-serverbilderna har vanligtvis små rotenheter i operativsystemet. Data placeras i en separat volym, som vanligtvis monteras i /mnt.

Därefter används volymen i stället för standardvärdena för följande standardkataloger:

DocumentRoot

  • Standard: /var/www/html
  • AMS: /mnt/var/www/html

Loggkatalog

  • Standard: /var/log/httpd
  • AMS: /mnt/var/log/httpd

Kom ihåg att gamla och nya kataloger mappas tillbaka till den ursprungliga monteringspunkten för att undvika förvirring. Att använda en separat volym är inte nödvändigt, men det är anmärkningsvärt.

AMS-tillägg

AMS lägger till i grundinstallationen av Apache-webbservern.

Dokumentrot

AMS-standarddokumentrötter:

  • Författare: /mnt/var/www/author/
  • Publicera: /mnt/var/www/html/
  • Underhåll av alla- och hälsokontroller: /mnt/var/www/default/

Förproduktion och aktiverade VirtualHost-kataloger

Med följande kataloger kan du bygga ut konfigurationsfiler med ett mellanlagringsområde, så att du kan arbeta med filer och bara aktivera dem när de är klara.

  • /etc/httpd/conf.d/available_vhosts/
    • Den här mappen är värd för alla dina < VirtualHost />-filer med namnet .vhost.
  • /etc/httpd/conf.d/enabled_vhosts/
    • När du är redo att använda de .vhost-filer som du har i mappen available_vhosts kan du länka dem med en relativ sökväg till katalogen enabled_vhosts.

Ytterligare conf.d kataloger

Det finns andra delar som är vanliga i Apache-konfigurationer. Vi har skapat underkataloger för att göra det möjligt att separera dessa filer på ett rent sätt, och inte ha alla filer i en katalog.

  1. Skriver om katalogen Den här katalogen kan innehålla alla \*_rewrite.rules filer som du skapar och som innehåller din vanliga RewriteRule -syntax som engagerar Apache-webbservrar ​ mod_rewrite -modulen.

    • /etc/httpd/conf.d/rewrites/
  2. Katalogen Whitelists Den här katalogen kan innehålla alla \*_whitelist.rules filer som du skapar och som innehåller din vanliga IP-Tillåt eller Kräv IP -syntax som engagerar Apache-webbservrar åtkomstkontroller .

    • /etc/httpd/conf.d/whitelists/
  3. Variabelkatalog Den här katalogen kan innehålla alla \*.vars -filer som du skapar och som innehåller variabler som du kan använda i dina konfigurationsfiler.

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

Dispatcher-modulspecifik konfigurationskatalog

Apache-webbservern är mycket utbyggbar, och när en modul har flera konfigurationsfiler är det bäst att skapa en egen konfigurationskatalog under installationens baskatalog i stället för att rensa upp standardkatalogen.

De bästa sätten skapas och följs.

Modulkonfigurationsfilkatalog

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

Förproduktion och aktiverade gruppkataloger

Med följande kataloger kan du bygga ut konfigurationsfiler med ett mellanlagringsområde, så att du kan arbeta med filer och bara aktivera dem när de är klara.

  • /etc/httpd/conf.dispatcher.d/available_farms/
    • Den här mappen är värd för alla dina /myfarm {-filer med namnet *_farm.any.
  • /etc/httpd/conf.dispatcher.d/enabled_farms/
    • När du är redo att använda den servergruppsfil som du har i mappen available_farms kan du länka dem med en relativ sökväg till katalogen enabled_farms.

Ytterligare conf.dispatcher.d kataloger

Det finns ytterligare delar som är underavsnitt i Dispatcher servergruppskonfigurationer, och underkataloger skapas för att göra det möjligt att separera dessa filer på ett rent sätt och inte ha alla filer i en katalog.

  1. Cachekatalog Den här katalogen innehåller alla *_cache.any -, *_invalidate.any -filer som du skapar och som innehåller dina regler för hur du vill att modulen ska hantera cachelagrade element från AEM samt syntax för ogiltighetsregler.  Mer information om det här avsnittet finns här.

    • /etc/httpd/conf.dispatcher.d/cache/
  2. Katalog för klientrubriker Den här katalogen kan innehålla alla *_clientheaders.any filer som du skapar och som innehåller listor med klienthuvuden som du vill skicka till AEM när en begäran kommer in.  Mer information om det här avsnittet är här.

    • /etc/httpd/conf.dispatcher.d/clientheaders/
  3. Filterkatalog Den här katalogen kan innehålla alla *_filters.any -filer som du skapar och som innehåller alla filterregler för att blockera eller tillåta trafik genom Dispatcher att nå AEM.

    • /etc/httpd/conf.dispatcher.d/filters/
  4. Återger katalogen Den här katalogen kan innehålla alla *_renders.any -filer som du skapar och som innehåller anslutningsinformationen till varje backend-server som Dispatcher använder innehåll från.

    • /etc/httpd/conf.dispatcher.d/renders/
  5. Värdkatalog Den här katalogen kan innehålla alla *_vhosts.any -filer som du skapar och som innehåller en lista med domännamn och sökvägar som matchar en viss servergrupp med en viss serverdel.

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

Fullständig mappstruktur

AMS har strukturerat var och en av filerna med anpassade filtillägg och med avsikt att undvika namnutrymmesproblem/konflikter och förvirring.

Här är ett exempel på en standardfiluppsättning från en AMS-standarddistribution:

/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

Behåll det idealiskt

Enterprise Linux har patchcykler för Apache Webserver Package (httpd).

Ju mindre installerade standardfiler du ändrar, desto bättre är det, eftersom om några patchade säkerhetskorrigeringar eller konfigurationsförbättringar används via kommandot RPM/Yum, så använder de inte korrigeringarna ovanpå en ändrad fil.

I stället skapas en .rpmnew-fil bredvid originalet.  Det innebär att du kommer att sakna vissa ändringar som du kan ha önskat och skapat mer skräp i konfigurationsmapparna.

Enterprise Linux konfigurerades korrekt för att hantera det här användningsfallet på ett bättre sätt.  De ger dig områden där du kan utöka eller åsidosätta de standardvärden som de anger åt dig.  I grundinstallationen av httpd hittar du filen /etc/httpd/conf/httpd.conf och den innehåller syntax, som:

Include conf.modules.d/*.conf


IncludeOptional conf.d/*.conf

Apache vill att du utökar modulerna och konfigurationerna genom att lägga till nya filer i katalogerna /etc/httpd/conf.d/ och /etc/httpd/conf.modules.d/ med filtillägget .conf .

Som det perfekta exemplet när du lägger till dispatchermodulen i Apache skapar du en modul .so-fil i /etc/httpd/modules/ och tar sedan med den genom att lägga till en fil i /etc/httpd/conf.modules.d/02-dispatcher.conf, med innehållet som läser in modulfilen .so .

LoadModule dispatcher_module modules/mod_dispatcher.so

Observera att redan befintliga filer som Angiven Apache inte ändras. Du har just lagt till dina i katalogerna som de ska gå in i.

Förbruka modulen i filen /etc/httpd/conf.d/dispatcher_vhost.conf, som initierar modulen och läser in den initiala modulspecifika konfigurationsfilen.

<IfModule disp_apache2.c>

DispatcherConfig conf.dispatcher.d/dispatcher.any

...SNIP...</IfModule>

Även här kommer du att märka att vi har lagt till filer och moduler, men inte ändrat några originalfiler.  Detta ger önskad funktionalitet och skyddar mot saknade korrigeringar, liksom att upprätthålla högsta kompatibilitetsnivå för varje uppgradering av paketet.

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