AMS から AEM as a Cloud Service への Dispatcher 設定の移行 Dispatcher-in-the-cloud
AMS Dispatcher と AEM as a Cloud Service の主な違い main-differences-between-ams-dispatcher-configuration-and-aem-as-a-cloud-service
AEM as a Cloud Service の Apache および Dispatcher の設定は、AMS のそれらの設定と非常に似ています。 主な違いは次のとおりです。
- AEM as a Cloud Service では、一部の Apache ディレクティブ(例えば、
ListenまたはLogLevel)が使用できない場合があります - AEM as a Cloud Service では、Dispatcher 設定の一部のみがインクルードファイルに置かれ、名前付けが重要です。 例えば、異なるホスト間で再利用するフィルタールールは、
filters/filters.anyという名前のファイルに入れる必要があります。 詳しくは、参照ページを参照してください。 - AEM as a Cloud Service には、セキュリティの問題を防ぐために、
/globを使用して記述されたフィルタールールを無効にする、追加の検証があります。 (使用できない)allow *の代わりにdeny *が使用されるので、Dispatcher をローカルで実行し、試行錯誤を繰り返して、Dispatcher フィルターがブロックしているパスをログから調べて、それらを追加します。 - AEM as a Cloud Service では、現在、web 階層設定パイプラインを使用したり、設定ファイルの数と構造をより柔軟に設定したりするために、Dispatcher 設定の柔軟なソースモードの使用をオプトインすることを強くお勧めします。
Dispatcher 設定の AMS から AEM as a Cloud Service への移行に関するガイドライン
Dispatcher 設定の構造は、Managed Services と AEM as a Cloud Service との間に違いがあります。 以下に、AMS Dispatcher の設定バージョン 2 から AEM as Cloud Service への移行方法を順を追って示します。
AMS を AEM as a Cloud service の Dispatcher 設定に変換する方法
AMS 設定を変換する方法を順を追って説明します。 次の式を仮定します
アーカイブが、Cloud Manager Dispatcher設定で説明されているものと同様の構造になっていることを確認してください
アーカイブを抽出し、最終的な接頭辞を削除する
アーカイブをフォルダーに展開し、直接のサブフォルダーがconf、conf.dで始まることを確認します。conf.dispatcher.d および conf.modules.d。 そうでない場合は、それらを階層の上に移動します。
未使用のサブフォルダーとファイルを削除する
サブフォルダー conf と conf.modules.d および一致するファイル conf.d/*.conf を削除します。
非公開の仮想ホストをすべて排除する
author、unhealthy、healthを持つconf.d/enabled_vhosts内の仮想ホストファイルをすべて削除します。lcまたはflushの名前。 conf.d/available_vhosts内のすべての仮想ホストファイルのうち、そうでないものは
リンク先も削除できます。
ポート 80 を参照しない仮想ホストセクションを削除またはコメント化する
仮想ホストファイルに、ポート 80 以外のポートを排他的に参照するセクションが、次の例のように残っている場合:
<VirtualHost *:443>
...
</VirtualHost>
削除するか、コメント化します。 これらのセクションのステートメントは処理されませんが、次の場合は
そのまま放置すると、効果なく編集することになり、混乱を招く恐れがあります。
書き換えを確認する
conf.d/rewrites ディレクトリに入ります。
base_rewrite.rulesおよびxforwarded_forcessl_rewrite.rulesという名前のファイルを削除し、次のことを忘れないでください
参照している仮想ホストファイルのInclude ステートメントを削除します。
conf.d/rewritesに単一のファイルが含まれている場合は、名前をrewrite.rulesに変更する必要があります。変更しないでください
仮想ホストファイル内のそのファイルを参照するInclude ステートメントも調整しないでください。
ただし、フォルダーに複数の仮想ホスト固有のファイルが含まれている場合、その内容は
仮想ホストファイルでそれらを参照するInclude ステートメントにコピーしました。
変数を確認する
conf.d/variables ディレクトリに入ります。
ams_default.varsという名前のファイルを削除し、仮想のInclude ステートメントを削除することを忘れないでください
それらを参照するホストファイル。
conf.d/variablesに単一のファイルが含まれている場合は、名前をcustom.varsに変更する必要があります。変更しないでください
仮想ホストファイル内のそのファイルを参照するInclude ステートメントも調整しないでください。
ただし、フォルダーに複数の仮想ホスト固有のファイルが含まれている場合、その内容は
仮想ホストファイルでそれらを参照するInclude ステートメントにコピーしました。
許可リストの削除
フォルダーconf.d/whitelistsを削除し、を参照する仮想ホストファイル内のInclude ステートメントを削除します
そのサブフォルダー内のファイルに移動します。
使用できなくなった変数を置き換える
すべての仮想ホストファイルで以下を行います。
PUBLISH_DOCROOTの名前をに変更 DOCROOTDISP_ID、PUBLISH_FORCE_SSLまたはPUBLISH_WHITELIST_ENABLEDという名前の変数を参照するセクションを削除します
バリデーターを実行して状態を確認する
ディレクトリ内の Dispatcher バリデーターをサブコマンド httpd と共に実行します。
$ validator httpd .
インクルードファイルの欠落に関するエラーが表示される場合は、それらの名前が正しく変更されているかどうかを確認します
ファイル:
許可リストに登録されていない Apache ディレクティブが表示された場合は、それらを削除します。
非公開ファームをすべて削除する
author、unhealthy、healthを持つconf.dispatcher.d/enabled_farms内のファームファイルをすべて削除します。lcまたはflushの名前。 conf.dispatcher.d/available_farms内のすべてのファームファイルのうち、次に該当しないもの
リンク先も削除できます。
ファームファイルの名前を変更する
conf.dispatcher.d/enabled_farmsのすべてのファームは、パターン *.farmに一致するように名前を変更する必要があります。例:customerX_farm.anyというファームファイルの名前はcustomerX.farmに変更する必要があります。
キャッシュを確認する
conf.dispatcher.d/cache ディレクトリに入ります。
ams_ の接頭辞が付いたファイルを削除します。
conf.dispatcher.d/cacheが空の場合は、ファイルをコピーします conf.dispatcher.d/cache/rules.any
Dispatcherの標準的な設定からこのフォルダーに移動します。 標準のDispatcherでは
設定は、このSDKのフォルダーsrcにあります。 モデルを調整することを忘れないでください
ファーム ファイル内のams_*_cache.any ルール ファイルを参照する$include文
多くの場合。
代わりにconf.dispatcher.d/cacheにサフィックス _cache.anyを持つ単一のファイルが含まれている場合、
名前をrules.anyに変更する必要があります。また、$include文を適応させるのを忘れないでください
ファームファイル内のそのファイルも参照します。
ただし、フォルダーにそのパターンを持つ複数のファーム固有のファイルが含まれている場合、その内容は
ファームファイルでそれらを参照する$include ステートメントにコピーする必要があります。
_invalidate_allowed.any サフィックスを持つファイルを削除します。
ファイル conf.dispatcher.d/cache/default_invalidate_anyを既定からコピーします
Cloud Dispatcher設定のAEMをその場所に移動します。
各ファームファイルで、cache/allowedClients セクションの内容をすべて削除して置き換えます
以下に置き換えます。
$include "../cache/default_invalidate.any"
クライアントヘッダーを確認する
conf.dispatcher.d/clientheaders ディレクトリに入ります。
ams_ の接頭辞が付いたファイルを削除します。
conf.dispatcher.d/clientheadersにサフィックス _clientheaders.anyを持つ単一のファイルが含まれている場合、
名前をclientheaders.anyに変更する必要があります。また、$include文を適応させるのを忘れないでください
ファームファイル内のそのファイルも参照します。
ただし、フォルダーにそのパターンを持つ複数のファーム固有のファイルが含まれている場合、その内容は
ファームファイルでそれらを参照する$include ステートメントにコピーする必要があります。
ファイル conf.dispatcher/clientheaders/default_clientheaders.anyを既定からコピーします
AEM as a Cloud Service Dispatcher設定を保存します。
各ファームファイルで、次のような clientheader インクルードステートメントを置き換えます。
$include "/etc/httpd/conf.dispatcher.d/clientheaders/ams_publish_clientheaders.any"
$include "/etc/httpd/conf.dispatcher.d/clientheaders/ams_common_clientheaders.any"
次のステートメントに置き換えます。
$include "../clientheaders/default_clientheaders.any"
フィルターを確認する
conf.dispatcher.d/filters ディレクトリに入ります。
ams_ の接頭辞が付いたファイルを削除します。
conf.dispatcher.d/filtersに1つのファイルが含まれている場合は、名前を変更する必要がありますfilters.anyを参照し、それを参照する$include文を調整することを忘れないでください
ファームファイル内のファイルもあります。
ただし、フォルダーにそのパターンを持つ複数のファーム固有のファイルが含まれている場合、その内容は
ファームファイルでそれらを参照する$include ステートメントにコピーする必要があります。
ファイル conf.dispatcher/filters/default_filters.anyを既定からコピーします
AEM as a Cloud Service Dispatcher設定を保存します。
各ファームファイルで、次のようなフィルターインクルードステートメントを
$include "/etc/httpd/conf.dispatcher.d/filters/ams_publish_filters.any"
次のステートメントに置き換えます。
$include "../filters/default_filters.any"
レンダリングを確認する
conf.dispatcher.d/renders ディレクトリに入ります。
フォルダー内のすべてのファイルを削除します。
ファイル conf.dispatcher.d/renders/default_renders.anyを既定からコピーします
AEM as a Cloud Service Dispatcher設定を保存します。
各ファームファイルで、renders セクションの内容をすべて削除して置き換えます
以下に置き換えます。
$include "../renders/default_renders.any"
仮想ホストを確認する
conf.dispatcher.d/vhosts ディレクトリの名前を conf.dispatcher.d/virtualhosts に変更し、そこに入ります。
ams_ の接頭辞が付いたファイルを削除します。
conf.dispatcher.d/virtualhostsに1つのファイルが含まれている場合は、名前を変更する必要がありますvirtualhosts.anyを参照し、それを参照する$include文を調整することを忘れないでください
ファームファイル内のファイルもあります。
ただし、フォルダーにそのパターンを持つ複数のファーム固有のファイルが含まれている場合、その内容は
ファームファイルでそれらを参照する$include ステートメントにコピーする必要があります。
ファイル conf.dispatcher/virtualhosts/default_virtualhosts.anyを既定からコピーします
AEM as a Cloud Service Dispatcher設定を保存します。
各ファームファイルで、次のようなフィルターインクルードステートメントを
$include "/etc/httpd/conf.dispatcher.d/vhosts/ams_publish_vhosts.any"
次のステートメントに置き換えます。
$include "../virtualhosts/default_virtualhosts.any"
バリデーターを実行して状態を確認する
ディレクトリ内の AEM as a Cloud Service Dispatcher バリデーターをサブコマンド dispatcher と共に実行します。
$ validator dispatcher .
インクルードファイルの欠落に関するエラーが表示される場合は、それらの名前が正しく変更されているかどうかを確認します
ファイル:
未定義の変数 PUBLISH_DOCROOT に関するエラーが表示される場合は、名前を DOCROOT に変更します。
その他のすべてのエラーについては、の「トラブルシューティング」セクションを参照してください。
バリデーターツールのドキュメント:
ローカルデプロイメントで設定をテストする(Docker のインストールが必要)
AEM as a Cloud Service Dispatcher ツールのスクリプト docker_run.shを使用して、テストできます
設定には、に表示されるだけの他のエラーは含まれていません
展開:
手順 1:バリデーターを使用してデプロイメント情報を生成する
validator full -d out .
設定を完全に検証し、out にデプロイメント情報が生成されます。
手順 2:生成されたデプロイメント情報を使用して、Docker イメージで Dispatcher を起動する
MacOS コンピューターで稼働しているAEM パブリッシュサーバーで、ポート 4503でリッスンしている場合,
次のように、そのサーバーの前でDispatcherを起動できます。
$ docker_run.sh out docker.for.mac.localhost:4503 8080
これにより、コンテナが起動し、ローカルポート 8080 で Apache が公開されます。
新しい Dispatcher 設定の使用
これで完了です。 バリデーターが問題を報告しなくなった場合、および
docker コンテナはエラーや警告なしで起動します。
設定をdispatcher/src サブディレクトリに移動する準備ができました
Git リポジトリの。
AMS Dispatcher 設定のバージョン 1 を使用しているお客様は、カスタマーサポートにお問い合わせください。上記の手順が実施できるように、バージョン 1 からバージョン 2 へ移行できるように支援いたします。