Wie installiere ich Tomcat7 in Ubuntu 14.04 LTS?


9

Wenn ich apt-get install tomcat7es installiere ein kaputtes tomcat7. Ein einfaches Startup.sh gibt mir Fehler, als wenn behoben, dass Tomcat gestartet wurde, aber in localhost nichts angezeigt wird: 8080. shutdown.sh gibt mir Fehler und löst sogar Java-Ausnahmen aus. Dies war in einigen früheren Ubuntu-Versionen nicht der Fall, in denen es einfach funktionierte. Es sieht also so aus, als ob das Tomcat-Paket in letzter Zeit nicht gewartet wurde.

Ich kann es mit Eclipse zum Laufen bringen (was übrigens auch nicht richtig gewartet wird), wenn ich meine Web-App teste. Es gibt jedoch Dinge, die ich in einer eigenständigen Tomcat-Installation testen muss. Bisher hat Google nicht geholfen.

Hat es jemand von euch geschafft, tomcat7 in Ubuntu 14.4LTS richtig zu installieren? Wenn ja, können Sie mich in die richtige Richtung weisen?

Bearbeiten:

Hier sind einige Protokolle.

Tomcat starten:

$ sudo /usr/share/tomcat7/bin/startup.sh 
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Tomcat started.

Surfen localhost:8080(und http://127.0.0.1:8080, http://127.0.0.1, http://[my network ip here]):

Oops! Google Chrome could not connect to localhost:8080

Das Stoppen von Tomcat schlägt ebenfalls fehl:

$ sudo /usr/share/tomcat7/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.io.FileNotFoundException: /usr/share/tomcat7/conf/server.xml (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:466)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:370)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:457)

Könnten Sie die Ausgabe von startup.sh und shutdown.sh posten?
Lety

5
Was ist gemeint mit apt-get install tomcat7installiert gebrochen tomcat7?
Pandya

1
Leider gibt es hier nicht genug Details. Was genau lässt Sie denken, dass Tomcat7 aus den Repositories defekt ist? Welche Symptome deuten darauf hin?
Thomas Ward

Veröffentlichen Sie die Fehlerprotokolle. Und außerdem: Was bedeutet "aber in localhost: 8080 wird nichts angezeigt"? Seite stornieren? Verbindungsfehlerseite? 404?
Eddiedieetro

1
@ Pandya von kaputt Ich meine, dass apt-get ein nicht funktionierendes Paket installiert. Es kann nicht konfiguriert, nicht aktualisiert, unvollständig, fehlerhaft ...
Juan Garcia

Antworten:


3

Ich glaube, Ihre CATALINA_BASE ist falsch, sie läuft aus dem Verzeichnis / var / lib / tomcat7 und CATALINA_HOME ist in Bezug darauf, wie Sie die Variable deklariert haben, richtig. Fügen Sie CATALINA_HOME und CATALINA_BASE zusammen mit JAVA_HOME und JRE_HOME zu / etc / default / tomcat7 hinzu. Diese ausführbare Datei benachrichtigt das Tomcat-Servlet darüber, wie die Umgebung beim Start des Servlets eingestellt ist.

Es könnte auch in Betracht gezogen werden, sie in / etc / profile abzulegen und dann in /etc/bash.bashrc zu exportieren (dh CATALINA_HOME zu exportieren). Dies sollte nur dann erfolgen, wenn Ihre Site nicht über eine Benutzeranmeldung oder -registrierung verfügt. Ohne den Export der Variablen würden sie weiterhin lokal deklariert.

Um die Variablen global als Ansatz zu deklarieren, möchten Sie als Administrator (Gruppe 4) möglicherweise auch darüber nachdenken, Syslog in Gruppe 37 zu verschieben, rsyslog zu löschen und den Daemon auch für Protokolle laufen zu lassen, damit Sie die obligatorische Zugriffskontrolle beibehalten könnte darüber nachdenken, eine ~ / .bash_completion- oder ~ / .bash_expert-Datei in Ihrem Home-Verzeichnis zu erstellen, in der Sie Folgendes haben:

