Installing CRX

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:

What is Quickstart?

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:

  1. 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).

  2. 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.

  3. 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:

  1. 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.

  2. 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.

  3. 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.

Note

See Configuring JVM Settings for CRX if you need to change some of the advanced JVM settings for CRX (such as JVM memory size).

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.

file

Showing Startup Statistics

The CRX Quickstart window shows the startup time:

file

This also forms a link to startup statistics of the individual elements:

file

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:

java -Xmx512M -XX:MaxPermSize=128M -jar quickstart.jar

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:

java -Xmx512M -XX:MaxPermSize=128M -jar quickstart.jar

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.

Technical Requirements

This chapter covers the technical issues of:

Supported Platforms

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.

Server Operating Systems

CRX works with the following server platforms:
Platform Support Level   
Windows Server 2008 R2
A: Supported  
Windows Server 2008 A: Supported  
Windows Server 2003 A: Supported  
Solaris 10 A: Supported  
Solaris 9 A: Supported  
RedHat Linux Kernel 2.6 A: Supported  
RedHat Linux Kernel 2.4 E: Expected to work
 
HP-UX 11i v1-3 A: Supported  
IBM AIX 7.1 E: Expected to work  
IBM AIX 6.1 A: Supported  
SUSE Linux Enterprise Server 11 E: Expected to work
 
SUSE Linux Enterprise Server 10 D: Validated
 
Mac OS X Server
D: Validated
 
  • Windows 2003 with SP2 is not able to connect to WebDAV. Please see Microsoft - Software Update for Web Folders (KB907306) for full details of the manual updates which need to be made.
  • Please note, that there is no differentiation on a minor version level if not stated explicitly.

Cloud Computing Environments

CRX works with virtual machines in the following cloud computing environments:

Amazon EC2
Running non-clustered CRX

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.

Browser Support Level
Microsoft Internet Explorer 10.0 Z: Not supported
Microsoft Internet Explorer 9.0 A: Supported
Microsoft Internet Explorer 8.0 A: Supported
Microsoft Internet Explorer 7.0 A: Supported
Microsoft Internet Explorer 6.0 Z: Not supported
Mozilla Firefox 14 A: Supported
Mozilla Firefox 10.0.x A: Supported
Mozilla Firefox 3.6.x E: Expected to work
Google Chrome 21
E: Expected to work
Apple Safari 5.1, 6.0
E: Expected to work

Platform Notes

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:

  1. Locate the registry subkey:
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
  2. Add the BasicAuthLevel registry entry to this subkey using a value of 2 or more.

See Microsoft Support KB 841215.

To improve responsivness of the WebDav Client under Windows - see Microsoft Support KB 2445570

Windows 2003

Windows 2003 with SP2 cannot connect to WebDAV. See Microsoft - Software Update for Web Folders (KB907306) for full details of the manual updates that need to be made.

IPv4 and IPv6

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).

Installation

Upgrade

 

General Description

CRX 2.3 comes as a single war file to deploy.

If deployed the following will happen by default:

  • 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:
  • 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:

  1. Login to package share.
  2. Search for cq-5.5.0-hotfix-41445.
  3. Download the hotfix zip file to disk.
  4. Create a new folder called install in your crx-quickstart folder (where sling.home is pointing to).
  5. Put the hotfix zip file into this crx-quickstart/install folder.

Restart the CRX 2.3 web app.

 

