tactile: ne peut pas toucher `/usr/share/tomcat7/logs/catalina.out ': aucun fichier ou répertoire de ce type

8

J'ai un problème lors du démarrage de Tomcat à partir du terminal. J'ai installé tomcat en utilisant - sudo apt-get install tomcat7, il y a quelques jours. Maintenant, lorsque je le démarre à l'aide de la commande ci-dessous, j'obtiens l'erreur suivante:

~/tomcat7/bin$ sudo ./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
touch: cannot touch `/usr/share/tomcat7/logs/catalina.out': No such file or directory  
./catalina.sh: 389: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent

Je ne comprends pas ce qui a mal tourné. J'ai pu y accéder - http://localhost:8080quand je l'ai installé. Mais ensuite, j'ai exécuté la commande pour désactiver le démarrage au démarrage:

sudo update-rc.d tomcat remove

Et maintenant, ça ne commence pas du tout. :(

Rohit Jain
la source
Êtes-vous sûr que vous exécutez le Tomcat à partir des packages Ubuntu? Je ne pense pas ... Il semble que vous en ayez installé un autre en amont (dans ~/tomcat7?) Car celui d'Ubuntu n'écrira pas de fichiers journaux /usr/share/tomcat7/logs, mais /var/logquelque part. Vous ne vouliez pas exécuter Tomcat comme ça service tomcat start?
gertvdijk
@gertvdijk. Oh cher! Ça fonctionne maintenant. On dirait que tomcat a été installé en tant que service. Merci.
Rohit Jain
@gertvdijk. J'ai encore une question. J'essaie maintenant de déployer un fichier de guerre. Je l'ai copié dans - /usr/share/tomcat7/webappsrépertoire. Mais lorsque j'accède à la page, il affiche une erreur 404. Ensuite, j'ai déplacé le fichier de guerre vers - /var/lib/tomcat7/webapps, là aussi, il affiche la même erreur. Comment pourrais-je déployer la guerre? Si vous le souhaitez, je peux le poster sous une autre question.
Rohit Jain
@gertvdijk. En attendant, vous pouvez ajouter votre commentaire comme réponse. Je l'accepte. Merci :)
Rohit Jain
Veuillez ne pas poser de nouvelles questions dans les commentaires. Posez plutôt une nouvelle question en appuyant sur le bouton «Poser une question» en haut de la page.
gertvdijk

Réponses:

5

Une fois installé à l'aide du tomcat7package, il est prévu de démarrer et d'arrêter Tomcat à l'aide de upstart ( service tomcat start) ou du /etc/init.d/tomcatscript. Si vous le démarrez à l'aide du startup.shscript, il est probable que ses variables d'environnement soient incorrectement configurées.

Veuillez consulter ma réponse à votre question précédente ( Comment dois-je installer Apache Tomcat 7 pour l'utiliser avec Eclipse? ) Pour une meilleure façon d'installer Tomcat si vous ne voulez pas l'exécuter en tant que service.

David Edwards
la source
D'accord. Je pense que je ferais mieux d'installer une instance privée de tomcat. Puis-je simplement faire - apt-get purge tomcat7pour désinstaller le précédent?
Rohit Jain
@RohitJain No. apt-getgère les packages Ubuntu, pas les fichiers que vous avez installés à partir d'une autre source. Consultez le README / INSTALL ou toute autre documentation avec la source en amont de l'autre instance que vous avez installée. Veuillez éviter d'exécuter des logiciels à partir des sources si des packages Ubuntu sont disponibles. Comme vous le voyez, vous ne faites que compliquer la gestion de votre système.
gertvdijk
@gertvdijk. Je l'ai installé en utilisant apt-get install tomcat7uniquement. Puis-je le désinstaller comme ça dans ce cas?
Rohit Jain
1

créez simplement le dossier manquant comme ceci:

sudo mkdir /var/tomcat/logs

puis exécutez à nouveau tomcat comme ceci:

sudo sh /opt/apache-tomcat-{version}/bin/startup.sh

Le message lui-même est explicite, si vous ne connaissez pas la hiérarchie du système de fichiers Unix / Linux, et comment il fonctionne, je vous recommande fortement de commencer à regarder certains tutoriels.

JulsLyon
la source
0

Dans mon cas, j'ai rencontré un problème similaire et tomcat7 ne démarre pas.
Apparemment, le /var/log/tomcat7dossier avait été supprimé en raison du redémarrage de la boîte ...

Voici comment j'ai corrigé:

rwxrwxrwx 1 root    root      17 Feb 27  2014 logs -> ../../log/tomcat7
/var/log# mkdir tomcat7
/var/log/tomcat7# cd /etc/init.d/
/etc/init.d# ./tomcat7 start
dinbo
la source