A instalação do Tomcat7 falhou via apt-get no Ubuntu 14.04

A instalação do Tomcat7 falhou via apt-get no Ubuntu 14.04

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 tomcat7recebo 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:

  1. Desinstalei o Tomcat7 usando apt-get purge tomcat7ou apt-get autoremove tomcat7e instalei novamente, mas obtive o mesmo erro. :(

  2. Tentei apt-get updateremover o Tomcat7 e instalei novamente, mas falhei.

  3. Defina o caminho CATALINA em .bashrcou /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:8080també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.

informação relacionada