Berechtigungsprobleme mit tomcat

9

Ich habe Tomcat 7 nach dem Ubuntu-Leitfaden installiert. Der Server arbeitet und gibt mir das "Es funktioniert!" Seite auf http://localhost:8080/ .

Jetzt möchte ich meine eigene Webapp mit Netbeans einrichten. Ich habe ein neues Web-Projekt mit Java EE 6 und Tomcat 7 erstellt. Der Benutzer ist in der /var/lib/tomcat7/conf/tomcat-users.xml -Datei richtig konfiguriert.

Wenn ich das Projekt ausführe, scheint alles in Ordnung zu sein, aber wenn ich den Browser öffne, wird ein Fehler von 500 angezeigt .

Dateiberechtigungen:

[email protected]:/$ ll /var/lib/tomcat7/logs
lrwxrwxrwx 1 root root 17 jul 24 18:07 /var/lib/tomcat7/logs -> ../../log/tomcat7/
[email protected]:/$ ll /var/log/tomcat7/
total 136
drwxr-x---  2 tomcat7 adm      4096 ago 28 10:50 ./
drwxrwxr-x 15 root    syslog   4096 ago 28 09:29 ../
-rw-r--r--  1 tomcat7 tomcat7   800 ago 26 17:23 catalina.2014-08-26.log.gz
-rw-r--r--  1 tomcat7 tomcat7  5173 ago 27 21:59 catalina.2014-08-27.log
-rw-r--r--  1 tomcat7 tomcat7 31285 ago 28 10:36 catalina.2014-08-28.log
-rw-r--r--  1 tomcat7 root    44192 ago 28 10:36 catalina.out
-rw-r--r--  1 tomcat7 tomcat7    45 ago 26 16:19 localhost.2014-08-26.log.gz
-rw-r--r--  1 tomcat7 tomcat7     0 ago 27 11:15 localhost.2014-08-27.log
-rw-r--r--  1 tomcat7 tomcat7   433 ago 28 09:49 localhost.2014-08-28.log
-rw-r--r--  1 tomcat7 tomcat7  7435 ago 26 17:23 localhost_access_log.2014-08-26.txt
-rw-r--r--  1 tomcat7 tomcat7     0 ago 27 11:15 localhost_access_log.2014-08-27.txt
-rw-r--r--  1 tomcat7 tomcat7 15186 ago 28 09:58 localhost_access_log.2014-08-28.txt

Ich verstehe nicht, warum nicht auf die Dateien zugreifen kann, können Sie sehen, dass der Benutzer und die Gruppe tomcat7 Berechtigungen für die Dateien hat. Gibt es einen Benutzer für die JVM, der Berechtigungen für die Dateien benötigt?

Ich habe auch versucht, die Eigentümerschaft von Dateien zu ändern, wie bereits erwähnt hier , aber es ändert sich überhaupt nicht.

Die Datei /etc/default/tomcat7 enthält:

TOMCAT7_USER=tomcat7
TOMCAT7_GROUP=tomcat7

Also ich denke, es läuft als tomcat7 user.

Ich habe meinen Benutzer der Gruppe tomcat7 hinzugefügt:

sudo usermod -aG tomcat7 $USER

Und dann den Computer neu gestartet, aber das Problem bleibt bestehen.

    
Lucio 27.08.2014, 00:17

1 Antwort

9

Ich habe hier zwei Probleme bemerkt.

Zwei Zeilen im Fehlerprotokoll fielen mir auf:

SEVERE: Cannot find specified temporary folder at /var/lib/tomcat7/temp  

und:

java.io.FileNotFoundException: /var/lib/tomcat7/conf/tomcat-users.xml (Permission denied)

Mit Lucio ein bisschen Diagnose machen , fand ich heraus, dass die tomcat-users.xml Datei nicht war im Besitz von Tomcat, aber stattdessen root . Ändern Sie die Berechtigungen in die richtigen, indem Sie den folgenden Befehl ausführen:

sudo chown tomcat7:tomcat7 /var/lib/tomcat7/conf/tomcat-users.xml

Erstellen Sie auch den Ordner /var/lib/tomcat7/temp mit Tomcat-Berechtigungen wie folgt:

sudo mkdir /var/lib/tomcat7/temp && sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/temp

Schließlich sollten die Logs repariert werden, indem /var/lib/tomcat7/logs im Besitz des tomcat7 user / group erstellt wird. Die /var/log/tomcat7/ sollte auch der tomcat7 user AND group gehören.

    
Kaz Wolfe 31.08.2014, 00:18

Tags und Links