Apache Tomcat – Web Access
Web access to DSpace is provided by Apache Tomcat via the XMLUI web application (also known as Manakin). This interface is one of those provided with DSpace. It is based on the Apache Cocoon architecture. To configure this we need to set up the Tomcat host and connector as follows:
The configuration file for Apache Tomcat is located in the Tomcat directory (patterned after the version number) in our case apache-tomcat-7.0.11.
In our case the domain is elo-geo.net but on a local installation this could be localhost.
<Host name="[domain]" appBase="webapps"…
We have pointed the server to the location of DSpace Web application (XMLUI) which we have copied to [Tomcat Directory]/webapps. This could equally point directly at our DSpace build directory like this:
<Host name="[domain]" appBase="[dspace build directory]/webapps"…
Our hosting environment is shared within our organisation and this means that port numbers can be in use by other applications. The default port for Apache Tomcat is 8080. There are a number of Apache Tomcat instances running in this environment and port 8080 is often is use. The practical issue with this is that Tomcat will not always start up properly because the operating system cannot assign the specified port. We have changed this to 8089 for this installation of DSpace to avoid clashes.
The port number is defined in the server.xml configuration file as a connector. We amended the entry for the default 8080 port:
<Connector port="8089" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
If there is a suspicion that a port is in use, the traffic can be viewed on UNIX with the following command.
netstat -an | grep [port number]
Building and Rebuilding DSpace
The building of DSpace includes both Ant and Maven processes and finally copying the Webapps to the Tomcat directory and restarting Tomcat.
apache-tomcat-7.0.11/bin/shutdown.sh #Build Maven Process cd [DSpace source directory]/dspace mvn package #Build 2 Ant Process cd target/dspace-1.7.2-build.dir/ ant -Dconfig=config/dspace.cfg update #Back out to root directory cd ../../../../ #Copy to Tomcat cp -R [DSpace Build directory]/webapps/xmlui [Tomcat directory]/webapps #Restart Tomcat: [Tomcat-directory]/bin/shutdown.sh [Tomcat-directory]/bin/startup.sh #Check port usage netstat -an | grep 8089
The build process will time stamp and retain some directories as a backup.
The rebuilding process is clear in the DSpace documentation. Assuming a clean installation and availability of the default Apache Tomcat port of 8080 this will work without problems. When a hardware environment is used that has a number of other users, Java applications and even instances of Tomcat there can be problems starting DSpace. Since the port number issue relates to the multiple users of Tomcat it is not really a DSpace issue, but nevertheless a common problem.