Come installare Tomcat7 in Ubuntu 14.04 LTS?


9

Se sto apt-get install tomcat7installando un Tomcat7 rotto. Un semplice startup.sh mi darà errori, rispetto a quando riparato dice che Tomcat è stato avviato ma non viene visualizzato nulla in localhost: 8080. shutdown.sh mi darà errori e persino genererà eccezioni Java. Ciò non accadeva in alcune versioni precedenti di Ubuntu, dove semplicemente funzionava. Quindi, sembra che il pacchetto Tomcat non sia stato mantenuto di recente.

Posso farlo funzionare da Eclipse (che tra l'altro non è stato mantenuto correttamente) quando sto testando la mia app web. Tuttavia, ci sono cose che devo testare in un'installazione Tomcat autonoma. Finora, Google non ha aiutato.

Qualcuno di voi è riuscito a installare correttamente Tomcat7 in Ubuntu 14.4LTS? Se è così, puoi indicarmi la giusta direzione?

Modificare:

Ecco alcuni registri.

Avvio di 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.

Navigando a 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

Anche l'arresto di Tomcat non riesce:

$ 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)

potresti pubblicare output startup.sh e shutdown.sh?
Lety,

5
Cosa si intende per apt-get install tomcat7installazione di Tomcat7 rotto ?
Pandya,

1
Purtroppo non ci sono abbastanza dettagli qui. Cosa ti fa esattamente pensare che Tomcat7 sia rotto dai repository? Quali sintomi suggeriscono questo?
Thomas Ward

Pubblica i log degli errori. E anche: cosa significa "ma non appare nulla in localhost: 8080"? pagina vuota? pagina di errore di connessione? 404?
eddieferetro,

1
@Pandya by broken Voglio dire che apt-get sta installando un pacchetto non funzionante. Non può essere configurato, non aggiornato, incompleto, buggy ...
Juan Garcia

Risposte:


3

Ritengo che CATALINA_BASE non sia corretto, si esaurisce la directory / var / lib / tomcat7 e CATALINA_HOME è corretto per quanto riguarda come è stata dichiarata la variabile. Aggiungi CATALINA_HOME e CATALINA_BASE a / etc / default / tomcat7 insieme a JAVA_HOME e JRE_HOME. Tale eseguibile informa il servlet tomcat di come l'ambiente viene impostato all'avvio del servlet.

Si potrebbe anche considerare di metterli in / etc / profile e quindi esportarli in /etc/bash.bashrc (es. Esportare CATALINA_HOME). Questo dovrebbe essere fatto solo se e solo se il tuo sito non ha accesso o registrazione dell'utente. Senza esportare le variabili verrebbero comunque dichiarate localmente.

Per dichiarare a livello globale le variabili un approccio, se sei l'amministratore (gruppo 4, potresti anche pensare a spostare syslog nel gruppo 37, eliminare rsyslog e mantenere il demone in esecuzione per i registri e preservare il controllo di accesso obbligatorio) potresti meditare sulla creazione di un file ~ / .bash_completion o ~ / .bash_expert nella tua home directory dove hai qualcosa del genere:

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

Quindi creare il file .tomservlet in /etc/bash_completion.d/.tomservlet e aggiungere quanto segue:

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

Una volta completato, aggiungi le seguenti righe a ~ / .bashrc

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

Quindi fonte il file ~ / .bashrc come mostrato di seguito:

:~$ source .bashrc

e ciò dovrebbe occuparsi dei tuoi problemi, in modo sicuro, indipendentemente dal tipo di interazione lato client. (Non trattenermi, non sai mai quali marziani si nascondono nel cyberspazio, a volte può essere un regno spaventoso).

PS In precedenza mi riferivo all'oracle-sun jdk7 o suppongo che sia solo Oracle Jdk7, quindi se stai usando Open Jdk sostituiscilo se necessario, se usi l'oracle torna nel file /etc/init.d/tomcat e cambia openjdk alla tua versione in cui lo script fa riferimento a "$ OPENJDK". Questo presuppone anche che tu abbia installato dai repository.

