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.28
ausgepackt. 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.