J'ai Tomcat7 en cours d'exécution sur le serveur pour le système de billetterie du support (SysAid). Après un redémarrage, le service Tomcat7 ne démarre pas.
Dans mon fichier catalina.out lorsque je grep pour Tomcat7, j'obtiens ce qui suit: WARNING: Problem with directory [/usr/share/Tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/common], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/server], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false] INFO: Deploying web application archive /var/lib/Tomcat7/webapps/sysaid.war WARNING: Problem with directory [/usr/share/Tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/common], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/server], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false] WARNING: Problem with directory [/usr/share/Tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false] INFO: Deploying web application archive /var/lib/Tomcat7/webapps/sysaid.war Initializing log4j with: /var/lib/Tomcat7/webapps/sysaid/./WEB-INF/log4j.properties Initializing log4j with: /var/lib/Tomcat7/webapps/sysaid/./WEB-INF/log4j.properties INFO: Deploying web application directory /var/lib/Tomcat7/webapps/ROOT
Les fichiers journaux du programme d’assistance ne montrent aucune mention d’erreurs Tomcat7.
Lorsque j'exécute un script de démarrage pour le programme, le message suivant s'affiche: 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 touch: cannot touch ‘/usr/share/Tomcat7/logs/catalina.out’: No such file or directory ./catalina.sh: 385: ./catalina.sh: cannot create /usr/share/Tomcat7/logs/catalina.out: Directory nonexistent
J'ai également vérifié qu'il était déjà configuré pour s'exécuter au démarrage via rc.d avec la commande: Sudo update-rc.d Tomcat7 defaults
Voici ce que je reçois: System start/stop links for /etc/init.d/Tomcat7 already exist.
Je l'ai enlevé et rajouté, sans changement. Est-ce que quelqu'un peut m'aider? Merci d'avance.
Cochez cette case pour voir si c'est lié:
L'installation de Tomcat7 a échoué via apt-get sur Ubuntu 14.04
En gros, il existe une dépendance qui peut être manquante (corrigée avec Sudo apt-get install libtomcat7-Java
), mais en supposant que vous l'ayez déjà fait, il semble que le paquet apt-get soit génériquement FUBAR et nécessite un massage post-installation recommander en tant que apt-get reconfigure
ou d’autres commandes de package peuvent avoir des conséquences indésirables).
Ainsi, l’installation manuelle du fichier .tgz (à partir d’Apache) peut constituer le chemin le plus stable offrant le moins de résistance.
Le problème vient de vos variables système.
Vous avez défini CATALINA_HOME
, mais il n'y a pas de CATALINA_BASE
, donc, par défaut, il est identique à CATALINA_HOME
, mais ce n'est pas correct.
CATALINA_BASE
: (Facultatif) Répertoire de base pour la résolution des parties dynamiques d'une installation Catalina. S'il n'est pas présent, résout le même répertoire que celui indiqué par CATALINA_HOME.
Normalement, vous devriez voir quelque chose comme:
# /usr/share/Tomcat7/bin/catalina.sh run
Using CATALINA_BASE: /var/lib/Tomcat7
Using CATALINA_HOME: /usr/share/Tomcat7
Using CATALINA_TMPDIR: /tmp
Using JRE_HOME: /usr/lib/jvm/Java-7-openjdk-AMD64
Using CLASSPATH: /usr/share/Tomcat7/bin/bootstrap.jar:/usr/share/Tomcat7/bin/Tomcat-juli.jar
Using CATALINA_PID: /var/run/Tomcat7.pid
Si ces variables ne sont pas présentes, vous pouvez également les définir manuellement:
. /etc/default/Tomcat7
export Java_HOME=/usr/lib/jvm/Java-7-openjdk-AMD64 CATALINA_HOME=/usr/share/Tomcat7 CATALINA_BASE=/var/lib/Tomcat7 CATALINA_PID=/var/run/Tomcat7.pid CATALINA_TMPDIR=/tmp
/usr/share/Tomcat7/bin/catalina.sh run
ou configurez votre script de démarrage /etc/init.d/Tomcat7
correctement, comme il devrait normalement avoir ces variables à la fin:
# Directory where the Tomcat 6 binary distribution resides
CATALINA_HOME=/usr/share/$NAME
# Directory for per-instance configuration files and webapps
CATALINA_BASE=/var/lib/$NAME
Vérifiez le contenu de catalina.sh
pour plus de détails, car il décrit tous les prérequis pour les variables d'environnement.
Sinon, réinstallez votre Tomcat.
J'ai aussi rencontré le problème des problèmes de répertoire. C'était après avoir retiré Tomcat 7 et essayé de le réinstaller. Cependant, lorsque je l’ai enlevé pour la première fois, je n’ai pas touché le paquet libtomcat7-Java. Une fois que je me suis aperçu que le problème était peut-être causé par ce paquet, j'ai effectué une suppression et une réinstallation complètes, et Tomcat est apparu comme il se doit:
Supprimer (en veillant à inclure le paquet libtomcat7-Java cette fois):
Sudo apt-get remove --purge Tomcat7 Tomcat7-docs Tomcat7-admin Tomcat7-examples libtomcat7-Java
Réinstaller:
Sudo apt-get install Tomcat7 Tomcat7-docs Tomcat7-admin Tomcat7-examples libtomcat7-Java
La première chose que vous remarquerez est que Tomcat démarrera de son propre chef sans problème. Ensuite, vous pouvez continuer à le configurer correctement.