Como instalar o Tomcat7 no Ubuntu 14.04 LTS?

9

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

Posso fazê-lo funcionar no Eclipse (que também não é mantido adequadamente) quando estou testando meu aplicativo da web. No entanto, há coisas que preciso testar em uma instalação autônoma 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 indicar a direção certa?

Editar:

Aqui estão alguns logs.

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.

Consultando 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)
Juan Garcia
fonte
você pode postar a saída startup.sh e shutdown.sh?
Lety 29/06
5
O que significa apt-get install tomcat7instalar o tomcat7 quebrado ?
Pandya
11
Infelizmente, não há detalhes suficientes aqui. O que exatamente faz você pensar que o Tomcat7 está quebrado nos repositórios? Que sintomas sugerem isso?
Thomas Ward
Poste os logs de erro. E também: o que significa 'mas nada aparece no localhost: 8080'? página nula? página de erro de conexão? 404?
Eddieferetro
11
@ Pandya por broken, quero dizer que o apt-get está instalando um pacote que não está funcionando. Ele não pode ser configurado, não atualizado, incompleta, de buggy ...
Juan Garcia

Respostas:

3

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

Também pode ser considerado colocá-los em / etc / profile e depois exportá-los em /etc/bash.bashrc (por exemplo, exportar CATALINA_HOME). Isso só deve ser feito se, e somente se, o seu 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ê é o administrador (grupo 4, também pode querer pensar em mover o syslog para o grupo 37, limpando o rsyslog e mantendo o daemon em execução nos logs, assim preservando o controle de acesso obrigatório) você pode pensar em criar um arquivo ~ / .bash_completion ou ~ / .bash_expert em seu diretório pessoal, onde você tem algo parecido com isto:

# ~/.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

Depois de concluído, adicione as seguintes linhas ao ~ / .bashrc

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

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

:~$ source .bashrc

e isso deve resolver seus problemas, de maneira segura, independentemente do tipo de interação do lado do cliente. (Não me apegue a isso, você nunca sabe o que os marcianos estão à espreita no ciberespaço, às vezes pode ser um reino assustador).

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

Boa sorte, e que seu tomcat ronronar !!

oOpSgEo
fonte
o que fazer se localhost: 8080 funciona bem, mas server_IP_address: 8080 não .... funcionará o procedimento acima .....
Ashwani Kumar Rahul
8

Eu tentei isso em um recipiente novo:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Parece corrigir o problema no meu caso.

Edit: o dpkg-reconfigure substituirá sua configuração personalizada do tomcat7 pela configuração padrão do gerenciador de pacotes ou, onde for fornecido, apresentará um menu para personalizar.

user283885
fonte
Tentei isso, não corrigiu o erro para mim, infelizmente. Quebrou meu instalar também, vincular exceções etc.
John pouco
Deveria ter adicionado que a reconfiguração substitui todos os arquivos personalizados pelos padrões do gerenciador de pacotes para o pacote especificado.
user283885
2
  1. Faça o download do tomcat oficial no site deles

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

    unzip apache-tomcat-7.0.54.zip       
    
  3. Certifique-se de ter o Java instalado e o JAVA_HOME definido

  4. Inicie seu tomcat.

LnxSlck
fonte
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 corrigi dessa maneira e funciona:

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

vim /etc/default/tomcat7

2- Pesquise a linha JAVA_HOME (está comentada) e coloque algo como:

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

educaçao Fisica:

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
eddieferetro
fonte
0

instalando eclipse e defd jdk e 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 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 extraí-lo sl

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

3 dir dir

$ sudo mkdir /usr/local/tomcat7

4 mova o arquivo para o diretório

$ 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 o desktop ubuntu

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


selecione a versão procure o dir => terminar

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

desligue isso

$ 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: ' http://www.youtube.com/watch?v=n5joqK07-NE '

hwez
fonte
A $ sudo service tomcat7 restartsaída étomcat7: unrecognized service
Juan Garcia
$ cd / opt / local / tomcat7 / bin $ ls, você encontrará o arquivo de script shell não tenho exatamente certeza sobre o nome que poderia ser restart.sh exclua-o com $ sudo sh restart.sh se o restart.sh não existir, tente iniciar em seguida, fechar, em seguida, começar de novo por $ sudo startup.sh $ sudo shutdown.sh $ sudo startup.sh
hwez
/ opt / local / tomcat7 / bin não existe, está em / usr / share / tomcat7 / bin. startup.sh disse que o tomcat foi iniciado, mas o navegador não pode ver nada no localhost: 8080 (tentando também com o ip local). shutdown.sh mostra avisos e lança uma exceção. Eu atualizarei a pergunta com o log
Juan Garcia
Atualização: Eu postei meus logs
Juan Garcia
/ opt / tomcat / bin ou / opt / tomcat7 ou / etc / tomcat7 ou / etc / tomcat se você não encontrar o cd / opt; ls -lh && cd / etc; ls -LS colocar em pastebin & comentário que eu estou indo para instalar tocat7 e verifique se u
hwez
0

Não tive problemas para instalar e executar o Tomcat 7 no Ubuntu 14.04 LTS. Só para ter certeza, procurei na história do bash. Observe que eu instalei o Oracle Java pela primeira vez (caso isso faça alguma 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 ]
atmelino
fonte