Tomcat 6

  1. 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:

    <?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
      <role rolename="manager"/>
      <role rolename="tomcat"/>
      <role rolename="admin"/>
      <role rolename="role1"/>
      <user username="both" password="tomcat" roles="tomcat,role1"/>
      <user username="tomcat" password="tomcat" roles="tomcat"/>
      <user username="admin" password="admin" roles="admin,manager"/>
      <user username="role1" password="tomcat" roles="role1"/>
    </tomcat-users>
            

    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
  2. 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.

  1. Create a backupo of your instance.
  2. Stop both the crx-launchpad and crx-explorer web applications using the administration interface of the application server.
  3. Uninstall the crx-launchpad web application.
  4. Uninstall the crx-explorer web application.
  5. Stop the application server.
  6. Remove the crx-shared.jar and jcr-2.0.jar from the app server's lib folder.
  7. Remove the crx-quickstart/launchpad/startup folder.
  8. 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-*
  9. Go to the folder crx-quickstart/launchpad/config/org/apache/sling/commons/log
  10. 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"
  11. Start the application server.
  12. 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)
  13. Deploy the  CRX 2.3 web application into the appliction server.
  14. 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:

  1. Login to package share.
  2. Search for cq-5.5.0-hotfix-41445.
  3. Download the hotfix zip file to disk.
  4. Create a new folder called install in your crx-quickstart folder (where sling.home is pointing to).
  5. 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:

  1. 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.
  2. Prepare the war file, so that you can edit it. See Editing Repository Settings in the Configuration Files.
  3. 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:

  • Go to CRX OSGi management console at http://localhost:7402/system/console/configMgr
  • 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:

  1. Create the new directory (<new-location>) for the repository files.

    For example:

        <crx-installation-dir>/repositoryRelocated/

  2. Navigate to the <crx-installation-dir> directory (holding the installation jar file crx-<version>-<edition>.jar and license.properties).

  3. Create a new file (in <crx-installation-dir>):

    With the following entries:

    repository.home=<new-location>

    This is used to relocate the repository. Files required for the repository will be created here upon installation.
    For example, repository.home=repositoryRelocated

    repository.config=<new-location>/repository.xml

    This specifies the location of repository.xml. This version can be edited with your customizations. The location does not have to be the same as above, but is often.
    For example, repository.config=repositoryRelocated/repository.xml

    For example:

    repository.home=repositoryRelocated
    repository.config=repositoryRelocated/repository.xml
  4. Extract the template configuration file.

    The installation jar file:

        cq-<version>-<edition>.jar

    contains a war file:

        ../etc/server/webapps/crx-explorer_crx.war

    that in turn holds a template configuration file:

        ../WEB-INF/repository-template.xml

    You need to extract this template configuration file from these two archive files.

  5. Copy the extracted configuration file:

        ../WEB-INF/repository-template.xml

    to:

       <new-location>/repository.xml

    For example, repositoryRelocated/repository.xml.

  6. Edit this new version of repository.xml.

    In the section <Module class="com.day.crx.vlt.AutoInstaller">, there is a definition for the directory parameter. Replace the reference to ${rep.home} with crx-quickstart/repository/install:

        <param name="directory" value="${rep.home}/install" />

    with

        <param name="directory" value="crx-quickstart/repository/install" />

    Note

    This install directory must be explicitly referenced as the initial content packages are automatically extracted to this location when the installation jar file unpacks. These packages must be installed for CRX to start.

    Note

    If required, you can make other changes in repository.xml to preconfigure the repository.

  7. Start the installation procedure; files needed for the repository will be saved in the new location; for this example they will be under:

    <crx-installation-dir>/repositoryRelocated/

    Note

    You will still have a directory crx-quickstart/repository, but this will only contain files that were needed for the installation.

If you just want to preconfigure the repository (without relocating it) you only have to:

  • extract repository.xml to the required location
  • update repository.xml as required
  • create bootstrap.properties and define repository.config

Again, before starting the actual installation.

Troubleshooting Installation Issues

The following section describes some installation issues and their solutions.

Double-clicking the Quickstart jar does not have any effect or opens the jar file with another program (for example, archive manager)

This usually indicates a problem with the way your operating system's desktop environment is configured to open files with extension .jar.

It might also indicate that you do not have Java installed, or that you are using an unsupported version of Java.

As jar files use the ubiquitous ZIP format, some of the archiving programs might automatically configure the desktop to open jar files as archive files.

To troubleshoot, try the following:

  • Double check that you have at least Java version 1.5 installed
  • Try a context menu (usually right-mouse click) on the CRX Quickstart, and select "Open With...." Check if Java or SunJava is listed, and try to run CRX with it. If you have multiple Java versions installed, select the supported one.

Note

