Hi,

This is a guide on running Tomcat (5.0.27) under Kaffe (1.1.4PRE1.1.5-11) currently in Debian unstable.


* Install kaffe and any compiler from Debian unstable * # apt-get install -t unstable kaffe jikes-kaffe

* Download Tomcat 5.0.27 from apache *

* Make sure JAVA_HOME points to kaffe *
[EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ echo $JAVA_HOME
/usr/lib/kaffe/

* Since kaffe does not come with mx4j, we have to use the one distributed with tomcat by editing bin/catalina.sh . *
[EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ diff -u bin/catalina.sh-old bin/catalina.sh
--- bin/catalina.sh-old 2004-06-18 09:00:14.000000000 +0800
+++ bin/catalina.sh 2004-07-16 23:10:41.000000000 +0800
@@ -101,6 +101,7 @@
if [ -n "$JSSE_HOME" ]; then
CLASSPATH="$CLASSPATH":"$JSSE_HOME"/lib/jcert.jar:"$JSSE_HOME"/lib/jnet.jar:"$JSSE_HOME"/lib/jsse.jar
fi
+CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/jmx.jar
CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/commons-logging-api.jar



* Since somewhere in Coyote javax.security.auth is refered but not used, a dummy class is created to make the class loadable. *
if [ -z "$CATALINA_BASE" ] ; then
[EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ echo "package javax.security.auth; public class Subject {}" > Subject.java
[EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ jikes-kaffe Subject.java -d common/classes/



* Run tomcat now. * [EMAIL PROTECTED]:~/jakarta-tomcat-5.0.27$ bin/catalina.sh run Using CATALINA_BASE: /home/sltam/jakarta-tomcat-5.0.27 Using CATALINA_HOME: /home/sltam/jakarta-tomcat-5.0.27 Using CATALINA_TMPDIR: /home/sltam/jakarta-tomcat-5.0.27/temp Using JAVA_HOME: /usr/lib/kaffe


* Discussion *

Wait for a few seconds and http://localhost:8080/ should be ready.

To access the tomcat admin/manager, add a user into conf/tomcat-users.xml to "admin" and "manager" group respectively and restart the server.

To access the tomcat5 admin, install libcommons-beanutils-java, libcommons-digester-java.jar and libstruts-1.1-java and symlink the respective jar files into common/lib.

If you want to see the logs from catalina:
$ export JAVA_OPTS="-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog"
I have no idea why this is not the default, but anyway it works.



* Remarks *

A screenshot of the manager interface is attached.

If you don't like the commons-dbcp (>= 1.2.1), commons-pool (>= 1.2) and (commons-logging >= 1.0.4) dependency, which is not available even in Debian unstable, you can also try tomcat 5.0.25 and it should also works as expected.

I suppose all components in this installation are free (javax.security.auth.* should be stubbed somehow), and most of them has been reported to compile under kaffe/sablevm. It is just a matter time until we see all of them available in main.

Thanks folks from Debian, Kaffe and GNU for your great work!

--
Regards,
Alan

<<inline: SCREEN.PNG>>

Reply via email to