Die Tomcat7-Installation über apt-get unter Ubuntu 14.04 ist fehlgeschlagen

Die Tomcat7-Installation über apt-get unter Ubuntu 14.04 ist fehlgeschlagen

Ich habe ein Problem bei der Installation von Tomcat7 in Ubuntu 14.04. Das JDK ist bereits auf meinem System installiert (Version 1.7), aber bei der Verwendung apt-get install tomcat7erhalte ich die folgende Fehlermeldung:

Setting up tomcat7-common (7.0.52-1ubuntu0.1) ...
Setting up tomcat7 (7.0.52-1ubuntu0.1) ...

Creating config file /etc/default/tomcat7 with new version
Adding system user `tomcat7' (UID 108) ...
Adding new user `tomcat7' (UID 108) with group `tomcat7' ...
Not creating home directory `/usr/share/tomcat7'.

Creating config file /etc/logrotate.d/tomcat7 with new version
 * Starting Tomcat servlet engine tomcat7                                **[fail]**

Ich habe alle Lösungen ausprobiert, die ich im Internet finden konnte, wie:

  1. Habe Tomcat7 mit apt-get purge tomcat7oder deinstalliert apt-get autoremove tomcat7und dann erneut installiert, aber den gleichen Fehler bekommen. :(

  2. Habe versucht apt-get update, Tomcat7 zu entfernen und erneut zu installieren, aber es ist fehlgeschlagen.

  3. Legen Sie den CATALINA-Pfad in .bashrcoder fest /etc/environment. Aber ohne Erfolg.

Notiz:Ich habe denselben Tomcat7 auf meinem lokalen Ubuntu 14.04-Server installiert und die Installation verlief beim ersten Versuch korrekt.

Antwort1

Ich konnte das Problem lösen, indem ich das Paket libtomcat7-Java installierte. Dies scheint die fehlende Abhängigkeit zu sein.

sudo apt-get install libtomcat7-java 

Antwort2

Ich verstehe dieses Problem. Es wird dadurch verursacht, dass (a) Tomcat-Teile in verschiedene FS-Stellen (/etc, /var, /usr/lib, /usr/share usw.) aufgeteilt werden und (b) z. B. Protokollen und temporären Verzeichnissen falsche Eigentümer (= Berechtigungen) zugewiesen werden. Dann kann der Benutzer tomcat7 seine Beschwerde beim Start nicht einmal schreiben.

Eine einfache Lösung besteht darin, tgz von tomcat.apache.org zu installieren (und es manuell zu starten; ok, wenn Sie mit tc entwickeln). Eine andere Möglichkeit besteht darin, einfach das Startskript zu lesen, herauszufinden, welche Verzeichnisse aktualisiert werden müssen, und ihre Eigentümerschaft zu überprüfen. Ein einfacher Hack besteht darin, den Benutzer tomcat7 zur Gruppe root hinzuzufügen, die normalerweise über Schreibrechte verfügt.

Antwort3

Ich habe auch versucht, die Installation über die binäre Methode (tgz) durchzuführen. Danach funktioniert der Tomcat-Dienst einwandfrei und http://My_Ip:8080funktioniert auch, aber beim Überprüfen der /var/log/tomcat/Protokolle werden einige Fehler angezeigt.

 at
 org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
 at java.util.concurrent.FutureTask.run(FutureTask.java:262) at
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
 at
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 at java.lang.Thread.run(Thread.java:745)

 Dec 08, 2014 10:12:47 AM org.apache.coyote.AbstractProtocol stop INFO:
 Stopping ProtocolHandler ["http-bio-8080"] Dec 08, 2014 10:12:47 AM
 org.apache.coyote.AbstractProtocol destroy INFO: Destroying
 ProtocolHandler ["http-bio-8080"]

Antwort4

Ich hatte dasselbe Problem mit Tomcat8 und konnte es durch Entfernen von Tomcat8-common lösen:

sudo apt-get purge tomcat8-common

Ich hoffe, dass dies anderen Leuten hilft, die das gleiche Problem haben.

verwandte Informationen