If you succeed with this step, and your operating systems offers an option to always use the selected program to run the .jar files, select it. Double-clicking should work from now on.

  • Sometimes reinstalling the supported Java version helps restore the correct association.
  • You can always run CRX using the command line or start/stop scripts as described earlier in this document.

My application running on CRX throws out-of-memory errors

CRX itself has a very low memory footprint. If the application running within CRX has bigger memory requirements or requests memory-heavy operations (for example, large transactions), the JVM instance where CRX runs needs to be started with appropriate memory settings. Use Java command options to define memory settings of the JVM (for example, java -Xmx512m -jar crx*.jar to set heapsize to 512MB).

Note

Specify the memory setting option while starting CRX from the command line. The CRX start/stop scripts or custom scripts for managing CRX startup can also be modified to define the required memory settings.

The CRX Welcome screen does not display in the browser after double-clicking CRX Quickstart

In certain situations, the CRX Welcome screens does not automatically display even though the repository itself is successfully running. This might depend on operating system setup, browser configuration, or similar factors.

The usual symptom is that the CRX Quickstart window displays "CRX starting up, waiting for server startup...." If that message displays for a relatively long time, enter the CRX URL into the browser window manually, using the default 7402 port, or the port on which the instance is running:
http://localhost:7402/

Also, logs may reveal the reason for the browser not starting.

Sometimes, the CRX Quickstart window has the message "CRX running on http://localhost:port/" and the browser does not start automatically. In this case, click on the URL in the CRX Quickstart window (it is a hyperlink) or manually enter the URL in the browser.

If everything else fails, check the logs to find out what has happened.

Because CRX installs only into a directory, there is no need for an uninstall utility. Uninstalling is as simple as deleting the entire installation directory, although how you uninstall CRX depends on what you want to achieve and what persistent storage you use.

Note

Day highly recommends that you back up your repository before deleting CRX. If you delete the entire <crx-installation-directory>, you will delete the repository. To keep the repository data before deleting, move or copy the crx-quickstart/repository folder somewhere else before deleting the other folders.

If persistent storage is embedded in the installation directory, for example, in the default TarPM installation, deleting folders removes data as well.

If your installation of CRX uses external storage, for example, a database server, removing folder does not remove the data automatically, but it does remove the storage configuration, which makes restoring the JCR content difficult.

CRX starts, but the crx-quickstart folder is missing

In most cases, the crx-quickstart subfolder is created in the folder, where the quickstart .jar file is located. Quickstart creates this folder as a subfolder of the current working directory of the Java process running the CRX instance.

In some cases it's possible that the Java process is started in a different directory than the quickstart .jar file. It might happen, e.g., when the quickstart file is double clicked, and the operating system desktop is configured to open .jar files with Java somewhere else, e.g., in the home folder of the current user. In this case, the crx-quickstart will be located there.

This can be avoided by running CRX from the command line or from the startup scripts, or by reconfiguring the launching mechanizm for the .jar files in the operating system desktop settings.

Note

Please check the CRX Knowledge Base for further information.

Uninstalling CRX

Because CRX installs only into a directory, there is no need for an uninstall utility. Uninstalling is as simple as deleting the entire installation directory, although how you uninstall CRX depends on what you want to achieve and what persistent storage you use.

Note

Day highly recommends that you back up your repository before deleting CRX. If you delete the entire <crx-installation-directory>, you will delete the repository. To keep the repository data before deleting, move or copy the crx-quickstart/repository folder somewhere else before deleting the other folders.

If persistent storage is embedded in the installation directory, for example, in the default TarPM installation, deleting folders removes data as well.

If your installation of CRX uses external storage, for example, a database server, removing folder does not remove the data automatically, but it does remove the storage configuration, which makes restoring the JCR content difficult.


Your comments are welcome!
Did you notice a way we could improve the documentation on this page? Is something unclear or insufficiently explained? Please leave your comments below and we will make the appropriate changes. Comments that have been addressed, by improving the documentation accordingly, will then be removed.

