|
|
Installing CRX
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.
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.
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:
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. |
This chapter covers the technical issues of:
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 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:
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).
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 9.0 |
A: Supported |
| Microsoft Internet Explorer 8.0 |
A: Supported |
| Microsoft Internet Explorer 7.0 |
A: Supported |
| Mozilla Firefox 12 |
A: Supported
|
| Mozilla Firefox 10.0.x |
A: Supported |
| Mozilla Firefox 3.6.x |
E: Expected to work |
| Google Chrome 18 |
E: Expected to work |
| Apple Safari 5.1 |
E: Expected to work |
This section provides special notes and more detailed information about running CRX on certain platforms.
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.
Windows Vista
Windows Vista requires SP2 to connect to WebDAV.
To successfully connect with Vista SP2, basic authentication for webclients must be enabled. This requires a change in the windows registry to enable basic authentication on the client computer:
- Locate the registry subkey:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
- Add the BasicAuthLevel registry entry to this subkey using a value of 2 or more.
See Microsoft Support KB 841215.
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.
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.
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 with an application server. Consult the Supported Platforms section to see the specific support levels provided for the individual application servers.
The generic procedure details the actions common to (and referenced in) the installation procedures for:
After installation you can install further content packages if required.
Consult the appropriate application server documentation for more information on installing web applications.
Note
The naming convention used here for the CRX quickstart file is:
crx-<version>-<edition>.jar.
For example, crx-2.1.0-enterprise.jar, where 2.1.0 would be the <version> and enterprise the name of the <edition>. The version might also include a datestamp.
Be sure to substitute the version and name of your edition of CRX wherever appropriate.
Generic Procedure for Installing CRX with an Application Server
This section provides generic information about installing CRX with an application server.
The procedure (with minor deviations) is used for all web servers and is referenced from the instructions provided for the individual web servers.
After having installed the application server, install CRX as follows:
Unpack the quickstart jar file without starting the installation.
To do this start the CRX Quickstart jar with the option -unpack by typing, for example:
java -jar crx-<version>-<edition>.jar -unpack
This creates a folder <crx-installation-dir>/crx-quickstart containing the files and folders used for installation.
Note
You must start CRX from the command line.
If you open the jar file directly, you activate the Quickstart installation and start the server.
Stop your web application server (if running).
Copy the following two jar files:
- <crx-install-dir>/crx-quickstart/server/lib/container/jcr-2.0.jar
- <crx-install-dir>/crx-quickstart/server/lib/container/crx-shared.jar
to the application server folder that holds the shared libraries (shared by all applications deployed to the server).
Restart your web application server.
Deploy the following web applications:
- CRX webapp: crx-explorer_crx.war
It is recommended to deploy it with the context path /crx
- Launchpad webapp: crx-launchpad.war
It is recommended to deploy with the context path /
These can be found in <crx-installation-dir>/crx-quickstart/server/webapps
-
Start the two applications.
Register your CRX license:
- Access your CRX installation:
http://<server>:<port>/crx/index.jsp
- Enter the serial number.
Follow the Generic Procedure for Installing Content Packages to install CRX's initial content package (using the CRX Package Manager to Upload then Install the package):
<crx-install-dir>/crx-quickstart/repository/install/crx-initial-content-<version>.zip
Without this package, the CRX Launchpad instance is not a fully functional sling instance as it misses application bundles, initial content, welcome page and other elements.
Generic Procedure for Installing Content Packages
After you have installed CRX, you should install the CRX initial content package first. That ensures that your CRX instance is fully functional (welcome page, example applications, support for CRX IDEs, etc). The content package is available in the following location:
- <crx-install-dir>/crx-quickstart/repository/install/crx-initial-content-<version>.zip.
After that, you can install any additional content packages you may have; for example, your Sling application, project content, amongst others.
To install content packages follow the procedure below:
Note
Starting and stopping web applications is specific to your application server.
Please refer to the documentation of the individual application server.
Stop the following web application in your application server:
- / (the CRX Launchpad application)
Navigate to the Package Manager in CRX:
- http://<server>:<port>/crx/packmgr/index.jsp
Log in to the appropriate workspace (usually the default workspace, crx.default).
Use the CRX Package Manager to Upload then Install the CRX package(s). Alternatively, you can use Package Share to access and download packages to your local instance, and then install them.
Start the following web application in your application server:
- / (the CRX Launchpad application)
Confirm the operation of CRX.
Note
If you experience any problems, please restart CRX to ensure that all bundles are correctly started.
Installing CRX with WebSphere v6.1
To install CRX with WebSphere v6.1 you:
- install Websphere
- install CRX
- configure the default JDK
Configuring the default JDK
WebSphere v6.1 uses JDK 1.5. By default, the SAMLv2 JSP JDK source level uses JDK 1.3. As the SAMLv2 sample configuration uses the JDK 1.5 syntax, running it with the default source level will not work.
Use the following steps to configure the source level as 1.5:
Within the deployed crx-explorer_crx.war, edit ibm-web-ext.xmi and add the following configuration parameter to specify the JSP engine:
<jspAttributes xmi:id="JSPAttribute_1225281520121" name="jdkSourceLevel" value="15"/>
Note
Note: The integer (n) referenced in JSPAttribute_<n> must be unique within the file.
Repeat for crx-launchpad.war.
Note
The default configuration directory for the web module is:
<WebSphere-installation-dir>/profiles/profilename/config/cells/cellname/applications /enterpriseappname/deployments/deployedname/webmodulename/
If you have already checked the option Use Binary Configuration the files are extracted to the following directory, where they can be edited:
<WebSphere-installation-dir>/profiles/profilename/installedApps/nodename/enterpriseappname/webmodulename/
Where <WebSphere-installation-dir> is the root directory of the web application server installation.
Installing CRX with WebLogic v10.3
To install CRX with WebLogic 10.3 you:
- install WebLogic
- configure the server locale
- enable Basic Authentication Headers (to allow user authentication in CRX)
- install CRX
Note
CRX deployment on an Oracle WebLogic application server requires version 10.3.0 or version 10.3.3 or later. A CRX deployment in WebLogic versions 10.3.1 or 10.3.2 does not work.
Configuring the Server Locale
After installing WebLogic v10.3 (for use with CRX), you must set the server locale to en_US to avoid errors such as:
java.lang.IllegalArgumentException: Bad date header: 'We 16:34:28 GMT'
These can occur when, for example, requesting a resource such as /libs/widgets/0.gif.
To configure the server locale on Microsoft Windows:
-
Open Regional and Languages Options.
In the Regional Options tab, for Standards and formats select English (United States).
To configure the server locale on Linux or Unix:
Set the environment variable LANG to en_US.
Enable Basic Authentication Headers
To enable out-of-the-box authentication of users in CRX, authentication by the application server must be switched off:
Open <WebLogic-installation-dir>/user_projects/domains/<myDomain>/config/config.xml.
Locate the element <security-configuration>.
Add the following child element to it:
<enforce-valid-basic-auth-credentials>
false
</enforce-valid-basic-auth-credentials>
If you had already started WebLogic then you will need to restart it.
Installing CRX with Tomcat v6
To install CRX with Tomcat v6 you:
- install Tomcat
- configure Tomcat access accounts
- install CRX
Configuring Tomcat access accounts
After installing Tomcat v6, you must configure the access accounts as Tomcat enables neither admin nor manager access at installation. This must be manually enabled:
Navigate to the Tomcat configuration folder.
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>
Installing CRX with JBoss v4 or v5
To install CRX with JBoss v4 or v5 you:
- install JBoss
- install CRX
- configure the JBoss Server Login Module
Note
When deploying the web applications in JBoss 5, there is a conflict between xml-apis and xercesImpl bundled with Jackrabbit and Jboss libraries.
Therefore, the following workaround is required:
1. Before deploying the CRX war it should be unpacked.
2. WEB-INF/lib/{xml-apis-1.3.x.jar,xercesImpl-2.8.x.jar} removed.
3. Then repacked and deployed as specified.
Configuring the JBoss Server Login Module
By default JBoss' default login configuration attempts to authenticate users against a list of users in the users.properties file. You must configure JBoss as follows to let login attempts by unknown users pass to the web application (CRX Explorer). The web application then processes authentication by itself.
Open JBOSS_HOME/server/default/conf/login-config.xml for editing.
In the section application-policy name="other" (at the bottom of the file) add the attribute unauthenticatedIdentity="nobody" to the login-module entry.
Additional Configuration Required when not using Default Contexts
Day recommends installing the product web applications under the default contexts (/ and /crx). If there are reasons why this is not possible (operations, deployment, etc), you can also deploy the web applications under other contexts.
You will need the following additional configuration step(s) if you do not use the default contexts (/ and /crx) for the webapps. The description below assumes that crx-launchpad.war is deployed into /launchpad, and crx-explorer_crx.war into /daycrx).
The action to be taken depends on whether you will be using CRXDE or CRXDE Lite:
- CRXDE Lite:
Edit the configuration file WEB-INF/web.xml, of the CRX web application deployed to your application server. Configure the required launchpad context in the JCRExplorer servlet section:
<init-param> <param-name>launchpad.ctx.path</param-name> <param-value>/launchpad</param-value> <description>Context path of the launchpad</description> </init-param>
The location of the WEB-INF/web.xml configuration file is specific to the application server and its configuration, please consult the relevant third-party documentation.
- CRXDE:
Reconfigure the URL for the CRX server endpoint. See Changing the CRX Server Endpoint for instructions.
You have to log in to CRXDE with the URL appropriate to your launchpad web application; for example, http://<server>:<port>/launchpad
Verifying the Installation
The following links can be used to verify that the installation is operational (all examples on the basis that the instance is running on port 8080 of the localhost, CRX is installed under /crx, and Launchpad under /):
- http://localhost:8080/crx/
The CRX administration Console.
- http://localhost:8080/crx.html
The CRX Welcome screen.
- http://localhost:8080/crx/de/
The CRXDE Lite console.
- http://localhost:8080/system/console
The Apache Felix Web Console.
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-2.0-enterprise.jar -unpack. Doing so unzips the distribution, where the default setup with TarPM is used for the crx.default workspace.
- Prepare the war file, so that you can edit it. See How to Edit Repository Settings - In the Configuration Files.
- 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.
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:
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).
Create a new file (in <crx-installation-dir>):
With the following entries:
| |