Tomcat ist komplett in Java geschrieben und daher auf jeder Plattform mit einer virtuellen Java Maschine (JVM) lauffähig. Für Linux-, Solaris und Windows stehen vorcompilierte Pakete auf den Servern der Apache Foundation zur Verfügung.
Die Installation auf Windows-Systemen erfolgt mit Hilfe einer einer ausführbare Installationsdatei. Hierbei wird das System bei der Installation mit Hilfe grafischen Dialogen vorkonfiguriert. Auf Unix- und Linux Systemen wird Tomcat in der Regel vom Hersteller des Systems (der Distribution) mitgeliefert und mit einer sinnvollen Vorkonfiguration installiert.
Die Pakete der Apache Foundation sind in der Regel aktueller als
die von den Distributoren mitgelieferten Pakete. Die Installation aus
diesen Paketen gestaltet sich in der Regel auch nicht allzu
kompliziert. Hier wird das entsprechende Tar-Gzip Archiv
heruntergeladen und ausgepackt. Üblicherweise wird das Paket in
/usr/local oder /opt in ein Verzeichnis wie
jakarta-tomcat-5.0.28ausgepackt. Zur Vereinfachung von
Updates bietet es sich an, einen Symlink auf ein Verzeichnis
tomcat anzulegen. Die Startscripte verweisen dann auf das
Verzeichnis /usr/local/tomcat anstat direkt auf das
Verzeichnis mit der Versionsnummer.
Im Verzeichnis /bin liegen vorbereitete Start- und
Stopscripte. Diese werden gemäß der Distributions-Spezifikation in das
System-V Init System eingebunden werden.
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
JAVA_HOME=/usr/local/j2sdk; export JAVA_HOME;
CATALINA_HOME=/usr/local/tomcat; export CATALINA_HOME
case "$1" in
start)
echo -n "Starting J2EE servlet containter: tomcat"
su -c "$CATALINA_HOME/bin/startup.sh > /dev/null" tomcat
echo "."
;;
stop)
echo -n "Stopping J2EE servlet containter: tomcat"
su -c "$CATALINA_HOME/bin/shutdown.sh > /dev/null" tomcat
echo "."
;;
restart)
$0 stop
sleep 2
$0 start
;;
*)
echo "Usage: /etc/init.d/tomcat {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
Im hier aufgeführten Beispielscript wird Tomcat unter der Benutzer-Id "tomcat" gestartet. In diesem Fall muss dieser Benutzer noch auf dem System angelegt werden.