Adobe Managed Services (AMS)基本檔案配置

探索AMS標準設定檔案集以及此Adobe Experience Manager設定標準背後的想法。

說明 description

環境

Adobe Experience Manager (AEM)

問題/症狀

本檔案說明AMS標準組態檔案集,以及此組態標準背後的想法。

解決方法 resolution

預設Enterprise Linux資料夾結構

在AMS中,基礎安裝使用Enterprise Linux作為基礎作業系統。 安裝Apache Webserver時,會設定預設的安裝檔案。 以下是透過安裝yum儲存庫提供的基本RPM而安裝的預設檔案。

/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

遵循並遵循安裝設計/結構時,您可獲得下列優點:

  • 更輕鬆支援可預測的版面
  • 任何曾經使用Enterprise Linux HTTPD安裝的人都會自動熟悉
  • 允許修補作業系統完全支援的週期,不會發生任何衝突或手動調整
  • 避免標籤錯誤的檔案前後關聯違反SELinux

注意:

Adobe Managed Services伺服器影像通常有小型作業系統根磁碟機。 資料放入另一個磁碟區,通常掛載在/mnt中。

然後使用磁碟區,而不是下列預設目錄的預設值:

DocumentRoot

  • 預設: /var/www/html
  • AMS: /mnt/var/www/html

記錄檔目錄

  • 預設: /var/log/httpd
  • AMS: /mnt/var/log/httpd

請記住,舊目錄和新目錄會對應回原始掛載點,以避免混淆。 使用單獨的磁碟區並不重要,但值得注意。

AMS附加元件

AMS會將新增至Apache Web Server的基礎安裝。

檔案根

AMS預設檔案根:

  • 作者: /mnt/var/www/author/
  • 發佈: /mnt/var/www/html/
  • 全面收集與健康狀態檢查維護: /mnt/var/www/default/

暫存及啟用的VirtualHost目錄

下列目錄可讓您建置具有暫存區域的組態檔,如此一來,您便可以處理檔案,並只能在檔案準備就緒時啟用它們。

  • /etc/httpd/conf.d/available_vhosts/
    • 此資料夾裝載您所有名為<> VirtualHost /.vhost檔案。
  • /etc/httpd/conf.d/enabled_vhosts/
    • 當您準備好使用您在.vhost資料夾中擁有的available_vhosts檔案時,請使用相對路徑將它們與enabled_vhosts目錄建立符號連結。

其他conf.d目錄

還有其他在Apache設定中常見的片段。 我們已建立子目錄,允許以簡潔的方式分隔這些檔案,而且不會將所有檔案都放在一個目錄中。

  1. 重寫目錄 此目錄可包含您建立的所有\*_rewrite.rules檔案,其中包含一般的​ RewriteRule ​語法(與Apache Web伺服器mod_rewrite模組互動)。

    • /etc/httpd/conf.d/rewrites/
  2. 白名單目錄 此目錄可包含您建立的所有\*_whitelist.rules檔案,這些檔案包含一般的​ IP允許 ​或​ 需要IP ​語法,以與Apache Web伺服器存取控制互動。

    • /etc/httpd/conf.d/whitelists/
  3. 變數目錄 此目錄可包含您建立的所有\*.vars檔案,其中包含您可在組態檔中使用的變數。

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

Dispatcher模組特定組態目錄

Apache Web Server極具擴充性,當模組有許多組態檔時,最佳實務是在安裝基礎目錄下建立您自己的組態目錄,而不是將預設目錄雜亂無章。

最佳實務已建立並遵循。

模組組態檔目錄

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

暫存與啟用的伺服器陣列目錄