COMMENTS

  • By Rachael Hawkins - 9:26 PM on Dec 10, 2010   Reply
    I'm looking for some addtional details on CQSE 4. Particularly:
    * what frameworks/standards has it been built upon
    * does Day recommend it over 3rd party tools (particularly Tomcat)
    * pros/cons of CQSE over 3rd party tools (again, Tomcat)
    Thanks!
    • By Greg Klebus - 10:24 AM on Jan 05, 2011   Reply
      CQSE is a servlet engine built by Adobe/Day to support the out-of-the-box deployments of CQ & CRX. It basically implements servlet specification (version 2.4 as of CRX 2.1).

      We generally recommend to use CQSE (and the default installation) unless there is a good reason to choose other application server (servlet container), e.g., company IT policy. The main advantage of CQSE is that it provides the best integration of out-of-the-box deployment features (installation, etc); it's also been chosen by the vast majority of our customers. Other supported application servers also work of course.

      Hope that helps.
    • By sam schalley - 7:04 PM on Feb 17, 2011   Reply
      Noticed there's a "-fork" input parameter for startup. At least the server outputs info regarding a -fork input parameter. Is it possible to set this parameter when using "java -jar" from the command line? I've tried several different times without any luck.
      • By phool chandra - 6:01 PM on Mar 11, 2011   Reply
        good startup..............
        • By rajc - 5:13 PM on Mar 17, 2011   Reply
          after installing the CRX 2.2 within TomCat 6. i am unable to create a new project.
          i am getting 404 not found error. "Please check that all necessary bundles are installed!"

          i have uploaded the initial and installed content packages.
          am i missing something?
          • By alvawb - 5:18 PM on Sep 08, 2011   Reply
            After what step are you getting stuck? Looking at the error logs may help. You may want to post the specifics of what you were doing to day-communique (at) googlegroups (dot) com.
            • By smixe - 2:36 PM on Apr 25, 2012   Reply
              i'm having the same issue ...
              • By alvawb - 2:53 PM on Apr 30, 2012   Reply
                Please post details of what you're trying to troubleshoot (including any error logs) to our dedicated CQ5 user forum at http://forums.adobe.com/community/digital_marketing_suite/cq5.
          • By Igor - 3:31 PM on Dec 01, 2011   Reply
            Upon installation via Package Manager there is the option to specifiy to overwrite the ACL with those defined in the package - is this option also avialable via Auto Installer?
            <Module class="com.day.crx.vlt.AutoInstaller">
            ...
            </Module>?
            • By jkautzma - 8:09 AM on Dec 05, 2011   Reply
              No, this is currently not possible. The AC import options that are used are the one that are defined in the properties.xml in the package.
              • By Igor - 9:02 AM on Dec 07, 2011   Reply
                Currently implies some kind of "may be in a later release"? ;)

                But anyway: thanks for the reply!
            • By mv - 9:38 PM on Dec 12, 2011   Reply

              I tried to create a separate workspace to use MySql persistence manager. Following is my workspace.xmlfile
              <?xml version="1.0" encoding="UTF-8"?>
              <Workspace name="mysqlworkspace" simpleLocking="true">
              <!--
              virtual file system of the workspace:
              class: FQN of class implementing FileSystem interface
              -->
              <!--
              <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
              <param name="path" value="${wsp.home}"/>
              </FileSystem>
              -->
              <FileSystem class="com.day.crx.core.fs.db.DbFileSystem">
              <param name="driver" value="com.mysql.jdbc.Driver"/>
              <param name="url" value="jdbc:mysql://localhost:3306/crx"/>
              <param name="user" value="root"/>
              <param name="password" value="crx"/>
              <param name="schema" value="crx"/>
              <param name="schemaObjectPrefix" value="rep_"/>
              </FileSystem>
              <!--
              persistence manager of the workspace:
              class: FQN of class implementing PersistenceManager interface
              -->
              <!--<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager"/>-->
              <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager">
              <param name="driver" value="com.mysql.jdbc.Driver"/>
              <param name="url" value="jdbc:mysql://localhost:3306/crx"/>
              <param name="user" value="root"/>
              <param name="password" value="crx"/>
              </PersistenceManager>

              <!--
              Search index and the file system it uses.
              -->
              <SearchIndex class="com.day.crx.query.lucene.LuceneHandler">
              <param name="path" value="${wsp.home}/index"/>
              <param name="resultFetchSize" value="50"/>
              </SearchIndex>

              <!--
              Workspace security configuration
              -->
              <WorkspaceSecurity>
              <AccessControlProvider class="org.apache.jackrabbit.core.security.authorization.acl.ACLProvider">
              <param name="omit-default-permission" value="true"/>
              </AccessControlProvider>
              </WorkspaceSecurity>

              <!--
              XML Import configuration of the workspace
              -->
              <Import>
              <ProtectedItemImporter class="org.apache.jackrabbit.core.xml.AccessControlImporter"/>
              <ProtectedItemImporter class="org.apache.jackrabbit.core.security.user.UserImporter">
              <param name="importBehavior" value="besteffort"/>
              </ProtectedItemImporter>
              </Import>
              </Workspace>

              ----------------------------------------------------------------------------------------------------------------
              I am getting following exception
              org.apache.jackrabbit.core.config.ConfigurationException: Configured bean implementation class com.day.crx.core.fs.db.DbFileSystem was not found.
              at org.apache.jackrabbit.core.config.BeanConfig.newInstance(BeanConfig.java:217)
              at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$6.getFileSystem(RepositoryConfigurationParser.java:1056)
              at org.apache.jackrabbit.core.config.WorkspaceConfig.getFileSystem(WorkspaceConfig.java:184)

              ----------------------------------
              I am using CQ5.4.




              • By jkautzma - 11:22 AM on Dec 13, 2011   Reply
                Hi, to help you debug this issue, we suggest to post your details to the following mailing-list:
                day-communique (at) googlegroups (dot) com
              • By Sam - 1:34 AM on Apr 28, 2012   Reply
                Trying to install CRX 2.3 on tomcat
                java -jar crxxxx.jar -unpack is not creating war files. There is no server directory created in crx quick start
                • By alvawb - 2:51 PM on Apr 30, 2012   Reply
                  Please post your problem and any associated logs to our dedicate user forum at http://forums.adobe.com/community/digital_marketing_suite/cq5.
                • By SAM - 1:37 AM on Apr 28, 2012   Reply
                  Is this 2.3 documentation or 2.2 documentation. Looks like 2.2 copied under 2.3 section with no modification.
                  • By Alexandre COLLIGNON - 10:28 AM on Apr 30, 2012   Reply
                    Hi Sam,
                    This is the CRX 2.3 documentation (as you can see in the breadcrum on the top of the page). The CRX 2.2 documentation can be found here http://dev.day.com/docs/en/crx/2-2.html. Even if the two documentations look similar now, modification can be done in the future so I encourage you to read the documentation related to your CRX version. Thank you for your feedback.

                    Alex
                  • By slb - 3:32 AM on Aug 13, 2012   Reply
                    I am trying to get quickstart working on my desktop win7. I have JRE 1.6 (java 6 update 33) and JAVA_HOME, Path variables are set correctly.

                    I have created a folder called "author" and inside that I have placed the jar file and license file.
                    I renamed the jar file to "cq5-author-p4502.jar".

                    When I double click, the popup gets stuck half way saying "Starting Quickstart on port 4502". When I checked the logs, in stderr.log, I see an error "Can't load http root property: java.io.FileNotFoundException: E:\author\crx-quickstart\conf\sling.properties (The system cannot find the file specified)".. The file pretty much exists in that path.

                    Bundle information: 122 bundles in total, 64 bundles active, 3 active fragments, 2 bundles resolved, 53 bundles installed

                    I don't know whats wrong. I am stuck since 2 days. Can somebody help me with this?

                    Thanks in advance.
                    slb
                    • By Alexandre COLLIGNON - 9:32 AM on Aug 17, 2012   Reply
                      Hi Slb,
                      Please post your problem and any associated logs to our dedicate user forum at http://forums.adobe.com/community/digital_marketing_suite/cq5.
                      Hope that helps, Alex.

                    ADD A COMMENT

                     

                    In order to post a comment, you need to sign-in.

                    Note: Customers with DayCare user accounts need to create a new account for use on day.com.

                    ***