Home / Linux / HowTo: Tomcat 7 StandAlone unter Debian Squeeze und Wheezy installieren
Tomcat Logo

HowTo: Tomcat 7 StandAlone unter Debian Squeeze und Wheezy installieren

Da der Apache Tomcat 7 noch nicht in den Standardrepositories und auch nicht in den Backports von Debian enthalten ist, zeige ich in diesem Tutorial wie man den Tomcat 7 als Standalone Variante ganz einfach unter Debian Squeeze und Wheezy installiert. Ergänzend dazu folgt noch ein Tutorial zur Einbindung in den Apache Webserver via mod_jk

Vorbereitung

Damit der Tomcat unter Debian läuft benötigen wir Java. Wie die Installation funktioniert ist hier beschrieben:
*) Java 6 Installation
*) Java 7 Installation

Tomcat 7 downloaden und entpacken

Die aktuellste Apache Tomcat Version (bei meinem Stand: 7.0.42) von der Herstellerwebseite downloaden und entpacken. Ich verwende wie immer das Verzeichnis /usr/src

[bash]cd /usr/src
wget http://www.eu.apache.org/dist/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42.tar.gz
tar -xzvf apache-tomcat-7.0.42.tar.gz[/bash]

Linux User und Gruppe für Tomcat anlegen

In folgenden Schritten legen wir einen eigenen Linux User (tomcat) + zugehöriger Gruppe (tomcat) für unseren Tomcat Server an. Das Home Verzeichnis des Users wird dabei auf das Installationsverzeichnis unseres Tomcat gesetzt. Ich verwende /usr/local/tomcat, kann aber auch auf ein anderes Verzeichnis geändert werden. Zusätzlich geben wir den User in die Gruppe www-data welche vom Apache verwendet wird.

[bash]groupadd tomcat
useradd -g tomcat -d /usr/local/tomcat tomcat
usermod -G www-data tomcat[/bash]

Tomcat 7 installieren

Zur eigentlichen Installation wird lediglich das entpackte Verzeichnis an einen anderen Ort verschoben und die Berechtigung auf den zuvor erstellten Tomcat User geändert. Ich verwende /usr/local/tomcat für meinen Tomcat Server (kann aber wie bereits weiter oben erwähnt geändert werden).

[bash]mv /usr/src/apache-tomcat-7.0.42 /usr/local/tomcat
chown tomcat:tomcat /usr/local/tomcat -R
chmod +x /usr/local/tomcat/bin/*.sh[/bash]

Tomcat init.d start / stop Script erstellen

Ich habe für den Tomcat bereits ein start / stop Script erstellt welches frei verwendet werden darf. Dazu einfach die Datei /etc/init.d/tomcat mit dem Lieblingseditor (vi) erstellen und folgenden Text reinkopieren und die ersten Values anpassen. JAVA_HOME sollte auf jeden Fall angepasst werden. Wenn Oracle Java 7 verwendet wird sollte für JAVA_HOME /usr/lib/jvm/java-7-oracle verwendet werden.

Wer Probleme beim kopieren vom Browser in den Editor hat oder das Skript Fehlermeldungen wirft, hier die Plain Text Datei des Tomcat Start/Stop Skripts.

https://gist.github.com/SysADMINsLife/7152853

Nun geben wir dem Script noch die Berechtigung dass es ausgeführt werden darf

[bash]chmod 755 /etc/init.d/tomcat[/bash]

Tomcat Autostart aktivieren

Damit unser Tomcat auch beim Booten des Debian Servers automatisch startet fügen wir es in die entsprechenden Runlevels ein

[bash]update-rc.d tomcat defaults[/bash]

Tomcat User und Management Interface

Damit wir das Tomcat Management Interface (Web Oberfläche zur einfachen Tomcat Verwaltung) verwenden können, müssen wir einen entsprechenden User dafür anlegen. Dazu editieren wir die Datei /usr/local/tomcat/conf/tomcat-users.xml und ersetzen den Text mit folgenden: (dein_user und dein_pw müssen entsprechend geändert werden)

[xml]<tomcat-users>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="tomcat_admin" password="dein_passwort" roles="admin,manager,admin-gui,manager-gui"/>
</tomcat-users>[/xml]

Sobald der User und das dazugehörige Passwort erstellt ist kann nun der Tomcat gestartet werden.

[bash]/etc/init.d/tomcat start[/bash] [sam id=’2′ codes=’true‘]

Wir können nun via Browser auf das Management Interface zugreifen. Dazu einfach die ServerIP oder Serverhostname mit dem Port 8080 im Browser aufrufen:

http://192.168.1.100:8080                     http://192.168.1.100:8080/manager

Tomcat 7 Start Steite Tomcat 7 Web Application Manager

Ergänzend zu der Standalone Installation lege ich euch folgendes Tutorial zur Integration von Tomcat in den Apache Webserver via mod_jk ans Herz.
3.8/5 - (13 votes)

Auch cool

Linux richtig anwenden: Tipps und Tricks für eine optimale Erfahrung

Die Kombination aus Spiele-Plattformen, und dem Betriebssystem Linux mag auf den ersten Blick ungewöhnlich erscheinen. …

10 Kommentare

  1. Yes, hat auf anhieb geklappt. Mein Tomcat läuft bestens! Danke

  2. Sehr gut, hat auch hier direkt funktioniert 🙂
    Danke

  3. Hi,

    super Howto! Mit einer kleinen Anpassung auf die neuste Tomcat Version „apache-tomcat-7.0.32.tar.gz“ hat alles auf Anhieb funktioniert.

    vielen Dank

  4. Herzlichen Dank für das ausführliche Tutorial!

  5. Nice!
    Danke

  6. super, danke!
    läuft bestens.

    Bei dem init script ist ein kleiner schönheitsfehler mit einem Zeilenumbruch:
    $ Starting Tomcat\nUsing CATALINA_BASE: /usr/local/tomcat

    Ansonsten super cool!

  7. Der erstellte Tomcat-User hat per Default ’ne /bin/sh shell in der /etc/passwd. Vielleicht sollte man noch in die Doku aufnehmen, dass Tomcat ein /bin/false bekommt.

    • Danke für den Hinweis, da hast du natürlich komplett recht. Ich habe im useradd Befehl den Parameter „-s /bin/false“ integriert!

      Gruß
      Patrick

      • hmpf, ich hatte wohl nur ‚teilrecht‘. Wenn der Tomcat user keine shell bekommt funktioniert das Skript nicht, siehe Zeile 42 und 58.
        Mit ‚/bin/su $TOMCAT_USER -p -s $TOMCAT_PATH/bin/*****.sh‘ funktioniert der Start trotz /bin/false. Bin noch unschlüssig ob es das -p braucht.

  8. Super, vielen Dank für die Anleitung. Das war sehr hilfreich.