Comment installer Tomcat7 dans Ubuntu 14.04 LTS?


9

Si je apt-get install tomcat7installe un tomcat7 cassé. Un simple startup.sh me donnera des erreurs, alors qu'une fois corrigé, le tomcat a démarré mais rien ne s'affiche dans localhost: 8080. shutdown.sh me donnera des erreurs et lancera même des exceptions Java. Cela ne se produisait pas dans une version précédente d'Ubuntu, où cela fonctionnait simplement. Donc, il semble que le paquet tomcat n'ait pas été maintenu récemment.

Je peux le faire fonctionner depuis Eclipse (qui d'ailleurs n'est pas correctement entretenu aussi) lorsque je teste mon application web. Cependant, il y a des choses que je dois tester dans une installation autonome de tomcat. Jusqu'à présent, Google n'a pas aidé.

Avez-vous réussi à installer correctement tomcat7 dans Ubuntu 14.4LTS? Si oui, pouvez-vous m'orienter dans la bonne direction?

Éditer:

Voici quelques journaux.

Démarrage de 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.

À la navigation localhost:8080(et 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

L'arrêt de Tomcat échoue également:

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

pourriez-vous publier la sortie startup.sh et shutdown.sh?
Lety

5
Que signifie apt-get install tomcat7installer Tomcat7 cassé ?
Pandya

1
Malheureusement, il n'y a pas assez de détails ici. Qu'est-ce qui vous fait penser que Tomcat7 est rompu des référentiels? Quels symptômes suggèrent cela?
Thomas Ward

Publiez les journaux d'erreurs. Et aussi: que signifie «mais rien n'apparaît dans localhost: 8080» signifie? page vide? page d'erreur de connexion? 404?
eddieferetro

1
@Pandya par cassé, je veux dire que apt-get installe un package qui ne fonctionne pas. Il ne peut pas être configuré, pas mis à jour, incomplet, buggé ...
Juan Garcia

Réponses:


3

Je crois que votre CATALINA_BASE est incorrecte, elle sort du répertoire / var / lib / tomcat7 et CATALINA_HOME est appropriée en ce qui concerne la façon dont vous avez déclaré la variable. Ajoutez CATALINA_HOME et CATALINA_BASE à / etc / default / tomcat7 avec JAVA_HOME et JRE_HOME. Cet exécutable informe le servlet tomcat de la façon dont l'environnement est défini au démarrage du servlet.

Il pourrait également être envisagé de les placer dans / etc / profile puis de les exporter dans /etc/bash.bashrc (c'est-à-dire d'exporter CATALINA_HOME). Cela ne devrait être fait que si et seulement si votre site n'a pas de connexion ou d'enregistrement d'utilisateur. Sans exporter les variables, elles seraient toujours déclarées localement.

Pour déclarer globalement les variables comme une approche, si vous êtes l'administrateur (groupe 4, vous voudrez peut-être aussi penser à déplacer syslog vers le groupe 37, purger rsyslog et simplement garder le démon en cours d'exécution pour les journaux afin de conserver le contrôle d'accès obligatoire) vous pourrait envisager de créer un fichier ~ / .bash_completion ou ~ / .bash_expert dans votre répertoire personnel où vous avez quelque chose comme ceci:

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

Créez ensuite le fichier .tomservlet dans /etc/bash_completion.d/.tomservlet et ajoutez ce qui suit:

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

Une fois cela terminé, ajoutez les lignes suivantes à ~ / .bashrc

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

Ensuite, sourcez le fichier ~ / .bashrc comme indiqué ci-dessous:

:~$ source .bashrc

et cela devrait prendre soin de vos problèmes, de manière sécurisée quel que soit le type d'interaction avec le client. (Ne me retenez pas, vous ne savez jamais ce que les martiens se cachent dans le cyberespace, cela peut parfois être un domaine effrayant).

PS Je faisais précédemment référence au jdk7 oracle-sun ou je suppose que c'est juste Oracle Jdk7, donc si vous utilisez Open Jdk, remplacez-le si nécessaire, si vous utilisez l'oracle, retournez dans le fichier /etc/init.d/tomcat et changez openjdk à votre version où le script fait référence à "$ OPENJDK". Cela suppose également que vous avez installé à partir des référentiels.

Bonne chance, et que ton chat ronronne !!


que faire si localhost: 8080 fonctionne bien mais server_IP_address: 8080 ne fonctionne pas .... la procédure ci-dessus fonctionnera-t-elle .....
Ashwani Kumar Rahul

8

J'ai essayé cela sur un nouveau récipient:

sudo apt-get install tomcat7
sudo dpkg-reconfigure tomcat7

Cela semble résoudre le problème dans mon cas.

Edit: dpkg-reconfigure remplacera votre configuration personnalisée pour tomcat7 par la configuration par défaut du gestionnaire de paquets ou, le cas échéant, présentera un menu à personnaliser.


J'ai essayé cela, je n'ai malheureusement pas résolu l'erreur pour moi. A également cassé mon installation, lié les exceptions, etc.
John Little

Aurait dû ajouter que la reconfiguration remplace tous les fichiers personnalisés par les valeurs par défaut du gestionnaire de packages pour le package donné.
user283885

2
  1. Téléchargez le matou officiel de leur site Web

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

    unzip apache-tomcat-7.0.54.zip       
    
  3. Assurez-vous que Java est installé et JAVA_HOME défini

  4. Démarrez votre tomcat.


0

Essayez de le lancer comme un service avec service tomcat7 start.

J'ai essayé et ça dans mon local (Ubuntu 14.04) et ça marche. Cela m'a donné un problème avec de JAVA_HOME, mais j'ai résolu ce problème et cela fonctionne:

1- Modifier le fichier de configuration de tomcat:

vim /etc/default/tomcat7

2- Recherchez la ligne JAVA_HOME (c'est commenté), et mettez quelque chose comme:

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

pe:

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

Enregistrez et démarrez Tomcat comme un service:

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

et

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

0

installation 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


j'utilise ssh parce que c'est une machine virtuelle 'pour test' 1 téléchargez le fichier 'tomcat7.0 apache download'

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

2 l'extrait ls

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

3 faire dir à

$ sudo mkdir /usr/local/tomcat7

4 déplacer le fichier dans le répertoire

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

5 installation

$ 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 Configuration maintenant, nous allons sur le bureau Ubuntu

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


sélectionner la version parcourir le dir => terminer

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

ferme-le

$ sudo ./shutdown.sh

permet de faire 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

Tutoriel vidéo: ' http://www.youtube.com/watch?v=n5joqK07-NE '


La $ sudo service tomcat7 restartsortie esttomcat7: unrecognized service
Juan Garcia

$ cd / opt / local / tomcat7 / bin $ ls vous trouverez le fichier de script de shell im pas exactement sûr du nom qu'il pourrait être restart.sh excusez-le par $ sudo sh restart.sh si le restart.sh n'existe pas essayez de démarrer puis fermez puis recommencez par $ sudo startup.sh $ sudo shutdown.sh $ sudo startup.sh
hwez

/ opt / local / tomcat7 / bin n'existe pas, il se trouve sous / usr / share / tomcat7 / bin. startup.sh a dit que tomcat a démarré mais que le navigateur ne peut pas voir rien dans localhost: 8080 (essayer avec l'ip locale aussi). shutdown.sh affiche des avertissements et lève une exception. Je mettrai à jour la question avec le journal
Juan Garcia

Mise à jour: j'ai publié mes journaux
Juan Garcia

/ opt / tomcat / bin ou / opt / tomcat7 ou / etc / tomcat7 ou / etc / tomcat si vous ne le trouvez pas cd / opt; ls -lh && cd / etc; ls -ls a mis dans pastebin et commenté je vais installer tocat7 et le vérifier pour u
hwez

0

Je n'ai eu aucun problème à installer et à exécuter Tomcat 7 dans Ubuntu 14.04 LTS. Juste pour être sûr, j'ai regardé l'histoire de bash. Notez que j'ai d'abord installé Oracle Java (au cas où cela ferait une différence)

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

puis Tomcat

sudo apt-get install tomcat7

La commande

sudo service tomcat7 restart

donne

 * Stopping Tomcat servlet engine tomcat7           [ OK ] 
 * Starting Tomcat servlet engine tomcat7           [ OK ]
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.