web-dev-qa-db-fra.com

Impossible de démarrer Tomcat.service: unité Tomcat.service introuvable

Je n'arrive pas à exécuter un service Tomcat à partir d'un utilisateur régulier et bien que j'essaie en tant que root, je reçois

root@ip-:/home/ubuntu# service Tomcat
Run as /etc/init.d/Tomcat <start|stop|restart>
root@ip-:/home/ubuntu# service Tomcat start
Failed to start Tomcat.service: Unit Tomcat.service not found.
root@ip-:/home/ubuntu# 

Je l'ai exécuté manuellement et cela a semblé fonctionner

root@ip-:/home/ubuntu# /etc/init.d/Tomcat start
Using CATALINA_BASE:   /usr/local/Tomcat/current_Tomcat
Using CATALINA_HOME:   /usr/local/Tomcat/current_Tomcat
Using CATALINA_TMPDIR: /usr/local/Tomcat/current_Tomcat/temp
Using JRE_HOME:        /usr/local/Java/current_Java
Using CLASSPATH:       /usr/local/Tomcat/current_Tomcat/bin/bootstrap.jar:/usr/local/Tomcat/current_Tomcat/bin/Tomcat-juli.jar

Tomcat started.

Si je le lance en tant qu'utilisateur régulier, je n'arrive pas à obtenir l'autorisation. J'ai des utilisateurs sans mot de passe que des clés ssh Word.

ubuntu@ip-:~$ service Tomcat start
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start 'Tomcat.service'.
Multiple identities can be used for authentication:
 1.  Ubuntu (ubuntu)
 2.  An,,, (an)
Choose identity to authenticate as (1-2): 1
Password: 
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to start Tomcat.service: Access denied
See system logs and 'systemctl status Tomcat.service' for details.
ubuntu@ip-:~$ 

Et voici le script pour le service

ubuntu@ip-:~# cat /etc/init.d/Tomcat 
#!/bin/bash
export CATALINA_HOME=/usr/local/Tomcat/current_Tomcat`
start() {
 sh $CATALINA_HOME/bin/startup.sh
}
stop() {
 sh $CATALINA_HOME/bin/shutdown.sh
}
case $1 in
  start|stop) $1;;
  restart) stop; start;;
  *) echo "Run as $0 <start|stop|restart>"; exit 1;;
esac
ubuntu@ip-:~# ll /etc/init.d/Tomcat 
-rwxr-xr-x 1 root root 306 Feb 14 07:20 /etc/init.d/Tomcat*
3
c3cris

J'utilise Ubuntu 16.04 lorsque je rencontre ce problème. Je l'ai résolu.

Tout d'abord, ajoutez une ligne en haut du script:

. /lib/lsb/init-functions

Ensuite, dans Shell, créez des liens symboliques de/etc/rc * vers mon script:

Sudo update-rc.d Tomcat defaults 95

Cela fera également en sorte que votre script s'exécute automatiquement après le redémarrage.

2
Leon Wolf