You are reading the CRX 2.3 version of Installing CRX.
This documentation is also available for the following versions:
CRX 2.2 CRX 2.1 CRX 2.0 (for CQ 5.3)
This document contains detailed instructions on how to install CRX using the Quickstart jar file and includes information on the following:
Unlike many other programs, you install CRX by using a "Quickstart" self-running jar file. When you double-click the jar file, everything you need is automatically installed. A CRX quickstart jar file includes a JCR-compliant repository and Apache Sling, which is a web framework for developing web applications on Java.
The first time you start the jar file, it creates an entire JCR-compliant repository in the background, which may take several minutes. After the first time, startup is much quicker as the repository has already been created.
Note
The naming convention used here for the CRX quickstart file is:
crx-<version>-<edition>.jar.
The name of the edition would for example be enterprise for the CRX enterprise edition. The version numbers might also include a datestamp.
Be sure to substitute the version and name of your edition of CRX wherever appropriate.
Installing, Starting, and Stopping CRX
This section describes how to install, start, and stop CRX instances. For troubleshooting tips during installation, see Troubleshooting.
Installing CRX
To install CRX:
Copy the CRX quickstart jar file (crx-<version>-<edition>.jar) to the desired directory on the host file system.
Caution
Only US-ASCII characters are allowed in the name of the folder used to store the Quickstart jar (or any other runnable jar).
Copy a valid license.properties file into the same directory as the quickstart jar file.
Note
Note: If when starting the application, you do not provide the license.properties file, CRX asks you for a valid license key. You can request a valid license key from Day at this time.
Start CRX Quickstart for the first time.
When CRX is started for the first time, it will automatically create a crx-quickstart folder in the same directory as the quickstart jar file.
Inside the crx-quickstart directory, CRX will place its working files and create a fresh repository.
Due to this initialization process, the first startup will take longer than subsequent startups. See Starting CRX for detailed instructions on how to start CRX Quickstart.
Starting CRX
In order to start CRX, simply double-click CRX Quickstart or start CRX from the command line or a custom script.
To start CRX:
Navigate to the quickstart jar file (crx-<version>-<edition>.jar), either in your GUI file-system window or in a terminal, using the command line.
Do one of the following:
If using a GUI (for example, Windows Explorer or MAC Finder), double-click the quickstart jar file (crx-<version>-<edition>.jar).
If using the command line, enter the java command using the following principle:
with a 32bit VM: java -Xmx384M -jar crx-<version>-<edition>.jar or, with a 64bit VM java -XX:MaxPermSize=128m -Xmx512M -jar crx-<version>-<edition>.jar
CRX is ready when the message "Press CTRL-C to shutdown the Quickstart server..." is seen.
Note
By default, CRX will automatically open a browser window on startup. When starting CRX from the command line on a remote server, you may want to suppress this by adding the -nobrowser option to the above command line.
In order to automate the startup of CRX, you can use a startup script.
When CRX is started the first time, it places example startup scripts in the crx-quickstart/server folder. The start and stop scripts are for UNIX, Linux and Macintosh, the server.bat script is for Windows.
CRX starts and automatically opens the appropriate page in your web browser. Once started, you have access to CRX. See the CRX User Guide for details on using CRX.
Showing Startup Statistics
The CRX Quickstart window shows the startup time:
This also forms a link to startup statistics of the individual elements:
Stopping CRX
To stop CRX, do one of the following:
If you started CRX from the command line, press Ctrl+C to shut down the server.
If you started CRX with the start script, now use the stop script.
If you started CRX by double-clicking on the jar file, click on the On button in the Quickstart window. This will change to Off as the server shuts down.
Configuring JVM Settings for CRX
CRX is a Java application and runs within a Java Virtual Machine runtime environment (java process within your operating system). The default settings of the JVM are usually correct for the majority of CRX use cases, but sometimes you need to adjust them to match your specific use case or the application running on top of CRX. One of the settings that might require modification is the JVM memory size.
Depending on how CRX is started, the table below presents the ways of changing the JVM settings for CRX.
Startup method
Default JVM Memory
How to change JVM settings
Double-clicking the quickstart.jar
384MB heap for a 32bit VM.
512MB heap and 128MB PermGen for a 64bit VM.
(equivalent to using the -Xmx and -XX:MaxPermSize JVM options)
You cannot change these settings when using double-click. Please use other startup methods.
Command line:
java -jar quickstart.jar
64MB
(default JVM setting; needs to be increased)
Specify the required settings on the command line (before the -jar parameter).
For example, to adjust the default memory setting to 512MB and the PermGen space to 128MB, use the following command line:
Recommended values are the ones used when double-clicking the jar file, see above.
See Java JDK Tools, java launcher tool documentation for your version of Java (e.g., for Java 1.5)
Note: the Quickstart -fork option overrides JVM settings with its own defaults. Not recommended if you need full control over JVM settings. If you do need to use it, you can specify the extra JVM parameters using the -forkargs option.
Startup scripts:
startup.bat (Win)
start/stop (Unix)
Defined by script variables:
JVM_MINHEAP / JVM_MAXHEAP
CQ_HEAP_MIN / CQ_HEAP_MAX
Change the settings in the startup scripts. Some settings (for example, memory) have dedicated script variables. You can also add arbitrary settings for JVM by adding options to the java launcher tool with the JVM_OPTS / CQ_JVM_OPTS script variables.
Configuring JVM Settings for CRX
CRX is a Java application and runs within a Java Virtual Machine runtime environment (java process within your operating system). The default settings of the JVM are usually correct for the majority of CRX use cases, but sometimes you need to adjust them to match your specific use case or the application running on top of CRX. One of the settings that might require modification is the JVM memory size.
Depending on how CRX is started, the table below presents the ways of changing the JVM settings for CRX.
Startup method
Default JVM Memory
How to change JVM settings
Double-clicking the quickstart.jar
384MB heap for a 32bit VM.
512MB heap and 128MB PermGen for a 64bit VM.
(equivalent to using the -Xmx and -XX:MaxPermSize JVM options)
You cannot change these settings when using double-click. Please use other startup methods.
Command line:
java -jar quickstart.jar
64MB
(default JVM setting; needs to be increased)
Specify the required settings on the command line (before the -jar parameter).
For example, to adjust the default memory setting to 512MB and the PermGen space to 128MB, use the following command line:
Recommended values are the ones used when double-clicking the jar file, see above.
See Java JDK Tools, java launcher tool documentation for your version of Java (e.g., for Java 1.5)
Note: the Quickstart -fork option overrides JVM settings with its own defaults. Not recommended if you need full control over JVM settings. If you do need to use it, you can specify the extra JVM parameters using the -forkargs option.
Startup scripts:
startup.bat (Win)
start/stop (Unix)
Defined by script variables:
JVM_MINHEAP / JVM_MAXHEAP
CQ_HEAP_MIN / CQ_HEAP_MAX
Change the settings in the startup scripts. Some settings (for example, memory) have dedicated script variables. You can also add arbitrary settings for JVM by adding options to the java launcher tool with the JVM_OPTS / CQ_JVM_OPTS script variables.
This document lists the supported client and server platforms for CRX. Day provides several levels of support, both for our recommended configurations and for other configurations. Please refer to the Installation Guide for detailed instructions and notes for installing and runninng CRX on the supported platforms.
Recommended Configurations
Day recommends these configurations and provides full support as part of the standard software maintenance agreement. The configuration is tested and known bugs are fixed. Issues that are submitted by customers in the form of a fully qualified request are addressed in future releases.
A: Supported
Day provides full product support and maintenance for this configuration. This configuration is covered by Day's quality assurance process.
Note
Note: In previous releases, Day used three different support levels for the fully supported configurations (A,B,C). Currently the supported platforms are all on level A.
Configurations with Optional Support Agreement
Day expects these platforms to work. Support is available as an optional add on to the standard software maintenance agreement.
D: Validated, optional support available
This configuration has been validated by Day or a third party, or it is or has been in productive use. This platform is only sporadically tested by Day or third parties. Day offers optional platform support service agreements for this configuration.
E: Expected to work
The configuration is expected to work, and there are no reports to the contrary. Day offers optional platform support service agreements for this configuration.
Unsupported Configurations
Z: Not supported
The configuration is not supported. Day does not make any statements about whether the configuration works and does not support it.
CRX running in virtual machines in the cloud computing environments is supported in compliance with Day's support policy for all other system components (operating system, JVM, application server, etc).
Java Virtual Machines
CRX operates with the following versions of the Java Virtual Machine (Runtime Environment).
Platform
Support Level
Oracle JRE 1.7.x
Z: Not supported
Oracle JRE 1.6.x
A: Supported
Oracle JRE 1.5.x
D: Validated
Oracle JRE 1.4.2
Z: Not supported
IBM JRE 1.6
A: Supported
IBM JRE 1.5
D: Validated
HP JRE 1.5
E: Expected to work
The IBM JRE is only supported on IBM server platforms (AIX), or in conjunction with Websphere. For all non-IBM platforms, the Oracle JRE is supported.
The HP JRE is only supported on HP server platforms (HP-UX). For all non-HP platforms, the Oracle JRE is supported.
Servlet Engines / Application Servers
CRX runs on the following application servers.
You can run CRX without an application server, but you need a Servlet Engine. Both CRX, and therefore CQ5, ship with Adobe's CQSE servlet engine, which you can use freely and which is fully supported.
Platform
Support Level
CQSE (as packaged with CRX Quickstart)
A: Supported
Oracle WebLogic Server 10.3.5 (11g)
A: Supported
BEA WebLogic Server 10.3
E: Expected to work
IBM Websphere 8
D: Validated
IBM Websphere 7
A: Supported
IBM Websphere 6.1
D: Validated
Apache Tomcat 7
D: Validated
Apache Tomcat 6
D: Validated
JBoss Application Server 5
A: Supported
Jetty 7-8
E: Expected to work
Oracle / Open Source GlassFish
E: Expected to work
Supported Client Platforms
CRX works with the following client platforms:
Note
Support for browsers with rapid release cycles:
Mozilla Firefox and Google Chrome release updates every few months. Adobe is committed to provide updates for CRX to maintain the support level as stated below with upcoming versions of these browsers.
This section provides special notes and more detailed information about running CRX on certain platforms.
WebDAV Clients
Windows Vista, Windows 7, Windows 8
Note: On Windows Vista, Service Pack 2 of Windows Vista is required to connect Adobe CRX using WebDAV.
To successfully connect with Windows Vista, Windows 7 and 8 to an Adobe CRX instance that is not secured with SSL, basic authentication over unsecured network must be enabled in Windows. This requires a change in the Windows Registry of the WebClient:
CRX can be installed in both IPv4 and IPv6 networks.
Operation is seamless as no special configuration is required, when needed you can simply specify an IP address using the format that is appropriate to your network type.
This means that when an IP address needs to be specified you can select (as required) from:
an IPv6 address
for example http://[ab12::34c5:6d7:8e90:1234]:4502
an IPv4 address
for example http://123.1.1.4:4502
a server name
for example, http://www.yourserver.com:4502
the default case of localhost will be interpreted for both IPv4 and IPv6 network installations
for example, http://localhost:4502
Installation Prerequisites
To install a CRX instance, you need the following:
Java Runtime Environment (JRE) version 1.6. See Supported Platforms for detailed requirements regarding the JRE.
500 MB free disk space in the deployment directory.
128 MB minimum memory
The CRX quickstart.jar file
The prerequisites above state the minimum, which is needed to start install or start a default repository. The actual resource requirements differ vastly depending on the configuration, applications running on top of the repository, or executed use cases.
Please note that you might need to start the installer with customized memory settings if you have very little free memory, as the default Quickstart memory settings are configured to allow for more flexibility in deploying bigger content applications on top of the repository.
Note
CRX Quickstart requires create and write privileges within the installation directory. Ensure that the user installing CRX has these privileges for the chosen directory.
CRX System Architecture
The CRX repository consists of two parts:
A Web application that offers the JCR-compliant API and temporary data storage (in the form of the CRX session).
A persistent data storage, such as a database. By default, CRX uses the tar persistence manager.
Day recommends that you use the tar persistence manager, which is preferred. If you install the two parts on separate computers (for example if you use your central database server for persistent storage, or if you run Tar persistence manager on a networked storage device, like SAN or NAS), make sure that the CRX instance has excellent network access to the repository. Lags or elongated response times in the communication between the CRX instance and the persistent storage may cause severe performance issues.
Database
If you use a database persistence manager to store the CRX data in an external database (that is, a database on a server that runs independently from CRX), you need to set up the database before installing CRX. By default, CRX uses the tar persistence manager. If you need to configure a database persistence manager, see Custom Installation.
Installing CRX on an Application Server
This section tells you how to install CRX 2.3 and how to upgrade from CRX 2.2 to CRX 2.3 with in an App Server (respective Servlet Container).
the instance (Repository, Felix OSGI environment, bundles etc.) is installed in ${user.dir}/crx-quickstart where ${user.dir} is the current working directory, this path to crx-quickstart is called sling.home
the context root is the war file name e.g : crx-2.3.0
You can change the default behaviour in the following way:
sling.home: configure the sling.home parameter in the WEB-INF/web.xml file of the CRX 2.3.0 war file before deployment, see the explanation in the web.xml for details.
context root: rename the CRX 2.3 war file or see the App Server documentation how to change the context root of a web application
Installation
WebSphere 7
Server Preparation
Let Basic Auth Headers pass through:
One way to let CQ to authenticate a user is to disable the global administrative security of the WebSphere server, to do so: go to Security -> Global Security and uncheck the Enable administrative security checkbox, save and restart the server.
Increase VM memory settings:
in the websphere admin console (/ibm/console) go to Servers -> Server Types -> WebSphere application servers
choose server1
in the configuration tab open the Java and Process Management tree and select Process definition
open Java Virtual Machine
set e.g Initial Heap Size to 512, Maximum heap size to 1792
save it and restart the server
If you want to install CRX 2.3 using context root = / then you have first to change the context root of the existing Default web application
Deploy CRX 2.3 web application
Download CRX 2.3 war file
If you like, make your configurations In web.xml (see above in the General Description)
Unpack WEB-INF/web.xml fill
uncomment sling.home initial parameter and set this path as you need
Repack web.xml file
Deploy CRX 2.3 war file
Choose a context root, ( too in step 6 if selected detailed steps one can edit the run modes, so it seems possible to config that even during deployment, not tested however)
Start CRX 2.3 web application
JBoss 5.1
Prepare JBoss server
Set Memory arguments in bin/run.conf.bat ( resp run.conf for unixes)
set "JAVA_OPTS=-Xms128M -Xmx1792M -XX:MaxPermSize=512M"
Delete completely the <application-policy-name="other> section in server\default\conf\login.config.xml
Deploy CRX 2.3 web application
Download CRX 2.3 web app
if you like, adapt the configuration for sling.home in WEB-INF/web.xml
Rename CRX 2.3 war file to e.g. crx if you like to have crx as context root
if you want to deploy the CRX 2.3 web app under context root /:
Rename the CRX 2.3 web app to ROOT.war
Start JBoss
Stop existing ROOT.war webapp
Rename existing ROOT.war folder to something else
Start JBoss
Copy CRX 2.3 war file into server/default/deploy
Wait until installation has finished, check ${sling.home}/logs/error.log of CRX 2.3
If the installation has finished
Stop CRX 2.3 web application
in ${sling.home}/sling.properties file add the following property: sling.bootdelegation.org.apache.xerces=org.apache.xerces.* (Assure that there are no trailing whitespaces!)
Restart web application again
WebLogic 10.3.5
This uses a simple Server Layout with only an Admin Server.
WebLogic Server Preparation
In ${myDomain}/config/config.xml add to the security-configuration section:
<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials> see on http://xmlns.oracle.com/weblogic/domain/1.0/domain.xsd for the correct position (per default to position it at the end of the section is ok)
Increase VM Memory settings:
open ${myDomain}/bin/setDomainEnv.cmd (resp .sh)search for WLS_MEM_ARGS, set e.g set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx2048m
search for MEM_MAX_PERM_SIZE, set e.g MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=512m
restart WebLogic Server
Create in ${myDomain} a packages folder and inside a crx folder and in it a Plan folder
Deploy CRX 2.3 web application
Download CRX 2.3 war file
Put the CRX 2.3 war file into the ${myDomain}/packages/crx folder
Make your configurations In WEB-INF/web.xml if needed (see above in the General Description)
Unpack WEB-INF/web.xml file
uncomment sling.home initial parameter and set this path as you need (see General Description)
Repack web.xml file
Deploy CRX 2.3 war file as an Application, (for the other settings use the default settings)
Check that the installation has finished as mentioned above in the General Description (e.g. tailing the error.log)
After Installation has finished add the needed additional property to sling.properties file:
Stop CRX 2.3 web application in the WebLogic /console gui
Go to ${sling.home} folder and add to the sling.properties file: sling.bootdelegation.weblogic.xml=weblogic.xml.*(Assure there are no trailing whitespaces!)
Start web application again
You can change the context root in the Configuration tab of the web application in the WebLogic /console
Install Hotfix cq-5.5.0-hotfix-41445
Additionally you need to install Hotfix cq-5.5.0-hotfix-41445:
Login to package share.
Search for cq-5.5.0-hotfix-41445.
Download the hotfix zip file to disk.
Create a new folder called install in your crx-quickstart folder (where sling.home is pointing to).
Put the hotfix zip file into this crx-quickstart/install folder.
Restart the CRX 2.3 web app.
Tomcat 6
Prepare Tomcat Server
Increase VM memory settings:
In bin/catalina.bat (resp catalina.sh on unix) add the following setting:
set "JAVA_OPTS= -Xmx1792m -XX:MaxPermSize=512m"
Tomcat enables neither admin nor manager access at installation.
Therefore you have to manually edit tomcat-users.xml to allow access for these accounts:
Edit tomcat-users.xml to include access for admin and manager. The configuration should look similar to the following example:
If you like to deploy CRX 2.3 with context path "/" then you have to change context path of the existing ROOT webapp:
Stop and undeploy ROOT webapp, delete cache in work/Catalina/localhost (if present)
Rename ROOT.war folder in tomcat's webapps folder
Start webapp again
Deploy CRX 2.3 web application
Download CRX 2.3 war file
Make your configuration In web.xml if needed (see above in the General Description)
Unpack WEB-INF/web.xml file
uncomment sling.home initial parameter and set this path as you need if you don't like the default
Repack web.xml file
Rename CRX 2.3 war file to ROOT.war if you like to deploy it as root webapp, rename it to e.g crx23.war if you like to have crx23 as context root
copy it into tomcat's webapps folder
wait until CRX 2.3 is installed
Upgrade Procedure from CRX 2.2 to CRX 2.3
General Steps
The basic upgrade procedure is the same for all Application Servers. Some Application servers need additional steps which are explained after the description of the basic steps.
Create a backupo of your instance.
Stop both the crx-launchpad and crx-explorer web applications using the administration interface of the application server.
Uninstall the crx-launchpad web application.
Uninstall the crx-explorer web application.
Stop the application server.
Remove the crx-shared.jar and jcr-2.0.jar from the app server's lib folder.
Remove the crx-quickstart/launchpad/startup folder.
Remove the following properties from crx-quickstart/launchpad/sling.properties file:
sling.home
sling.installer.dir
org.osgi.framework.storage
felix.cm.dir
org.apache.sling.launcher.system.packages
org.osgi.framework.system.packages
osgi-core-packages
osgi-compendium-services
jre-*
Go to the folder crx-quickstart/launchpad/config/org/apache/sling/commons/log
In that folder, edit the LogManager.config file and all files in the LogManager subfolder by replacing org.apache.sling.commons.log.file="../logs/error.log"
with org.apache.sling.commons.log.file="logs/error.log"
Start the application server.
If you have installed crx in a different folder than crx-quickstart then you need to set the path to it in the web.xml file in the sling.home property (see comment in web.xml for sling.home for details)
Deploy the CRX 2.3 web application into the appliction server.
Perform additional steps required for your Application Server ( see below)
Additional Application Server dependent steps
WebSphere 7
none
JBoss 5.1
After the installation has finished:
Stop CQ 5.5 we application
in ${sling.home}/sling.properties file add the following property: sling.bootdelegation.org.apache.xerces=org.apache.xerces.* (Assure that there are no trailing whitespaces!)
Restart web application again
WebLogic 10.3.5
After Installation has finished add the needed additional property to sling.properties file:
Stop CRX 2.3 web application in the WebLogic /console gui
Go to ${sling.home} folder and add to the sling.properties file: sling.bootdelegation.weblogic.xml=weblogic.xml.*(Assure there are no trailing whitespaces!)
Start web application again
You can change the context root in the Configuration tab of the web application in the WebLogic /console
Additionally you need to install Hotfix cq-5.5.0-hotfix-41445:
Login to package share.
Search for cq-5.5.0-hotfix-41445.
Download the hotfix zip file to disk.
Create a new folder called install in your crx-quickstart folder (where sling.home is pointing to).
Put the hotfix zip file into this crx-quickstart/install folder.
Restart the CRX 2.3 web app.
Tomcat 6
none
Installation Check
To check if all is installed you can:
tail the error.log file to see that all content is installed
look in /system/console that all bundles are installed
if you find a line like th following in the error.log, the installation has finished:
*INFO* [Calculate File System Status] com.day.crx.persistence.tar.TarUtils File system status: created 200 files in 62 ms (3225 ops/sec)
Custom Installation
For any customization you want to make to the CRX installation, several options are available via the command line. You can either use the available options or rename the Quickstart file for custom uses.
Note
Available options and renaming conventions are described in the Quickstart help file, which is available through the –help option. To access in CRX, type java -jar crx-<version>-<edition>.jar –help.
Changing the Port Number by Renaming the File
The default port for CRX is 7402. If that port is not available or already in use, Quickstart automatically configures itself to the first available port number as follows: 7402, 8080, 8081, 8082, 8083, 8084, 8085, 8888, 9362, <random>. You can also set the port number.
To change the port number of a CRX quickstart file, you can rename the file by including a port number, for example, crx-quickstart-7503.jar. Renaming syntax is covered in detail in the quickstart help file (-help option).
Note
Note: You can also change the port number by adding the –port option.
Configuring a Persistence Manager other than Tar PM
To configure CRX to use a persistence manager other than the default Tar PM, you must modify the CRX war file before starting the installation.
To modify the persistence manager:
From the command line, start Quickstart with the -unpack option: java -jar crx-<version>-<edition>.jar -unpack
Doing so unzips the distribution, where the default setup with TarPM is used for the crx.default workspace.
Modify the configuration of the repository and workspaces using these instructions. Especially see Repository and Workspace setup, which describes how to change the persistence manager.
Note
Note: You can also change other advanced configuration options for your installation of CRX using this approach. See the Configuring section of Deploying CRX.
Changing Default Repository JNDI Name
When you change the JNDI repository name from the default virtual-crx to another name, make sure that the CRX Launchpad and other Apache Sling applications are also configured to use the new repository name. To configure a different repository name for Sling applications:
Select the CRX client repository in the dropdown that lists configuration (if there are two, use the one that contains a long hexadecimal number), change the repository name parameter as required and save the configuration.
You might need to restart the CRX instance for the application to use the new repository.
Relocating or Preconfiguring the Repository
The default location of the folder holding the files of the CRX repository is:
crx-quickstart/repository/
With the default configuration file being:
crx-quickstart/repository/repository.xml
Sometimes you may want to relocate, or preconfigure, the repository; for example, when installing without a cluster or when using a different Persistence Manager.
Relocation must be configured before installation:
Create the new directory (<new-location>) for the repository files.
For example:
<crx-installation-dir>/repositoryRelocated/
Navigate to the <crx-installation-dir> directory (holding the installation jar file crx-<version>-<edition>.jar and license.properties).