Ulrichs Werkbank

Tomcat auf Port 80

Die Standardinstallation von Tomcat ist für das Beantworten von Anfragen über Port 8080 konfiguriert. Soll Tomcat über den Standardport 80 des HTTP-Protokolls zugänglich sein, werden die folgenden Schritte ausgeführt.

  1. In der Konfiguration von Tomcat den HTTP-Connector auf Port 80 umstellen
  2. Das Programm authbind konfigurieren

Diese Schritte sind nachfolgend im Detail beschrieben.

Konfiguration von Tomcat anpassen

Auf der Kommandozeile wird mit dem Befehl sudo nano /var/lib/tomcat7/conf/server.xml die Serverkonfiguration von Tomcat geöffnet. Das Element mit dem Connector für HTTP wird wie folgt angegeben.

    <Connector executor="tomcatThreadPool"
               port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

Anschließend die Änderungen speichern mit Strg-O und nano beenden mit Strg-X.

Authbind konfigurieren

Bei der Installation der Pakete für Tomcat wird ein weitgehend unprivilegierter Benutzer namens tomcat7 angelegt. Der Benutzer hat ausschließlich Rechte zum Ausführen von Tomcat. Damit der Benutzer tomcat7 den Port 80 benutzen darf sind zwei Schritte nötig. Zunächst wird auf der Kommandozeile der Befehl sudo nano /etc/default/tomcat7 ausgeführt. In der Konfigurationsdatei wird von der Zeile 

#AUTHBIND=no

das Kommentarzeichen # entfernt und der Eintrag geändert auf

AUTHBIND=yes

Diese Änderungen speichern mit Strg-O und nano beenden mit Strg-X. Mit den folgenden Befehlen, die auf der Kommandozeile nacheinander eingegeben werden, erhält der Benutzer tomcat7 schließlich die erforderlichen Rechte an Port 80.

sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
sudo chown tomcat7 /etc/authbind/byport/80

Ganz zum Schluss wird Tomcat neu gestartet

sudo /etc/init.d/tomcat7 restart

Dieselbe Vorgehensweise ist auch für HTTPS über Port 443 anwendbar. Für HTTPS muss darüber hinaus ein Zertifikat auf dem Server hinterlegt werden, wie in der Dokumentation von Tomcat beschrieben.