Questões de permissão com o tomcat

9

Eu instalei o Tomcat 7 seguindo o guia do Ubuntu . O servidor está funcionando e me dá o "funciona!" página em http://localhost:8080/ .

Agora, quero configurar meu próprio aplicativo da Web usando o NetBeans. Gerei um novo Web Project com o Java EE 6 e o Tomcat 7. O usuário está no arquivo /var/lib/tomcat7/conf/tomcat-users.xml configurado corretamente.

Quando eu executo o projeto, tudo parece ok, mas quando abro o navegador, ele exibe um erro 500 .

Permissões de arquivos:

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

Eu não entendo porque não posso acessar os arquivos, você pode ver que o usuário e o grupo tomcat7 tem permissões para os arquivos. Existe um usuário para a JVM que precisa de privilégios sobre os arquivos?

Eu também tentei alterar as propriedades dos arquivos conforme mencionado aqui , mas isso não muda nada.

O arquivo /etc/default/tomcat7 possui:

TOMCAT7_USER=tomcat7
TOMCAT7_GROUP=tomcat7

Então, acho que está sendo executado como tomcat7 user.

Eu adicionei meu usuário ao grupo tomcat7 :

sudo usermod -aG tomcat7 $USER

Em seguida, reiniciei a máquina, mas o problema persistiu.

    
por Lucio 27.08.2014 / 00:17

1 resposta

9

Eu notei dois problemas aqui.

Duas linhas no log de erros se destacaram para mim:

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

e:

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

Fazendo um pouco de diagnóstico com o Lucio , descobri que o arquivo tomcat-users.xml não estava propriedade do Tomcat, mas em vez disso root . Altere as permissões para as corretas executando o comando:

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

Além disso, crie a pasta /var/lib/tomcat7/temp com as permissões do tomcat, assim:

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

Por fim, a correção dos logs deve ser feita com /var/lib/tomcat7/logs pertencente ao tomcat7 user / group. O /var/log/tomcat7/ também deve pertencer ao grupo% user_ do tomcat7 .

    
por Kaz Wolfe 31.08.2014 / 00:18