# ~/.bash_expert in regards to servlet alias
if [ -f /etc/bash_completion.d/.tomservlet ]; then
    . /etc/bash_completion.d/.tomservlet
fi
export CATALINA_HOME
export CATALINA_BASE
export JRE_HOME
export JAVA_HOME

Erstellen Sie dann die .tomservlet-Datei in /etc/bash_completion.d/.tomservlet und fügen Sie Folgendes hinzu:

CATALINA_HOME=/usr/share/tomcat7
CATALINA_BASE=/var/lib/tomcat7
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
JRE_HOME=$JAVA_HOME:/jre

Sobald dies abgeschlossen ist, fügen Sie die folgenden Zeilen zu ~ / .bashrc hinzu

if [ -f "$HOME/.bash_expert" ];then
    . "$HOME/.bash_expert"
fi

Geben Sie dann die Datei ~ / .bashrc wie folgt ein:

:~$ source .bashrc

und das sollte Ihre Probleme auf sichere Weise lösen, unabhängig davon, welche Art von clientseitiger Interaktion stattfindet. (Halten Sie mich nicht daran fest, Sie wissen nie, welche Marsmenschen im Cyberspace lauern, es kann manchmal ein beängstigendes Reich sein).

PS Ich habe mich zuvor auf das oracle-sun jdk7 bezogen, oder ich denke, es ist nur Oracle Jdk7. Wenn Sie also das Open Jdk verwenden, ersetzen Sie es nach Bedarf. Wenn Sie das Orakel verwenden, gehen Sie zurück in die Datei /etc/init.d/tomcat und ändern Sie es openjdk zu Ihrer Version, in der das Skript auf "$ OPENJDK" verweist. Dies setzt auch voraus, dass Sie über die Repositorys installiert haben.

Viel Glück und möge dein Kater schnurren !!


Was tun, wenn localhost: 8080 einwandfrei funktioniert, server_IP_address: 8080 jedoch nicht ? Funktioniert die oben beschriebene Prozedur
?

8

Ich habe das an einem frischen Behälter versucht:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Es scheint das Problem in meinem Fall zu beheben.

Bearbeiten: dpkg-refreshfigure ersetzt Ihre benutzerdefinierte Konfiguration für tomcat7 durch die Standardkonfiguration des Paketmanagers oder zeigt, sofern angegeben, ein Menü zum Anpassen an.


Versuchte dies, habe den Fehler für mich leider nicht behoben. Brach meine Installation auch, binde Ausnahmen usw.
John Little

Sollte hinzugefügt haben, dass durch die Neukonfiguration alle benutzerdefinierten Dateien durch die Standardeinstellungen des Paketmanagers für das angegebene Paket ersetzt werden.
user283885

2
  1. Laden Sie den offiziellen Kater von ihrer Website herunter

    wget http://mirrors.fe.up.pt/pub/apache/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.zip
    
  2. Dekomprimiere es

    unzip apache-tomcat-7.0.54.zip       
    
  3. Stellen Sie sicher, dass Java installiert und JAVA_HOME definiert ist

  4. Starten Sie Ihren Kater.


0

Versuchen Sie es wie einen Dienst mit zu starten service tomcat7 start.

Ich habe es versucht und es in meinem lokalen (Ubuntu 14.04) und funktioniert. Es gab mir ein Problem mit de JAVA_HOME, aber ich habe es so behoben und funktioniert:

1- Bearbeiten Sie die Konfigurationsdatei von Tomcat:

vim /etc/default/tomcat7

2- Durchsuchen Sie die Zeile JAVA_HOME (kommentiert) und geben Sie Folgendes ein:

JAVA_HOME=/usr/lib/jvm/<your-jvm>

Sport:

JAVA_HOME=/usr/lib/jvm/java-7-oracle

Speichern und starten Sie Tomcat wie einen Dienst:

root@skynet:/etc/init.d# service tomcat7 start
 * Starting Tomcat servlet engine tomcat7  

