Depending on the type of application server Lambda Probe is being installed on the installation procedure will differ. There are two types of application servers that are supported:
Installing on Apache Tomcat
Lambda Probe requires privileged context. Depending on your preferred way of deploying WARs such context would either be installed automatically or manually. In any case you can find sample context.xml inside probe.war in META-INF directory. Various installation procedures are outlined below.
Installation using Tomcat Manager (recommended)
- Download Lambda Probe .war file
- Start Tomcat and go to Manager url (ex. http://localhost:8080/manager/html)
- Upload probe.war using "WAR file to deploy" option
Installing manually
- Download Lambda Probe .war file
- Shutdown Tomcat if it is running
- Copy probe.war to $CATALINA_HOME/webapps/
- Start Tomcat
Custom installation
If your Tomcat installation is customized and you would like to deploy probe.war completely by hand please do not forget to include privileged="true" in the context XML file. Here is a sample context XML:
Lambda Probe does not need any other configuration parameters, so you could use this example as is.
Security configuration
Lambda Probe requires four security roles to be declared: manager, poweruser, poweruserplus and probeuser. By default Tomcat roles are configured via tomcat-users.xml file. Structure of that file is quite self explanatory.
manager is the same role as required by Tomcat Manager. This role is given full access to Lambda Probe functionality
poweruser role has the same privileges as manager except for deploying and removing applications and monitoring Tomcat via "quick check" feature
poweruserplus role has the same privileges as poweruser plus ability to restart JVM.
probeuser is the least privileged role of the three and it is restricted to read-only functionality. Features like application stop/start, datasource reset would not be available
Intalling on JBoss
Security configuration
Create two files in "JBOSS_SERVER_HOME/conf/props" directory:
probe-users.properties: list of users in the format of "username=password", example:
probe-roles.properties: list of roles in the format of "username=role1[,role2...], example:
Edit "JBOSS_SERVER_HOME/conf/login-config.xml" and add the following code to the <policy> element:
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag = "required">
<module-option name="usersProperties">props/probe-users.properties</module-option>
<module-option name="rolesProperties">props/probe-roles.properties</module-option>
</login-module>
</authentication>
</application-policy>
Privileged context
JBoss needs to allow Lambda Probe to be deployed into a privileged context. To do that add the following attribute to JBOSS_SERVER_HOME/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml:
Deploying Lambda Probe WAR
Copy probe.war to JBOSS_SERVER_HOME/deploy/ and restart JBoss. That is it.
Known issues
JBoss 4.0.3 log4j configuration file is not compatible it seems with log4j 1.2.13, which comes with the Probe. For this reason there is a special distribution that does not include log4j.
JBoss 3.2.8SP1 has a bug, which does not let Lambda Probe to restart applications. The bug had been reported to JBoss and has already be assigned to a developer; lets hope it'll get fixed soon. Please do not report this issue to me.
