web-dev-qa-db-fra.com

Autorisations pour le fichier de service Tomcat 8 ne fonctionne pas

J'essaie d'installer Tomcat 8 sur Ubuntu 16.04. C'est le guide que je suive:

https://www.digitalocean.com/community/tatudials/how-a-install-apache-tomcat-8-on-ubuntu-16-04

L'idée de base est que vous êtes censé créer un utilisateur supplémentaire nommé "Tomcat" avec des droits limités pour exécuter Tomcat. Lorsque j'essaie d'exécuter la commande finale pour commencer comme service (essayé comme la racine):

Sudo systemctl start Tomcat

Je reçois l'erreur suivante:

Job pour Tomcat.Service a échoué car le processus de contrôle est sorti avec le code d'erreur. Voir "Statut SystemCtL Tomcat.service" et "JournalCl -Xe" pour plus de détails.

Vérification du statut SystemCTL:

Tomcat.service - Apache Tomcat Web Application Container
Loaded: loaded (/etc/systemd/system/Tomcat.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) 
Process: 14 ExecStart=/opt/Tomcat/bin/startup.sh (code=exited, status=203/EXEC)

systemd[1]: Starting Apache Tomcat Web Application Container...
systemd[1]: Tomcat.service: Control process exited, code=exited status=203
systemd[1]: Failed to start Apache Tomcat Web Application Container.
systemd[1]: Tomcat.service: Unit entered failed state.
systemd[1]: Tomcat.service: Failed with result 'exit-code'.

C'est le fichier TomCat.Service:

# /etc/systemd/system/Tomcat.service

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=Java_HOME=/usr/lib/jvm/Java-1.8.0-openjdk-AMD64
Environment=CATALINA_PID=/opt/Tomcat/temp/Tomcat.pid
Environment=CATALINA_HOME=/opt/Tomcat
Environment=CATALINA_BASE=/opt/Tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='Java_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/Tomcat/bin/startup.sh
ExecStop=/opt/Tomcat/bin/shutdown.sh

User=Tomcat
Group=Tomcat
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Ce sont les droits d'accès sur le dossier/tomcat/bin:

-rwxr-x--- 1 root root   1902 Jul  6 08:44 shutdown.sh
-rwxr-x--- 1 root root   1904 Jul  6 08:44 startup.sh
... 

Les autres utilisateurs signalent le même problème et suggèrent de donner à la propriété de l'utilisateur "Tomcat" de l'ensemble du dossier "Tomcat". Mais cela semble entrer en conflit avec l'esprit de l'article (limitant l'accès à l'amélioration de la sécurité).

Je ne sais pas si je manque quelque chose impliqué dans l'article ici concernant les autorisations?

Merci

6
user3203425

Simplement supprimer tout ce que vous avez fait jusqu'à présent. Puis:

Sudo apt-get install Tomcat8
Sudo service Tomcat8 start
3
Lisandro

J'ai eu le même problème. Dans mon cas, j'utilise Java 11. Le problème est que dans ce nouveau Java version Le dossier JRE n'est pas inclus. Effacer le/jre dans le chemin pour le java_home et cela devrait fonctionner.

J'ai également suivi toutes les étapes de ce tutoriel et je pourrais courir Tomcat sans aucun autre problème majeur.

Vous devez exécuter

cd /opt/Tomcat/bin && Sudo chmod +x catalina.sh

Tomcat a besoin de commencer catalina.sh à partir de startup.sh

0
cdarwin

Suivi de l'article et obtenu la même erreur que vous.

Après un:

chgrp -R Tomcat bin chmod g+rwx bin chmod g+r bin/*

cela a fonctionné pour moi.

Pas besoin de changer tous les fichiers/dossiers dans/opt/tomcat (seulement le démarrage, l'arrêt et ceux invoqués par ces deux - c'est pourquoi j'ai utilisé tout le dossier bin).

BTW, vous pouvez aussi faire un apt-get install Tomcat8 Pour obtenir un serveur Tomcat8 de travail :) (Cela crée un utilisateur/groupe Tomcat8 avec un identifiant inférieur à 1000).

0
Zina