Friday, March 16, 2012

How to Deploy Apache Airavata on Tomcat

Applies to
  • Airavata Trunk - apache-airavata-0.3-incubating-SNAPSHOT.zip
  • Axis version - Axis2 1.5.1.war
  • Jackrabbit version - jackrabbit-webapp-2.4.0.war
  • Tomcat version - apache-tomcat-7.0.23
Airavata services depends on Apache Axis2 as a Web Service engine. In order to deploy Airavata system on Tomcat, you need to deploy Apache Axis2 on Tomcat first.

1) Copy all the service jar files in AIRAVATA_HOME/standalone-server/repository/services/ directory to Tomcat axis2 services directory(TOMCAT_HOME/webapps/axis2/WEB-INF/services)

2) Copy all the dependent jars (copy all the jars in AIRAVATA_HOME/lib and AIRAVATA_HOME/standalone/lib ) to TOMCAT_HOME/webapps/axis2/WEB-INF/lib.

3) Copy the properties files for messageBox (msgBroker.properties) and messageBroker (msgBroker.properties) to TOMCAT_HOME/webapps/axis2/WEB-INF/classes/conf/. These properties files can be found in AIRAVATA_HOME/standalone-server/conf directory.

4) Copy the properties files for GFac Service (repository.properties) and Interpretor Service (xbaya.properties) to TOMCAT_HOME/webapps/axis2/WEB-INF/lib/ directory. These properties files can be found in AIRAVATA_HOME/standalone-server/conf directory.

i) Based on your setup configure the GSI security credentials and certificate paths in the repository.properties file.

ii) Fill up the following property names values in your xbaya.properties file based on your gsi security credentials.
eg : myproxy.user
myproxy.password

NOTE: keep the same repository.properties file in TOMCAT_HOME/bin directory too. This issue will be fixed in later release.

4) Download and copy a database library (Apache Derby or MySql) to webapps/axis2/WEB-INF/lib directory.
eg: derby-10.7.1.1.jar
derbytools-10.7.1.1.jar

5) Copy directory AIRAVATA_HOME/standalone-server/bin/database_scripts to TOMCAT_HOME/webapps/axis2/WEB-INF/classes/database_scripts directory.

6) Now we have configured a Tomcat instance to run Airavata Services. Next is to deploy Jacrabbit instance on a separate Tomcat instance(I'm referring it's home directory as TOMCAT_HOME2).

7) Deploy Jackrabbit on Tomcat

i) Download jcr-2.0.jar and put it into TOMCAT_HOME2/webapps/jackrabbit-webapp-2.4.0/WEB-INF/lib/.

ii) Get the WAR distribution from the Downloads page and deploy it into Tomcat.

iii) Make sure to change and configure the ports by editing TOMCAT_HOME2/conf/server.xml file.

8) Now startup the Jacrabbit deployed Tomcat instance.

9) Startup the Tomcat instance with Airavata services.

10) Go to service listing page and check the service status. If there are no faulty services, then you have done the setup properly.

No comments: