HOWTO: Tomcat5.5 unter Debian Lenny (Squeeze, SID wird identisch sein) installieren

Linux ist einfach, aber ab und an gibt es Schwierigkeiten und so wollte Tomcat5.5 nicht, so wie ich wollte. Deswegen schreibe ich hier kurz die Schritte auf, um Tomcat zum Laufen zu überreden. Diese Howto ist nur ein einfacher Einstieg und deckt nicht Sicherheitsmerkmale für den öffentlichen Betrieb ab.

1. Zuerst sollte man die SUN JRE und JDK installieren. Welche Version isntalliert werden soll, bleibt jedem selber überlassen.

Folgende Einträge werden in der /etc/apt/sources.list benötigt:

# Sun java packages are in non-free
deb http://ftp.de.debian.org/debian/ etch main non-free contrib

# also add non-free to security.
deb http://security.debian.org/ etch/updates main non-free contrib

Wer hinter einem Proxy sitzt, der schaut sich bitte die folgenden Informationen an: http://debiananwenderhandbuch.de/apt.conf.html

Welche Quelle (Mirror-Server) ihr benutzt, ist euch überlassen. Am Ende müssen nur die Schlüsselwörter „main non-free contrib“ vorhanden sein, sonst werden die Pakete von apt nicht gefunden.

Java 6 JRE und JDK (empfohlen für Entwickler):

sudo apt-get install sun-java6-jre sun-java6-jdk

oder Java 5 JRE und JDK (empfohlen für Produktivsysteme):

sudo apt-get install sun-java5-jre sun-java5-jdk

2. Dann sollte man zu der jeweiligen Version von java und javac umschalten:

sudo update-alternatives --config java
sudo update-alternatives --config javac

Bitte darauf achten, dass hier zwei Minuse vor „config“ kommen!

und anschließend die Versionen prüfen:

java -version

und

javac -version

3. JAVA_HOME muss gesetzt sein, sonst findet Tomcat die JAVA Umgebung nicht. Dafür habe ich in die Datei /etc/bash.bashrc den folgenden Eintrag eingefügt:

# Setup Jave environment 6
export JAVA_HOME=/usr/lib/jvm/java-6-sun/

oder:

# Setup Jave environment 5
export JAVA_HOME=/usr/lib/jvm/java-5-sun/

Besser ist es die Parameter in /etc/deafault/tomcat5.5 oder /etc/deafault/tomcat6 zu setzen. Allerdings hat es den Nachteil gegenüber der /etc/bash.bashrc Lösung, dass man auf der Shell eine andere Java-Version verwendet, wenn die Parameter nicht einheitlich sind. Für produktive Umgebungen empfehle ich die Parameter in /etc/default/tomcat* zu setzen. Für Entwicklungsumgebungen ist die Lösung über /etc/bash.bashrc weniger fehleranfällig, da alle die gleichen Parameter verwenden.

4. Kurz abmelden und sich wieder als root anmelden.

5. Jetzt kann man Tomcat installieren:


apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps

Die Einstellungen für Produktivumgebungen überprüfen in /etc/deafault/tomcat5.5 oder /etc/deafault/tomcat6

6. Prüfen ob alles erfolgreich verlaufen ist indem man im Browser die folgende Seite aufruft:

http://localhost:8180

Die Zugangsdaten für den Tomcat-Administrator sind in der folgenden Datei zu finden:

$TOMCAT_HOME/etc/tomcat-users.xml

Ich hoffe diese HOWTO wird jemanden helfen. Für mich ist es eine super Erinnerungshilfe!

Konstantin

