ここでは、アプリケーションサーバーインストール用の AEM を更新するために必要になる手順を説明します。
この手順では、どの例でも JBoss をアプリケーションサーバーとして使用し、有効な AEM のバージョンが既にデプロイされているものとします。ここでは、AEM バージョン 5.6 から 6.3 へのアップグレードについて説明します。
最初に、JBoss を起動します。ほとんどの状況で、standalone.sh
起動スクリプトを実行することで起動できます。そのためには、ターミナルから次のコマンドを実行します。
jboss-install-folder/bin/standalone.sh
AEM 5.6 が既にデプロイされている場合は、次のコマンドを実行してバンドルが正常に動作していることを確認します。
wget https://<serveraddress:port>/cq/system/console/bundles
次に、AEM 5.6 のデプロイを解除します。
rm jboss-install-folder/standalone/deployments/cq.war
JBoss を停止します。
次に、crx2oak 移行ツールを使用してリポジトリを移行します。
java -jar crx2oak.jar crx-quickstart/repository/ crx-quickstart/oak-repository
この例では、oak-repository は、新しく変換されたリポジトリが配置される一時ディレクトリです。この手順を実行する前に、crx2oak.jar が最新バージョンであることを確認してください。
次の操作をおこなって、sling.properties ファイル内の必要なプロパティを削除します。
crx-quickstart/launchpad/sling.properties
に置かれたファイルを開きます。
次のプロパティを削除してファイルを保存します。
sling.installer.dir
felix.cm.dir
granite.product.version
org.osgi.framework.system.packages
osgi-core-packages
osgi-compendium-services
jre-*
sling.run.mode.install.options
不要なファイルとフォルダーを削除します。具体的に削除する必要のある項目は次のとおりです。
rm -rf crx-quickstart/launchpad/startup
find crx-quickstart/launchpad -type f -name "org.apache.sling.launchpad.base.jar*" -exec rm -f {} \
rm -f crx-quickstart/launchpad/felix/bundle0/BootstrapCommandFile_timestamp.txt
新しく移行された segmentstore を適切な場所にコピーします。
mv crx-quickstart/oak-repository/segmentstore crx-quickstart/repository/segmentstore
datastore もコピーします。
mv crx-quickstart/repository/repository/datastore crx-quickstart/repository/datastore
次に、アップグレード後の新しいインスタンスで使用する OSGi 設定を格納するためのフォルダーを作成する必要があります。具体的には、install というフォルダーを crx-quickstart の下に作成する必要があります。
次に、AEM 6.3 で使用されるノードストアとデータストアを作成します。そのためには、次の名前を持つ 2 つのファイルを crx-quickstart\install の下に作成します。
org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.cfg
org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg
この 2 つのファイルにより、AEM が TarMK ノードストアとファイルデータストアを使用するように設定されます。
設定ファイルを編集し、使用できる状態にします。具体的には、次のように編集します。
次の行を org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.config:
customBlobStore=true
次の行を org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config:
path=./crx-quickstart/repository/datastore
minRecordLength=4096
次のコマンドを実行して crx2 実行モードを削除します。
find crx-quickstart/launchpad -type f -name "sling.options.file" -exec rm -rf {} \
今度は、AEM 6.3 war ファイル内の実行モードを変更する必要があります。変更するには、まず AEM 6.3 war を格納する一時フォルダーを作成します。次の例のフォルダー名は、temp です。war ファイルをコピーしたら、temp フォルダー内で次のコマンドを実行して、内容を抽出します。
jar xvf aem-quickstart-6.3.0.war
内容を抽出したら、WEB-INF フォルダーに移動して ファイルを編集し、実行モードを変更します。web.xml
XML での実行モードの設定場所を探すには、sling.run.modes
文字列を検索します。見つかったら、コードの次の行で実行モードを変更します。デフォルトでは、author に設定されています。
<param-value >author</param-value>
上述の author という値を変更し、実行モードを author,crx3,crx3tar に設定します。最終的なコードブロックは次のようになります。
<init-param>
<param-name>sling.run.modes</param-name>
<param-value>author,crx3,crx3tar</param-value>
</init-param>
<load-on-startup>100</load-on-startup>
</servlet>
編集後の内容で jar を再作成します。
jar cvf aem62.war
最後に、新しい war ファイルをデプロイします。
cp temp/aem62.war jboss-install-folder/standalone/deployments/aem61.war