Xindice Tomcat How-To
Intended audience
This How-to is aimed at developers or administrators who want to install Xindice with Tomcat.
Prerequisites
The most important prerequisite is patience. Take lots of deep breaths. It will work. It just might take some time.
Steps
Copy the WAR file
If you've followed the prerequisites, then you will have a working version of Tomcat installed, and the sources of Xindice compiled. Now, copy the xindice-*.war file from dist to the %CATALINA_HOME%/webapps.
Here's what that looks like in Windows:
D:\xindice\current\xml-xindice>dir dist Volume in drive D is Data Volume Serial Number is A3EB-9689 Directory of D:\xindice\current\xml-xindice\dist 01/01/2004 03:34 PM <DIR> . 01/01/2004 03:34 PM <DIR> .. 01/01/2004 03:34 PM 464,594 xindice-1.1b3.jar 01/01/2004 03:35 PM 4,313,587 xindice-1.1b3.war 01/01/2004 03:34 PM 253 xindice-1.1b3.xml 3 File(s) 4,778,434 bytes 2 Dir(s) 42,307,837,952 bytes free D:\xindice\current\xml-xindice>copy dist\xindice-1.1b3.war %CATALINA_HOME%\webapp s\xindice.war 1 file(s) copied. D:\xindice\current\xml-xindice>
If you are using Linux, your session might resemble:
root@gogo:/local/xml-xindice# ls -oa dist total 4668 drwxr-xr-x 2 root 4096 Nov 25 20:10 . drwxr-xr-x 13 root 4096 Nov 25 00:01 .. -rw-r--r-- 1 root 464594 Jan 1 15:34 xindice-1.1b3.jar -rw-r--r-- 1 root 4313587 Jan 1 15:35 xindice-1.1b3.war -rw-r--r-- 1 root 253 Jan 1 15:34 xindice-1.1b3.xml root@gogo:/local/xml-xindice# cp dist/xindice-1.1b3.war $CATALINA_HOME/webapps/xindice.war root@gogo:/local/xml-xindice#
Edit the Tomcat's server.xml File (Optional)
Tomcat will automatically deploy copied war file with the default settings. To modify those defaults, CATALINA_HOME/conf/server.xml file should be edited. Suggested changes for the server.xml file are contained in the XINDICE_HOME/dist/xindice-1.1b3.xml file.
Restart Tomcat
Restart your Tomcat server to be certain that it picks up the Xindice servlet. This step is required if you have edited CATALINA_HOME/conf/server.xml file. In other cases, it is usually not required.
Here's what that looks like in Windows
D:\xindice\current\xml-xindice>cd %CATALINA_HOME%\bin D:\jakarta-tomcat-4.1.12\bin>startup Using CATALINA_BASE: D:\jakarta-tomcat-4.1.12 Using CATALINA_HOME: D:\jakarta-tomcat-4.1.12 Using CATALINA_TMPDIR: D:\jakarta-tomcat-4.1.12\temp Using JAVA_HOME: C:\j2sdk1.4.1_01 D:\jakarta-tomcat-4.1.12\bin>
Here's what that might look like on Linux
root@gogo:/var/tomcat4/bin# ./catalina.sh start Using CATALINA_BASE: /var/tomcat4 Using CATALINA_HOME: /var/tomcat4 Using CATALINA_TMPDIR: /var/tomcat4/temp Using JAVA_HOME: /usr/java/jdk1.3.1_06 root@gogo:/var/tomcat4/bin#
Verify the installation
When Tomcat restarts on Windows, you should see a new window open entitled 'Tomcat', and it should look something like this. (Note the xindice classes loading.)
Nov 21, 2002 1:42:07 PM org.apache.commons.modeler.Registry loadRegistry INFO: Loading registry information Nov 21, 2002 1:42:07 PM org.apache.commons.modeler.Registry getRegistry INFO: Creating new Registry instance Nov 21, 2002 1:42:08 PM org.apache.commons.modeler.Registry getServer INFO: Creating MBeanServer Nov 21, 2002 1:42:09 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on port 8080 Starting service Tomcat-Standalone Apache Tomcat/4.1.12 Nov 21, 2002 1:42:21 PM org.apache.xindice.core.Database setConfig INFO: Database points to D:\jakarta-tomcat-4.1.12\bin\.\db Nov 21, 2002 1:42:23 PM org.apache.xindice.server.XindiceServlet init INFO: Database successfully started Nov 21, 2002 1:42:24 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on port 8080 Nov 21, 2002 1:42:24 PM org.apache.jk.common.ChannelSocket init INFO: JK2: ajp13 listening on tcp port 8009 Nov 21, 2002 1:42:24 PM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=20/70 config=D:\jakarta-tomcat-4.1.12\conf\jk2.properties
Here's what the $CATALINA_HOME/logs/catalina.out output looks like on Linux
[INFO] Registry - -Loading registry information [INFO] Registry - -Creating new Registry instance [INFO] Registry - -Creating MBeanServer [INFO] Http11Protocol - -Initializing Coyote HTTP/1.1 on port 8080 Starting service Tomcat-Standalone Apache Tomcat/4.1 Server 1.6 is running Press [Ctrl]+[C] to abort [INFO] Http11Protocol - -Starting Coyote HTTP/1.1 on port 8080 [INFO] ChannelSocket - -JK2: ajp13 listening on tcp port 8009 [INFO] JkMain - -Jk running ID=0 time=4/168 config=/var/tomcat4/conf/jk2.properties
In addition, you should be able to verify that xindice is running by loading this URL in your browser http://localhost:8080/xindice. If it works, you should see something that says "THIS IS AN UGLY DEBUG TOOL!".
If you run into problems, don't worry. Be sure to send feedback so that we can improve these documents for the next person.
Revisions
Find a problem with this document? Consider contacting the mailing lists or submitting your own revision. For instructions, read the How To Submit a Revision.
by Dave Viner, Vadim Gritsenko
version 511427