und

root@skynet:/etc/init.d# service tomcat7 stop
 * Stopping Tomcat servlet engine tomcat7

0

Installation von Eclipse & Defult JDK & Git

$ sudo apt-get eclipse
$ sudo apt-get eclipse-jdt
$ sudo apt-get eclipse-pde
$ sudo apt-get eclipse-platform
$ sudo apt-get eclipse-rcp

$ sudo apt-get install default-jdk
$ sudo apt-get install ant git

Ich benutze SSH, weil es eine virtuelle Maschine ist 'zum Testen'
1 Download der Datei 'Tomcat7.0 Apache Download'

$ wget http://apache.claz.org/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz

2 extrahieren es ls

$ sudo tar -xvf apache-tomcat-7.0.54.tar.gz

3 mach dir an

$ sudo mkdir /usr/local/tomcat7

4 Verschieben Sie die Datei in das Verzeichnis

$ mv apache-tomcat-7.0.54 /usr/local/tomcat7

5 installieren

$ cd /usr/local/tomcat7/apache-tomcat-7.0.54
$ sudo ln -s /var/lib/tomcat/conf conf
$ sudo ln -s /etc/tomcat7/policy.d/03catalina.policy/conf/catalina.policy
$ sudo ln -s /var/log/tomcat7 log
$ sudo chmor -R 777 /usr/local/tomcat7/apach*/conf

6 Konfiguration jetzt gehen wir zum Ubuntu-Desktop

Lunch eclipse => window => Preferences => Server => Runtime Envirenment


Wählen Sie die Version aus. Durchsuchen Sie das Verzeichnis => Fertig stellen

$ cd ../../apach*/bin
$ ls -la 

schalten Sie ihn aus

$ sudo ./shutdown.sh

Lass uns einen Test machen

eclipse => file => new => other... => web project

doulble click it => right click web content => test.htm 

<html>
<head>
<title> testing tomcat7 & eclipse</title>
</head>
<h2>Job's Done !</h2>

click on 'no servers are ....' => tomcat version => next => add to configured 
menu => run => run as => fninish
localhost:8080/test/test.htm
localhost:8080/project name/page name

Video-Tutorial: ' http://www.youtube.com/watch?v=n5joqK07-NE '


Die $ sudo service tomcat7 restartAusgabe isttomcat7: unrecognized service
Juan Garcia

$ cd / opt / local / tomcat7 / bin $ ls Sie werden eine Shell-Skriptdatei finden. Ich bin mir nicht sicher, welchen Namen sie neu starten könnte dann schließen, dann wieder starten von $ sudo startup.sh $ sudo shutdown.sh $ sudo startup.sh
hwez

/ opt / local / tomcat7 / bin existiert nicht, es befindet sich unter / usr / share / tomcat7 / bin. Startup.sh sagte, dass Tomcat gestartet wurde, aber der Browser nichts in localhost sehen kann: 8080 (versucht es auch mit lokaler IP). shutdown.sh zeigt Warnungen an und löst eine Ausnahme aus. Ich werde die Frage mit dem Protokoll aktualisieren
Juan Garcia

Update: Ich habe meine Protokolle gepostet
Juan Garcia

/ opt / tomcat / bin oder / opt / tomcat7 oder / etc / tomcat7 oder / etc / tomcat, wenn Sie es nicht finden cd / opt; ls -lh && cd / etc; ls -ls in Pastebin setzen & kommentieren, ich werde tocat7 installieren & überprüfen Sie es für u
hwez

0

Ich hatte keine Probleme bei der Installation und Ausführung von Tomcat 7 in Ubuntu 14.04 LTS. Um sicherzugehen, habe ich die Bash-Geschichte nachgeschlagen. Beachten Sie, dass ich Oracle Java zuerst installiert habe (falls es einen Unterschied macht)

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

dann Tomcat

sudo apt-get install tomcat7

Der Befehl

sudo service tomcat7 restart

gibt

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.