eXo Platform is packaged as a deployable enterprise archive defined by the Java EE specification, and as a configuration directory. In this chapter, you will see the following topics:

The easiest way to install eXo Platform is to take the default bundle. This is a ready-made package on top of the Tomcat 6 application server, so you first need to copy the bin/tomcat6-bundle/ directory to your server. Next, do the following steps:

1. Start up the server.

eXo Platform leverages the application server on which it is deployed. This means that you only need to start and stop your application with the default commands.

The server is started successfully when you see the following message in your log/console:

INFO: Server startup in 353590 ms

2. Shut down the server.

If you receive the message when you try to stop Tomcat as below, you must stop Tomcat by pressing Ctrl+C or by killing with the -9 command. To perform the kill action automatically, you can run stop_eXo.sh -force that is only available on Linux and OS X systems.

Tomcat did not stop in time. The PID file was not removed.

The server has been stopped successfully when you see the following message in your log/console:

INFO: Stopping Coyote HTTP/1.1 on http-8080

3. Start up eXo Platform by running one of the following built-in startup scripts.

In the normal mode, the start_eXo scripts launch eXo Platform with the following JVM options:

-Xms256m 
-Xmx1024m 
-XX:MaxPermSize=256m 
-Djava.security.auth.login.config=../conf/jaas.conf  
-Dexo.conf.dir.name=gatein/conf 
-Dexo.profiles=default

Details:

-Xms Minimal Heap Size (defaults to 256 MB).
-Xmx Maximal Heap Size (defaults to 1 GB).
-Djava.security.auth.login.config Path to the JAAS security file where the security domains and JAAS authentication modules are declared.
-Dexo.conf.dir.name Path where eXo Platform will start looking at configuration.properties and configuration.xml.
-Dexo.profiles List of comma-separated profiles of eXo Plaform to activate.

In the developer mode, the gatein-dev scripts launch eXo Platform in the developer mode with a few JVM options.

-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 
-Dcom.sun.management.jmxremote 
-Dorg.exoplatform.container.configuration.debug 
-Dexo.product.developing=true 

Details:

-Dcom.sun.management.jmxremote Activate the remote JMX monitoring.
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n Enable the remote debugging.
-Dorg.exoplatform.container.configuration.debug The container will log in to the console which the .xml file loads.
-Dexo.product.developing=true Deactivate Javascript and CSS merging for debugging more easily. Next, activate a special language called Magic Locale "ma" showing the property keys instead of the translations.

Now, you can start and run the eXo Platform demo, but you will need to adjust these values for a production setup.

eXo Platform provides EARs packages to deploy in your existing JBoss application server. They are located in the bin/jboss5-eap-ears/ folder.

To install eXo Platform on JBoss, follow these steps:

1. Copy the following files to jboss-root/server/default/deploy.

2. Create the jboss-root/server/default/conf/gatein and then copy these files to this folder.

3. Copy this file to jboss-root/server/default/conf/gatein/gadgets.

4. Configure the JVM parameters.

On Linux, add these lines to the end of jboss-root/bin/run.conf:

Adapt to your needs:

5. Add the eXo Platform logging categories to jboss-root/server/default/conf/jboss-log4j.xml.

6. Start up the server.

The server is started successfully when you see the following message in your log/console:

INFO [org.jboss.bootstrap.microcontainer.ServerImpl] (main) JBoss (Microcontainer) [5.0.1 (build: ...)] Started in 3m:29s:259ms

7. Shut down the server.

The server has been stopped successfully when you see the following message in your log/console:

INFO  [org.jboss.bootstrap.microcontainer.ServerImpl] (JBoss Shutdown Hook) Shutdown complete