{"id":8341,"date":"2025-09-20T00:10:54","date_gmt":"2025-09-19T22:10:54","guid":{"rendered":"https:\/\/www.lrob.fr\/?page_id=8341"},"modified":"2025-09-20T00:10:54","modified_gmt":"2025-09-19T22:10:54","slug":"execution-de-scripts-cli","status":"publish","type":"page","link":"https:\/\/portail.lrob.fr\/en\/doc\/documentation-serveurs-plesk-infogeres\/execution-de-scripts-cli\/","title":{"rendered":"Ex\u00e9cution de scripts et gestion des versions PHP\/Node sur serveurs Plesk"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Cette documentation pr\u00e9sente les bonnes pratiques pour ex\u00e9cuter des scripts en CLI (lignes de commande) sur un serveur Plesk en environnement multi-users, ainsi que la gestion des diff\u00e9rentes versions de PHP et Node disponibles.<br>L\u2019objectif est de garantir :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>une ex\u00e9cution correcte des scripts sans probl\u00e8me de permissions,<\/li>\n\n\n\n<li>une utilisation coh\u00e9rente des environnements utilisateurs,<\/li>\n\n\n\n<li>et une s\u00e9curit\u00e9 optimale en \u00e9vitant les mauvaises pratiques (comme donner des droits sudo aux simples users).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Elle s\u2019adresse principalement aux administrateurs ayant acc\u00e8s root, qui souhaitent intervenir sur des domaines ou sous-domaines h\u00e9berg\u00e9s sous Plesk.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1. Ex\u00e9cution de scripts : bonnes pratiques<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Toujours ex\u00e9cuter un script appartenant \u00e0 un <strong>user<\/strong> depuis ce m\u00eame <strong>user<\/strong>.<\/li>\n\n\n\n<li>Si on ex\u00e9cute un script directement depuis <strong>root<\/strong>, les fichiers g\u00e9n\u00e9r\u00e9s appartiendront \u00e0 root \u2192 ce qui provoque des probl\u00e8mes de droits d\u2019acc\u00e8s.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Ex\u00e9cuter une commande en tant qu\u2019un user<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Depuis root, deux possibilit\u00e9s :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ouvrir une session interactive<\/strong>, puis lancer les commandes directement :<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -iu username<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ex\u00e9cuter une seule commande<\/strong>, plus pratique pour encha\u00eener des traitements sur plusieurs users :<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -iu username commande<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udc49 Important : on \u00ab\u00a0abaisse\u00a0\u00bb volontairement les droits depuis root vers le user.<br>\u00c0 l\u2019inverse, il ne faut jamais donner des droits sudo \u00e0 un simple user sur un serveur web (risque de s\u00e9curit\u00e9 et perte d\u2019isolation entre les domaines).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Gestion des versions de PHP<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">M\u00e9canisme via SSH<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sur Plesk, chaque domaine (ou sous-domaine) peut avoir sa propre version de PHP.<br>Lorsqu\u2019un user se connecte en SSH, une variable d\u2019environnement d\u00e9finit automatiquement la bonne version de PHP pour lui.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est pourquoi il est n\u00e9cessaire d\u2019utiliser <code>-i<\/code> avec <code>sudo<\/code> pour charger correctement son environnement :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -iu username php -v<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Utiliser une version sp\u00e9cifique<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les ex\u00e9cutables PHP sont disponibles dans :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/opt\/plesk\/php\/7.4\/bin\/php\n\/opt\/plesk\/php\/8.1\/bin\/php\n\/opt\/plesk\/php\/8.2\/bin\/php\n\/opt\/plesk\/php\/8.3\/bin\/php\n\/opt\/plesk\/php\/8.4\/bin\/php<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple : ex\u00e9cuter PHP 7.4 pour un user donn\u00e9 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -iu username \/opt\/plesk\/php\/7.4\/bin\/php -v<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. Gestion de Node.js<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00eame logique que pour PHP.<br>Exemples de r\u00e9pertoires :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/opt\/plesk\/node\/20\/bin\/node\n\/opt\/plesk\/node\/22\/bin\/node\n\/opt\/plesk\/node\/24\/bin\/node<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Commande depuis root pour ex\u00e9cuter Node avec l\u2019environnement du user :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -iu username \/opt\/plesk\/node\/24\/bin\/node -v<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4. Bonnes pratiques de shell<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il est recommand\u00e9 d\u2019utiliser <strong>\/bin\/bash<\/strong> comme shell par d\u00e9faut pour les users de services, plut\u00f4t que <strong>\/bin\/sh<\/strong>, afin d\u2019\u00e9viter des limitations ou incompatibilit\u00e9s.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Rappel de s\u00e9curit\u00e9<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ex\u00e9cuter depuis root avec <code>sudo -iu username<\/code> est la m\u00e9thode recommand\u00e9e.<\/li>\n\n\n\n<li>Chaque user doit rester <strong>isol\u00e9 dans son dossier<\/strong>.<\/li>\n\n\n\n<li>Ne jamais transformer un simple user en sudoer.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u2705 Avec ces pratiques, vous pourrez g\u00e9rer sereinement l\u2019ex\u00e9cution des scripts et des diff\u00e9rentes versions de PHP\/Node sur tes serveurs Plesk.<\/p>","protected":false},"excerpt":{"rendered":"<p>Cette documentation pr\u00e9sente les bonnes pratiques pour ex\u00e9cuter des scripts en CLI (lignes de commande) sur un serveur Plesk en environnement multi-users, ainsi que la gestion des diff\u00e9rentes versions de PHP et Node disponibles.L\u2019objectif est de garantir : Elle s\u2019adresse principalement aux administrateurs ayant acc\u00e8s root, qui souhaitent intervenir sur des domaines ou sous-domaines h\u00e9berg\u00e9s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8877,"parent":8337,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8341","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/portail.lrob.fr\/en\/wp-json\/wp\/v2\/pages\/8341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portail.lrob.fr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/portail.lrob.fr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/portail.lrob.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/portail.lrob.fr\/en\/wp-json\/wp\/v2\/comments?post=8341"}],"version-history":[{"count":0,"href":"https:\/\/portail.lrob.fr\/en\/wp-json\/wp\/v2\/pages\/8341\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/portail.lrob.fr\/en\/wp-json\/wp\/v2\/pages\/8337"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/portail.lrob.fr\/en\/wp-json\/wp\/v2\/media\/8877"}],"wp:attachment":[{"href":"https:\/\/portail.lrob.fr\/en\/wp-json\/wp\/v2\/media?parent=8341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}