Title: Application containers
Notice: Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
The default distribution of Apache Rave contains Apache Tomcat 6 as application server.
For local development the [Cargo Maven 2 plugin][1] is configured to use Tomcat 6.
Apache Rave should work with other application containers as well, but sometimes extra configuration is necessary. If your application container isn't mentioned on this page, it only means we have not tested it yet.
## Custom Apache Tomcat 6 installation
To install Apache Rave inside an existing Tomcat 6 instance, make the following changes:
### Increase memory
Create `bin/setenv.sh` with the following contents:
#!/bin/sh
export JAVA_OPTS="$JAVA_OPTS -Xmx512m -XX:MaxPermSize=256m"
### Add more sources for the classpath
Modify conf/catalina.properties
common.loader=${catalina.base}/common/classes,${catalina.base}/common/lib/*.jar,${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
### Delete default contexts
In the webapp folder delete existing `ROOT` and `docs` folders. The OpenSocial container (Shindig) needs the `ROOT` context.
### Copy artifacts
Copy the `shared/lib` folder plus the contents of the `webapp` folder to your Tomcat installation.
## Apache Tomcat 7
See the instructions for Tomcat 6.
## Jetty 6
### Welcome page redirect
Apache Rave works with Jetty 7, but extra configuration is needed to redirect the user from `http://localhost:8080` to the login page on `http://localhost:8080/portal/login`.
By default Jetty [uses the `JspServlet`][2] for the welcome page, Apache Rave uses `org.springframework.web.servlet.DispatcherServlet` from the Spring Framework.
In order to let Jetty use the DispatcherServlet:
* Modify the `webdefault.xml`
* Go to entry for the servlet org.eclipse.jetty.servlet.DefaultServlet
* Change the value of the init parameter `welcomeServlets` to `true`.
### Root context for Apache Shindig
The OpenSocial container (Apache Shindig) runs under the root context. In Jetty 6 extra configuration is needed for the root context.
Add a `root.xml` to the contexts folder which will have a simple context defined for Shindig with the following entries:
/
/webapps/root
## Jetty 7
The [Welcome page redirect](#jetty-welcome-page) configuration is also needed for Jetty 7. Jetty 7 does not need the extra configuration for the root context.
[1]:http://docs.codehaus.org/display/JETTY/Welcome+files+not+working
[2]:http://cargo.codehaus.org/Maven2+plugin