Buona fortuna, e possa il tuo gatto le fusa !!


cosa fare se localhost: 8080 funziona bene ma server_IP_address: 8080 non .... funzionerà la procedura sopra descritta .....
Ashwani Kumar Rahul

8

Ho provato questo su un contenitore nuovo:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Sembra risolvere il problema nel mio caso.

Modifica: dpkg-reconfigure sostituirà la tua configurazione personalizzata per tomcat7 con la configurazione predefinita del gestore pacchetti o, ove indicato, presenterà un menu da personalizzare.


Ho provato questo, non ha corretto l'errore per me tristemente. Ho rotto anche la mia installazione, vincolo eccezioni ecc.
John Little,

Avrebbe dovuto aggiungere che riconfigurare sostituisce tutti i file personalizzati con i valori predefiniti del gestore pacchetti per il pacchetto specificato.
user283885

2
  1. Scarica il tomcat ufficiale dal loro sito Web

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

    unzip apache-tomcat-7.0.54.zip       
    
  3. Assicurati di avere Java installato e JAVA_HOME definito

  4. Avvia il tuo Tomcat.


0

Prova ad avviarlo come un servizio con service tomcat7 start.

L'ho provato nel mio locale (Ubuntu 14.04) e funziona. Mi ha dato un problema con de JAVA_HOME, ma ho risolto in questo modo e funziona:

1- Modifica il file di configurazione di Tomcat:

vim /etc/default/tomcat7

2- Cerca la riga JAVA_HOME (è commentata) e inserisci qualcosa come:

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

pe:

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

Salva e avvia Tomcat come un servizio:

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

0

installazione di eclipse & defult jdk & 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

sto usando ssh perché è una macchina virtuale 'per test'
1 scarica il file 'tomcat7.0 apache download'

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

2 estrailo ls

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

3 crea dir a

$ sudo mkdir /usr/local/tomcat7

4 sposta il file nella directory

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

5 installazione

$ 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 configurazione ora andiamo al desktop di Ubuntu

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


seleziona la versione sfoglia il dir => finish

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

spegnerlo

$ sudo ./shutdown.sh

facciamo un test

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

Esercitazione video: " http://www.youtube.com/watch?v=n5joqK07-NE "


L' $ sudo service tomcat7 restartoutput ètomcat7: unrecognized service
Juan Garcia,

$ cd / opt / local / tomcat7 / bin $ ls troverai il file di script della shell non sono esattamente sicuro del nome che potrebbe essere riavviato. quindi chiudere quindi ricominciare da $ sudo startup.sh $ sudo shutdown.sh $ sudo startup.sh
hwez

/ opt / local / tomcat7 / bin non esiste, è in / usr / share / tomcat7 / bin. startup.sh ha detto che tomcat è stato avviato ma il browser non può vedere nulla in localhost: 8080 (provando anche con l'ip locale). shutdown.sh mostra gli avvisi e genera un'eccezione. Aggiornerò la domanda con il registro
Juan Garcia,

Aggiornamento: ho pubblicato i miei registri
Juan Garcia,

/ opt / tomcat / bin o / opt / tomcat7 o / etc / tomcat7 o / etc / tomcat se non lo trovi cd / opt; ls -lh && cd / etc; ls -ls inserisce pastebin e commenta che sto per installare tocat7 e controllarlo per te
hwez

0

Non ho avuto problemi con l'installazione e l'esecuzione di Tomcat 7 in Ubuntu 14.04 LTS. Giusto per essere sicuro, ho cercato la storia di Bash. Nota che ho installato Oracle Java per la prima volta (nel caso in cui fa la differenza)

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

quindi Tomcat

sudo apt-get install tomcat7

Il comando

sudo service tomcat7 restart

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.