Zainstalowałem Tomcat 7 zgodnie z przewodnikiem Ubuntu . Serwer działa i wyświetla komunikat „To działa!” strona na http://localhost:8080/
.
Teraz chcę skonfigurować własną aplikację internetową za pomocą Netbeans. Wygenerowałem nowy projekt WWW z Javą EE 6 i Tomcat 7. Użytkownik jest /var/lib/tomcat7/conf/tomcat-users.xml
poprawnie skonfigurowany w pliku.
Kiedy uruchamiam projekt, wszystko wydaje się w porządku, ale kiedy otwieram przeglądarkę, wyświetla błąd 500 .
- Dane wyjściowe Tomcat wspominają o błędach uprawnień podczas próby uzyskania dostępu
tomcat7/logs
i - Dzienniki IDE próbują uzyskać dostęp
tomcat7/conf
.
Uprawnienia do plików:
lucio@lucio-pc:/$ ll /var/lib/tomcat7/logs
lrwxrwxrwx 1 root root 17 jul 24 18:07 /var/lib/tomcat7/logs -> ../../log/tomcat7/
lucio@lucio-pc:/$ 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
Nie rozumiem, dlaczego nie można uzyskać dostępu do plików, widać, że użytkownik i grupa tomcat7
mają uprawnienia do plików. Czy istnieje użytkownik JVM, który potrzebuje uprawnień do plików?
Próbowałem również zmienić właściciela plików, jak wspomniano tutaj, ale to się nie zmienia.
/etc/default/tomcat7
Plik zawiera:
TOMCAT7_USER=tomcat7
TOMCAT7_GROUP=tomcat7
Więc chyba działa jako tomcat7
użytkownik.
Dodałem mojego użytkownika do tomcat7
grupy:
sudo usermod -aG tomcat7 $USER
A następnie ponownie uruchomił maszynę, ale problem nadal występuje.
źródło
/var/lib/tomcat7/temp
; czy to istnieje? Może to być ten sam problem z uprawnieniami. Może wystarczy dodać się do grupy tomcat7.Odpowiedzi:
Zauważyłem tutaj dwa problemy.
Wyróżniały mnie dwie linie w dzienniku błędów:
i:
Przeprowadzając trochę diagnozy z Lucio , zorientowałem się, że
tomcat-users.xml
plik nie był własnością Tomcata, ale zamiast tegoroot
. Zmień uprawnienia na odpowiednie, uruchamiając polecenie:Ponadto utwórz folder
/var/lib/tomcat7/temp
z uprawnieniami tomcat, na przykład:Wreszcie, naprawianie logów powinno odbywać się przez uczynienie
/var/lib/tomcat7/logs
własnościątomcat7
użytkownika / grupy./var/log/tomcat7/
Należy również własnościątomcat7
użytkowników i grup.źródło
tomcat-user.xml
wystarczyła zmiana uprawnień do pliku. Takie samo działanie w przypadku dzienników nie działało, ale aplikacja i tak działa :-)