eXo Platform is packaged as a deployable enterprise archive, per the Java EE specification, and as a configuration directory.
The easiest way to install eXo Platform is to take the default bundle. This is a ready-made package on top of Tomcat 6 application server, so you simply need to copy the bin/tomcat6-bundle/ directory to your server.
eXo Platform leverages the application server on which it is deployed. This means, to start and stop eXo Platform, you only need to start and stop your application with the default commands.
On Linux and OS X:
$TOMCAT_HOME/bin/gatein.sh run
On Windows:
%TOMCAT_HOME%\bin\gatein.bat run
The server has started when you see the following message in your log/console:
INFO: Server startup in 353590 ms
On Linux and OS X:
$TOMCAT_HOME/bin/shutdown.sh
On Windows:
%TOMCAT_HOME%\bin\shutdown.bat
The server has stopped when you see the following message in your log/console:
INFO: Stopping Coyote HTTP/1.1 on http-8080
eXo comes with several builtin startup scripts :
gatein.sh : start eXo on Linux and OS X
gatein.bat : start eXo on Windows
gatein-dev.sh : start eXo on Linux and OS X in developer mode
gatein-dev.bat : start eXo on Windows in developer mode
The normal mode starts 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
-Xms | Minimal heap size (defaults to 256 MB) |
-Xmx | Maximal Heap Size of (defaults to 1 GB) |
-Djava.security.auth.login.config
| path to the JAAS security file where the security domains are and JAAS authentication modules are declared |
-Dexo.conf.dir.name | path where eXo will start looking at configuration.properties and configuration.xml |
-Dexo.profiles | the list of comma-separated exo profiles to activate |
This is enough to start and run a demo, but you will need to adjust these values for a production setup.
The developer mode scripts add a few more 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
-Dcom.sun.management.jmxremote | activates the JMX remoting |
-Xdebug Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
| enables remote debugging |
-Dorg.exoplatform.container.configuration.debug | the container will log to the console what xml files it loads |
-Dexo.product.developing=true | desactivates javascript and css merging for easier debugging |
By passing -Dexo.profiles=p1,p2,p3..., you can enable modules.
You can enable/disable select modules if they are not in use.
collaboration: enables eXo Collaboration module
knowledge: enables eXo Knowledge module
social: enables eXo Social module
workflow: enables the Workflow add-on within the eXo Content module
Additionally, you can use these profiles:
minimal: contains GateIn + WCM
default: contains all except workflow (gatein,ide,wcm,collaboration,social,knowledge)
all: all available modules
Profiles are pluggable, so you can combine them together to shape eXo Platform to your needs. e.g : -Dexo.profiles=default,workflow will take the default profile and workflow