Como instalar o Tomcat7 no Ubuntu 14.04 LTS?

9

Se eu apt-get install tomcat7 estiver instalando um tomcat7 quebrado. Um simples startup.sh vai me dar erros, do que quando fixo diz que o tomcat foi iniciado, mas nada aparece no localhost: 8080. shutdown.sh me dará erros e até mesmo lançará exceções Java. Isso não estava acontecendo em algum lançamento anterior do Ubuntu, onde simplesmente funcionava. Então, parece que o pacote do tomcat não foi mantido recentemente.

Eu posso fazê-lo funcionar a partir do Eclipse (que, a propósito, também não foi mantido adequadamente) quando estou testando meu aplicativo da web. No entanto, existem coisas que preciso testar em uma instalação independente do tomcat. Até agora, o Google não ajudou.

Algum de vocês conseguiu instalar corretamente o tomcat7 no Ubuntu 14.4LTS? Se sim, você pode me apontar na direção certa?

Editar:

Aqui estão alguns registros.

Iniciando o tomcat:

$ sudo /usr/share/tomcat7/bin/startup.sh 
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Tomcat started.

Navegação para localhost:8080 (e http://127.0.0.1:8080 , http://127.0.0.1 , http://[my network ip here] ):

Oops! Google Chrome could not connect to localhost:8080

Parar o tomcat também falha:

$ sudo /usr/share/tomcat7/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Jul 03, 2014 7:15:55 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.io.FileNotFoundException: /usr/share/tomcat7/conf/server.xml (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:466)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:370)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:457)
    
por Juan Garcia 24.06.2014 / 03:52

6 respostas

3

Acredito que o seu CATALINA_BASE esteja incorreto, ele está fora do diretório / var / lib / tomcat7 e o CATALINA_HOME é adequado em relação à forma como você declarou a variável. Adicione CATALINA_HOME e CATALINA_BASE a / etc / default / tomcat7 junto com JAVA_HOME e JRE_HOME. Esse executável notifica o servlet tomcat de como o ambiente é definido na inicialização do servlet.

Também pode ser considerado colocá-los em / etc / profile e, em seguida, exportá-los em /etc/bash.bashrc (ou seja, exportar CATALINA_HOME). Isso só deve ser feito se e somente se o site não tiver login ou registro de usuário. Sem exportar as variáveis, elas ainda seriam declaradas localmente.

Para declarar globalmente as variáveis como uma abordagem, se você for o administrador (grupo 4, também poderá pensar em mover o syslog para o grupo 37, limpar o rsyslog e manter o daemon em execução para os logs, para preservar o acesso obrigatório controle) você poderia ponderar a criação de um arquivo ~ / .bash_completion ou ~ / .bash_expert no seu diretório home onde você tem algo assim:

# ~/.bash_expert in regards to servlet alias
if [ -f /etc/bash_completion.d/.tomservlet ]; then
    . /etc/bash_completion.d/.tomservlet
fi
export CATALINA_HOME
export CATALINA_BASE
export JRE_HOME
export JAVA_HOME

Em seguida, crie o arquivo .tomservlet em /etc/bash_completion.d/.tomservlet e adicione o seguinte:

CATALINA_HOME=/usr/share/tomcat7
CATALINA_BASE=/var/lib/tomcat7
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
JRE_HOME=$JAVA_HOME:/jre

Quando isso estiver concluído, adicione as seguintes linhas a ~ / .bashrc

if [ -f "$HOME/.bash_expert" ];then
    . "$HOME/.bash_expert"
fi

Em seguida, forneça o arquivo ~ / .bashrc como mostrado abaixo:

:~$ source .bashrc

e que deve cuidar de seus problemas, de forma segura, não importa que tipo de interação do lado do cliente é realizada. (Não me prenda a isso, você nunca sabe o que os marcianos estão à espreita no ciberespaço, às vezes pode ser um reino assustador).

P.S. Eu já estava me referindo ao oracle-sun jdk7 ou acho que é apenas o Oracle Jdk7 então se estiver usando o Open Jdk substitua-o conforme necessário, caso esteja usando o oracle volte ao arquivo /etc/init.d/tomcat e altere o openjdk para a sua versão, onde o script se refere a "$ OPENJDK". Isso também pressupõe que você instalou a partir dos repositórios.

