Upgrade Steps for Application Server Installations upgrade-steps-for-application-server-installations
This section describes the procedure that needs to be followed in order to update AEM for Application Server installations.
All the examples in this procedure use JBoss as the Application Server and imply that you have a working version of AEM already deployed. The procedure is meant to document upgrades performed from AEM version 5.6 to 6.3.
-
First, start JBoss. In most situations, you can do this by running the
standalone.sh
startup script, by running this command from the terminal:code language-shell jboss-install-folder/bin/standalone.sh
-
If AEM 5.6 is already deployed, check that the bundles are functioning correctly by running:
code language-shell wget https://<serveraddress:port>/cq/system/console/bundles
-
Next, undeploy AEM 5.6:
code language-shell rm jboss-install-folder/standalone/deployments/cq.war
-
Stop JBoss.
-
Now, migrate the repository using the crx2oak migration tool:
code language-shell java -jar crx2oak.jar crx-quickstart/repository/ crx-quickstart/oak-repository
note note NOTE In this example, oak-repository is the temporary directory where the newly converted repository will reside. Before performing this step, make sure you have the latest crx2oak.jar version. -
Delete the necessary properties in the sling.properties file by doing the following:
-
Open the file located at
crx-quickstart/launchpad/sling.properties
-
Step text Remove the following properties and save the file:
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
-
-
Remove the files and folders that are no longer necessary. The items you need to specifically remove are:
- The launchpad/startup folder. You can delete it by running the following command in the terminal:
rm -rf crx-quickstart/launchpad/startup
- The base.jar file:
find crx-quickstart/launchpad -type f -name "org.apache.sling.launchpad.base.jar*" -exec rm -f {} \
- The BootstrapCommandFile_timestamp.txt file:
rm -f crx-quickstart/launchpad/felix/bundle0/BootstrapCommandFile_timestamp.txt
- The launchpad/startup folder. You can delete it by running the following command in the terminal:
-
Copy the newly migrated segmentstore to its proper location:
code language-shell mv crx-quickstart/oak-repository/segmentstore crx-quickstart/repository/segmentstore
-
Copy the datastore as well:
code language-shell mv crx-quickstart/repository/repository/datastore crx-quickstart/repository/datastore
-
Next, you need to create the folder that will contain the OSGi configurations that will be used with the new upgraded instance. More specifically, a folder named install needs to be created under crx-quickstart.
-
Now, create the node store and data store that will be used with AEM 6.3. You can do this by creating two files with the following names under crx-quickstart\install:
-
org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.cfg
-
org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.cfg
These two files will configure AEM to use a TarMK node store and a File data store.
-
-
Edit the configuration files to make them ready for use. More specifically:
-
Add the following line to org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.config:
customBlobStore=true
-
Then add the following lines to org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config:
code language-none path=./crx-quickstart/repository/datastore minRecordLength=4096
-
-
Remove the crx2 runmode by running:
code language-shell find crx-quickstart/launchpad -type f -name "sling.options.file" -exec rm -rf {} \
-
You now need to change the run modes in the AEM 6.3 war file. In order to do that, first create a temporary folder that will be housing the AEM 6.3 war. The name of the folder in this example will be temp. Once the war file has been copied over, extract its contents by running from inside the temp folder:
code language-shell jar xvf aem-quickstart-6.3.0.war
-
Once the contents have been extracted, go to the WEB-INF folder and edit the
web.xml
file to change the run modes. To find the location where they are set in the XML, look for thesling.run.modes
string. Once you find it, change the run modes in the next line of code, which by default is set to author:code language-shell <param-value >author</param-value>
-
Change the above author value and set the run modes to: author,crx3,crx3tar The final block of code should look like this:
code language-none <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>
-
Recreate the jar with the modified contents:
code language-shell jar cvf aem62.war
-
Finally, deploy the new war file:
code language-shell cp temp/aem62.war jboss-install-folder/standalone/deployments/aem61.war