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設定中常見的片段。 我們已建立子目錄,允許以簡潔的方式分隔這些檔案,而且不會將所有檔案都放在一個目錄中。
-
重寫目錄 此目錄可包含您建立的所有
\*_rewrite.rules檔案,其中包含一般的 RewriteRule 語法(與Apache Web伺服器mod_rewrite模組互動)。/etc/httpd/conf.d/rewrites/
-
白名單目錄 此目錄可包含您建立的所有
\*_whitelist.rules檔案,這些檔案包含一般的 IP允許 或 需要IP 語法,以與Apache Web伺服器存取控制互動。/etc/httpd/conf.d/whitelists/
-
變數目錄 此目錄可包含您建立的所有
\*.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伺服器陣列檔案設定的子區段,而且會建立子目錄以允許簡潔的方式分隔這些檔案,而不會將所有檔案放在同一個目錄中。
-
快取目錄 此目錄包含您建立的所有
*_cache.any、*_invalidate.any檔案,其中包含您希望模組如何處理來自AEM的快取元素以及失效規則語法的規則。 此章節的詳細資訊為這裡。/etc/httpd/conf.dispatcher.d/cache/
-
使用者端標頭目錄 此目錄可包含您建立的所有
*_clientheaders.any檔案,其中包含您希望在收到請求時傳遞至AEM的使用者端標題清單。 此章節的詳細資訊為這裡。/etc/httpd/conf.dispatcher.d/clientheaders/
-
篩選目錄 此目錄可包含您建立並包含所有篩選規則的
*_filters.any個檔案,這些規則用來封鎖或允許透過Dispatcher的流量到達AEM。/etc/httpd/conf.dispatcher.d/filters/
-
轉譯目錄 此目錄可包含您建立的所有
*_renders.any檔案,這些檔案包含Dispatcher使用內容的每個後端伺服器的連線詳細資料。/etc/httpd/conf.dispatcher.d/renders/
-
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>
再次強調,您會注意到我們已新增檔案和模組,但未變更任何原始檔案。 這可提供所需的功能,並防止遺失所需的修補程式修正,以及與套件每次升級維持最高相容性等級。