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 tomcat7
erhalte 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:
Habe Tomcat7 mit
apt-get purge tomcat7
oder deinstalliertapt-get autoremove tomcat7
und dann erneut installiert, aber den gleichen Fehler bekommen. :(Habe versucht
apt-get update
, Tomcat7 zu entfernen und erneut zu installieren, aber es ist fehlgeschlagen.Legen Sie den CATALINA-Pfad in
.bashrc
oder 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:8080
funktioniert 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.