Boa sorte, e seu gato ronronar !!

    
por oOpSgEo 23.11.2014 / 14:34
8

Eu tentei isso em um novo recipiente:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Parece corrigir o problema no meu caso.

Editar: O dpkg-reconfigure substituirá sua configuração customizada para o tomcat7 pela configuração padrão do gerenciador de pacotes, ou, quando houver, apresentará um menu para personalizar.

    
por user283885 02.07.2014 / 17:45
2
  1. Faça o download do tomcat oficial de seu site

    wget http://mirrors.fe.up.pt/pub/apache/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.zip
    
  2. Descomprima-o

    unzip apache-tomcat-7.0.54.zip       
    
  3. Verifique se você tem o Java instalado e o JAVA_HOME definido

  4. Inicie seu tomcat.

por LnxSlck 02.07.2014 / 18:03
0

Tente iniciá-lo como um serviço com service tomcat7 start.

Eu tentei e no meu local (Ubuntu 14.04) e funciona. Isso me deu um problema com o JAVA_HOME, mas eu corrijo assim e funciona:

1- Edite o arquivo de configuração do tomcat:

vim /etc/default/tomcat7

2- Procure na linha JAVA_HOME (é comentado), e coloque algo como:

JAVA_HOME=/usr/lib/jvm/<your-jvm>

p.e:

JAVA_HOME=/usr/lib/jvm/java-7-oracle

Salve e inicie o tomcat como um serviço:

root@skynet:/etc/init.d# service tomcat7 start
 * Starting Tomcat servlet engine tomcat7  

e

root@skynet:/etc/init.d# service tomcat7 stop
 * Stopping Tomcat servlet engine tomcat7
    
por eddieferetro 03.07.2014 / 13:52
0

instalando o eclipse & amp; defultar jdk & amp; git

$ sudo apt-get eclipse
$ sudo apt-get eclipse-jdt
$ sudo apt-get eclipse-pde
$ sudo apt-get eclipse-platform
$ sudo apt-get eclipse-rcp

$ sudo apt-get install default-jdk
$ sudo apt-get install ant git

Estou usando o ssh porque é uma máquina virtual 'para teste'
1 baixe o arquivo 'tomcat7.0 apache download'

$ wget http://apache.claz.org/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz

2 extrai-o ls

$ sudo tar -xvf apache-tomcat-7.0.54.tar.gz

3 faça dir em

$ sudo mkdir /usr/local/tomcat7

4 mova o arquivo para a pasta

$ mv apache-tomcat-7.0.54 /usr/local/tomcat7

5 instalando

$ cd /usr/local/tomcat7/apache-tomcat-7.0.54
$ sudo ln -s /var/lib/tomcat/conf conf
$ sudo ln -s /etc/tomcat7/policy.d/03catalina.policy/conf/catalina.policy
$ sudo ln -s /var/log/tomcat7 log
$ sudo chmor -R 777 /usr/local/tomcat7/apach*/conf

6 configuração agora vamos para a área de trabalho do ubuntu

Lunch eclipse => window => Preferences => Server => Runtime Envirenment


selecione a versão para navegar pelo dir = > terminar

$ cd ../../apach*/bin
$ ls -la 

desligue-a

$ sudo ./shutdown.sh

vamos fazer um teste

eclipse => file => new => other... => web project

doulble click it => right click web content => test.htm 

<html>
<head>
<title> testing tomcat7 & eclipse</title>
</head>
<h2>Job's Done !</h2>

click on 'no servers are ....' => tomcat version => next => add to configured 
menu => run => run as => fninish
localhost:8080/test/test.htm
localhost:8080/project name/page name

Tutorial em vídeo: ' link '

    
por hwez 02.07.2014 / 18:41
0

Eu não tive problemas para instalar e executar o Tomcat 7 no Ubuntu 14.04 LTS. Só para ter certeza, eu olhei para o histórico do bash. Note que eu instalei o Oracle Java pela primeira vez (no caso de fazer diferença)

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

então Tomcat

sudo apt-get install tomcat7

O comando

sudo service tomcat7 restart

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
    
por atmelino 04.10.2014 / 03:50