35 Gedanken zu „HOWTO: Tomcat5.5 unter Debian Lenny (Squeeze, SID wird identisch sein) installieren

  1. Ich nehm das ganze dann auch mal Erinnerungshilfe. Werde ich sicherlich noch öfters brauchen, auch wenn ich grade unter Windows entwickeln (muss).

  2. vielen vielen dank… hat mir sehr weitergeholfen… und das nach ner endlos langen suche nach nem howto im netz! ICH DANKE DIR!!!

  3. Vielen Vielen Dank!
    Ich kann nur sagen das „kaffe“ kein Ersatz für das SUN Java zu schein seint. Ich hatte die wildesten konstellationen in den letzten 4 Stunden. Das scheint jetzt alles geloesst zu sein. Danke nochmal.

  4. Du hast mien Leben gerettet. Ärgere mich schon seit Ewigkeiten mit meinem Tomcat rum, jetzt läuft er endlich unter java 1.6.

    Viele Dank!

  5. Danke, das war die einzig brauchbare Anleitung zur Installation von Java unter Debian die ich finden konnte.
    Super!!!

  6. hm…
    also mein Debian (etch) zeigt nach der oben beschriebenen installation mit „java -version“ folgendes an!
    Java version „1.5.0_14“
    Java (TM) 2 Runtime Environment, Standart Edition (build 1.5.0_14-b03)
    an. Dementsprechend lauten auch die Pfade.

    Das setzen der Umgebungs-Variable „JAVA_HOME“ auf „usr/lib/jvm/java-5-sun/“ würde keinen sinn machen, da es diesen Pfad ja nicht gibt.

    Jetzt die Frage:
    Warum erhalte ich mit „apt-get install sun-java5-jre (jdk)“ etwas anderes?

  7. Hallo Michael,

    wo anders ist JAVA meines Wissens nach nicht unter etch.

    zeig mal bitte wie bei dir der Ordnerinhalt in /usr/lib/jvm aussieht. Hier Hilfe mit Befehlen

    cd /usr/lib/jvm
    ls -l

    In deinem Kommentar hast du vorne vor „usr“ den slash vergessen. Ich nehme das mal als Tippfehler hin.
    So ist es richtig export JAVA_HOME=/usr/lib/jvm/java-5-sun/

    Gruß

    Konstantin

  8. Hallo,
    Vielen Dank ! So schnell habe ich noch nie Java installiert.Eigentlich habe ich noch nie geschafft es zu installieren Hut ab.
    Mal ne Frage
    wie lauten den die Zugangsdaten zu der Administration von Tomcat ?
    Gruss
    Chriss

  9. Fands auch sehr hilfreich wobei mir der genau Terminus nicht bekannt war und mich wunderte über die „-config“-unbekannt Fehlermeldung in der Konsole, daher hier noch mal für andere Verzweifelte Menschen:

    update-alternatives –config java
    update-alternatives –config javac
    update-alternatives –config javah
    update-alternatives –config javap

    Eventuell ist auch noch dieses für jemanden hilfreich:
    export PATH=$PATH:/usr/lib/jvm/java-1.5.0-sun/bin

  10. P.S.
    Das Blog-System hier scheint aus zwei Bindestriche eines zu machen. Korrekt muss vor config zwei – stehen! -&nbsp-

  11. Hallo Verzweifelter,

    der Pfad sollte automatisch durch einen Symlink in /usr/bin durch das Package gesetzt werden.

    Das mit den Minusen ist mir bei der WordPress bekannt. Aber es ist auch gut, weil der Benutzer dann mal nachdenkt und nicht einfach Befehle ausführt! Immer Quellen verifizieren, ich könnte ja was *böses* machen! 😉

    Beste Grüße

    Konstantin

  12. dies scheint mir der einzige Guide zu sein der so strukturiert ist das eine Installation auch wirklich erfolgreich verläuft. Ich hab jetzt einen Link im Browser hinterlegt da ich nur etwa ein mal im Monat einen Tomcat Server mit unterschiedlichen Funktionen bauen muss. Da vergisst man immer wieder einen wichtigen Schritt und merkt sich bestenfalls die verwendeten Packete. Ich habe mit erfolg getestet … die Eintragung in die bash kann man sich sparen wenn man den Rechner einmal nach der Neuinstallation von Java einen reboot hat. Anscheinend sind erst dann die Umgebungsvariablen für Java richtig übernommen. Komische Sache aber ist bisher immer nachvollziebar gewesen.

    Viel Grüße

  13. Moin,

    die Installation funktionierte ohne weitere Komplikationen. Nur leider bekomme ich nen Stacktrace nach dem ersten Aufruf vom Tomcat, der nen Access Denied beschreibt. Hier mal die erste Zeile:java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.org.apache.coyote)

    Kann da jemand was mit anfange?

  14. Hallo Stefan,

    das liegt vermutlich daran, dass du deinen tomcat entweder mit nicht genügend Rechten startest oder deine Anwendung was macht, was nicht gut ist, da Tomcat beim Starten gewisse Sachen lädt.

    Aus einer Zeile kann man auch nicht mehr erschließen.

    PS: Eine kleine Google Suche fördert ziemlich viel zu Tage.

    Gruß, Konstantin

  15. @RAETO:
    Abmelden und wieder anmelden hilft auch.
    Bei X-Windows komplett abmelden und nicht nur das Fenster mit dem gerade offenen Terminal schließen, das wird nicht helfen.

    Gruß, Konstantin

  16. Ich versuche gerade den Dienst zu erweitern..
    Kannst du mir vielleicht sagen wie ich folgende Details implementieren kann.

    Einbinden über entsprechendes Apache Modul
    Test durch Sample-Servlets von Tomcat

    UND es so einzurichten , dass mindestens ein User in einem Unterverzeichnis seines Homeverzeichnises Servlets ausführen kann.

  17. @KOP: Das kann man in der Tomcat Konfiguration entsprechend festlegen, wo der Applikationsordner ist.

    Das Testservlet sollte auch kein Problem sein. Das steht alles in der Tomcat Dokumentation erklärt.

  18. Hatte grad einen Root-Server mit Debian Lenny hier, auf dem ich einen Tomcat brauchte für den Geoserver. Die Repos waren auch alle schon da. Was soll ich sagen: Scheint für erste zu reagieren, den Rest muss ich noch konfigurieren. Bedankt!

  19. Hallo,
    mein Deutsch ist nicht sher gut, deshalb sage ich mein Problem auf English.
    I installed tomcat on Debian. when I start my tomcat via my ssh session it works but when I close my session it doesn’t work any more!
    I used :
    update-rc.d tomcat defaults
    to install tomcat as service but it’s not working!
    Ich danke mich im Voraus auch für die Antworten.
    Ali

  20. Hello Ali,

    if you use /etc/init.d/tomcat5.5 (or other version) to start tomcat, then this should work.

    You must check the settings in /etc/default/tomcat5.5 or /etc/default/tomcat6 too.

    If you install the service to start on boot up with „update-rc.d tomcat defaults“, then tomcat won’t automatically start before a reboot or a manual „/etc/init.d/tomcat5.5 start“.

    You can ask all questions in english.

    Regards, Konstantin

  21. Hallo Konstantin,

    gibt es auch ein Update deiner Anleitung für den TomCat 6 auf Debian 6. Bin gerade dabei. Leider klappt es nicht wie gewünscht 😉

  22. Hi Steusi,

    das muss unter Debian 6 mit Tomcat 6 identisch funktionieren. Ich habe den Beitrag vor wenigen Wochen etwas aufgefrischt. Schreib mal, was du für einen Fehler hast.

    Gruß, Konstantin

  23. Vielen Dank für die Anleitung hat mir wirklich sehr bei der Installation geholfen. Hab sonst nichts wirklich gefunden was mich weitergebracht hat, Danke!

  24. Hallo also bei mir hat es mit der Tomcat installation nicht geklappt.

    Ich bekomme bei folgender Eingabe folgende Fehlermeldung:

    root@peru:/etc/default# apt-get install solr-tomcat5.5
    Paketlisten werden gelesen… Fertig
    Abhängigkeitsbaum wird aufgebaut
    Statusinformationen werden eingelesen… Fertig
    Paket solr-tomcat5.5 ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.

    root@???:/# apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
    Paketlisten werden gelesen… Fertig
    Abhängigkeitsbaum wird aufgebaut
    Statusinformationen werden eingelesen… Fertig
    Hinweis: »solr-tomcat5.5« wird für regulären Ausdruck »tomcat5.5« gewählt.
    E: Paket tomcat5.5-admin kann nicht gefunden werden
    E: Mittels regulärem Ausdruck »tomcat5.5-admin« konnte kein Paket gefunden werden
    E: Paket tomcat5.5-webapps kann nicht gefunden werden
    E: Mittels regulärem Ausdruck »tomcat5.5-webapps« konnte kein Paket gefunden werden

    Könnt ihr mir helfen, was habe ich falsch gemacht?

    lg james

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.