Estou enfrentando um problema ao instalar o Tomcat7 no Ubuntu 14.04. O JDK já está instalado no meu sistema (versão 1.7), mas quando utilizo apt-get install tomcat7
recebo o erro abaixo:
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]**
Tentei todas as soluções que encontrei na Internet, como:
Desinstalei o Tomcat7 usando
apt-get purge tomcat7
ouapt-get autoremove tomcat7
e instalei novamente, mas obtive o mesmo erro. :(Tentei
apt-get update
remover o Tomcat7 e instalei novamente, mas falhei.Defina o caminho CATALINA em
.bashrc
ou/etc/environment
. Mas não tive sorte.
Observação:Instalei o mesmo tomcat7 em meu servidor Ubuntu 14.04 local e ele foi instalado corretamente na primeira tentativa.
Responder1
Consegui resolver isso instalando o pacote libtomcat7-Java. Esta parece ser a dependência que falta.
sudo apt-get install libtomcat7-java
Responder2
Eu entendo esse problema. Isso é causado por (a) divisão de partes do Tomcat em diferentes locais FS (/etc, /var, /usr/lib, /usr/share etc) (b) atribuição de propriedade errada (= permissões) para, por exemplo, logs e diretório temporário. Então o usuário tomcat7 simplesmente não consegue escrever sua reclamação na inicialização.
A solução simples é instalar o tgz do tomcat.apache.org (e iniciá-lo manualmente; ok se você desenvolver com tc). Outra é apenas ler o script de inicialização, saber quais diretórios devem ser atualizados e verificar sua propriedade. Wasy hack é adicionar o usuário tomcat7 ao grupo root, que geralmente possui bits de gravação.
Responder3
Também tentei a instalação através do método binário (tgz). Depois disso, o serviço do Tomcat está funcionando bem e http://My_Ip:8080
também está funcionando, mas quando verificado os /var/log/tomcat/
logs mostra algum erro,
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"]
Responder4
Eu tive o mesmo problema com o Tomcat8 e consegui resolver o problema removendo o Tomcat8-common:
sudo apt-get purge tomcat8-common
Espero que isso ajude outras pessoas que tenham o mesmo problema.