下列目錄可讓您建置具有暫存區域的組態檔,如此一來,您便可以處理檔案,並只在檔案準備就緒時啟用它們。

  • /etc/httpd/conf.dispatcher.d/available_farms/
    • 此資料夾裝載您所有名為/myfarm {*_farm.any檔案。
  • /etc/httpd/conf.dispatcher.d/enabled_farms/
    • 當您準備好使用您在available_farms資料夾中擁有的伺服器陣列檔案時,請使用相對路徑將它們同步連結至enabled_farms目錄。

其他conf.dispatcher.d目錄

還有其他片段是Dispatcher伺服器陣列檔案設定的子區段,而且會建立子目錄以允許簡潔的方式分隔這些檔案,而不會將所有檔案放在同一個目錄中。

  1. 快取目錄 此目錄包含您建立的所有*_cache.any*_invalidate.any檔案,其中包含您希望模組如何處理來自AEM的快取元素以及失效規則語法的規則。  此章節的詳細資訊為這裡

    • /etc/httpd/conf.dispatcher.d/cache/
  2. 使用者端標頭目錄 此目錄可包含您建立的所有*_clientheaders.any檔案,其中包含您希望在收到請求時傳遞至AEM的使用者端標題清單。  此章節的詳細資訊為這裡

    • /etc/httpd/conf.dispatcher.d/clientheaders/
  3. 篩選目錄 此目錄可包含您建立並包含所有篩選規則的*_filters.any個檔案,這些規則用來封鎖或允許透過Dispatcher的流量到達AEM。

    • /etc/httpd/conf.dispatcher.d/filters/
  4. 轉譯目錄 此目錄可包含您建立的所有*_renders.any檔案,這些檔案包含Dispatcher使用內容的每個後端伺服器的連線詳細資料。

    • /etc/httpd/conf.dispatcher.d/renders/
  5. Vhosts目錄 此目錄可以包含您建立的所有*_vhosts.any檔案,其中包含符合特定陣列和特定後端伺服器的網域名稱和路徑清單。

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

完成資料夾結構

AMS已將每個檔案結構化為自訂副檔名,並旨在避免名稱空間問題/衝突及任何混淆。

以下是來自AMS預設部署的標準檔案集範例:

/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

保持理想狀態

Enterprise Linux具有Apache Webserver套裝程式(httpd)的修補週期。

您變更的預設檔案安裝得越少,效果就越好,因為如果有任何修正的安全性修正或組態改良是透過RPM / Yum命令套用,它們就不會套用修正檔到變更的檔案上方。

而是在原始檔案旁邊建立.rpmnew檔案。  這表示您會遺漏某些您可能想要的變更,並在設定資料夾中建立更多記憶體。

Enterprise Linux已正確設定,以便以更好的方式處理此使用案例。  它們為您提供可以延伸或覆寫其為您設定的預設值的區域。  在httpd的基礎安裝中,您會找到檔案/etc/httpd/conf/httpd.conf,而且其中具有語法,例如:

Include conf.modules.d/*.conf


IncludeOptional conf.d/*.conf

其想法是,Apache想要您擴充模組與設定,以將新檔案新增至副檔名為/etc/httpd/conf.d//etc/httpd/conf.modules.d/.conf 目錄。

將Dispatcher模組新增到Apache的最佳範例是,您會在.so中建立模組/etc/httpd/modules/檔案,然後透過在/etc/httpd/conf.modules.d/02-dispatcher.conf中新增檔案來包含該模組,其中包含載入模組.so檔案的內容。

LoadModule dispatcher_module modules/mod_dispatcher.so

請注意,Apache提供的現有檔案不會變更。 您剛才已將您的目錄新增至他們原本要進入的目錄。

現在使用檔案/etc/httpd/conf.d/dispatcher_vhost.conf中的模組,它會初始化模組並載入初始模組特定組態檔。

<IfModule disp_apache2.c>

DispatcherConfig conf.dispatcher.d/dispatcher.any

...SNIP...</IfModule>

再次強調,您會注意到我們已新增檔案和模組,但未變更任何原始檔案。  這可提供所需的功能,並防止遺失所需的修補程式修正,以及與套件每次升級維持最高相容性等級。

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