How to change the repository home directory

Question / Problem

It might be required to change the repository home directory of CRX, especially when deploying CRX in a 3rd party application server such as WebSphere.

Answer / Resolution

Per default, CRX will be installed in a folder named crx-quickstart located in the JVM's root folder. In order to change the default crx-quickstart installation folder, follow these steps. In this example the default installation folder will be prefixed with my_custom_path:

  • extract the default crx-xxx-quickstart.jar with 'java -jar crx-xxx-quickstart.jar' in a temporary location
  • navigate to crx-quickstart/server/webapps
  • unzip crx-explorer_crx.war to crx-explorer_crx
  • edit crx-explorer_crx/WEB-INF/web.xml
    • locate servlet with name Repository and adjust the value of the repository-home parameter to my_custom_path/crx-quickstart/repository
    • locate servlet JCRExplorer and adjust value of parameter explorer-home to my_custom_path/crx-quickstart/repository
    • locate servlet JCRWebdavServer and change value of parameter home to my_custom_path/crx-quickstart
  • edit crx-explorer_crx/WEB-INF/log4j.xml
    • adapt the path of the error.log and translation.log files and prefix them with my_custom_path
  • unzip crx-launchpad.war to crx-launchpad
  • edit crx-launchpad/WEB-INF/web.xml
    • adjust parameter sling.home to my_custom_path/crx-quickstart/launchpad

After having reconfigured the paths, simply repackage the previously unzipped webapps and deploy these in the application server of your choice, first crx-explorer_crx.war, then crx-launchpad.war. Once deployed, the repository home directory will be located at <app_server_home>/my_custom_path.

Note:- You might encounter an io file permission error like [1] make sure the app runas user have write privileges to the parent of sling.home.

[1] my_custom_path/../ (Permission denied)


CRX1.4.2 and CRX2.x