Files
vps-docs/hestiacp/chapitres/05-utilisateur-hebergement.md
Zana 2e18724685 Ajout du guide PDF HestiaCP réutilisable (HestiaCP 1.10.4)
- 14 chapitres + annexe en Markdown (chapitres/), 99 étapes
- Générateur WeasyPrint (build/build.py) : PDF générique ou
  personnalisé via --vars fichier.conf
- PDF générique + PDF personnalisé srv1.skglobalinstitute.com
- Commandes v-* vérifiées contre le code source HestiaCP 1.10.4
- 03-bis-hestiacp.md pointe vers le nouveau guide

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018J2PsVQ28oW4xEkWJpcU9G
2026-09-10 20:01:59 +02:00

3.5 KiB
Raw Permalink Blame History

Créer l'utilisateur d'hébergement

Dans HestiaCP, chaque utilisateur du panel est un vrai utilisateur Linux. PHP-FPM, les tâches cron et la connexion SSH de ses sites tournent sous ce même compte.

Tous les fichiers d'un site appartiennent donc à un seul utilisateur. Les problèmes de droits connus sous ISPConfig (webX:clientY, ACL, chmod 777 sur le cache Symfony) disparaissent.

Élément Emplacement
Fichiers d'un site /home/{{CLIENT}}/web/<domaine>/public_html/
Fichiers privés (hors web) /home/{{CLIENT}}/web/<domaine>/private/
Journaux du site /home/{{CLIENT}}/web/<domaine>/logs/
Boîtes mail /home/{{CLIENT}}/mail/<domaine>/
Sauvegardes /backup/

Créer un forfait « projets »

Un forfait (package) définit les limites et les réglages par défaut d'un utilisateur. Le forfait default interdit le SSH et ne garde qu'une sauvegarde : on en crée un plus adapté à partir de lui.

sudo cp /usr/local/hestia/data/packages/default.pkg /tmp/projets.pkg
sudo sed -i "s/^SHELL=.*/SHELL='bash'/; s/^BACKUPS=.*/BACKUPS='7'/" /tmp/projets.pkg
sudo v-add-user-package /tmp/projets.pkg projets
sudo rm /tmp/projets.pkg
sudo v-list-user-package projets

[!CHECK] Dans la sortie, la ligne SHELL indique bash, la ligne BACKUPS indique 7 et la ligne NS indique ns1.{{DOMAINE}},ns2.{{DOMAINE}}.

Note

BACKUPS='7' garde 7 sauvegardes quotidiennes locales. Sur un petit disque, réduisez ce nombre. Le forfait se modifie aussi dans le panel : roue dentée › Forfaits.

Créer l'utilisateur {{CLIENT}}

Choisissez un mot de passe fort, que vous notez dans votre gestionnaire de mots de passe. L'espace avant la commande l'empêche d'être enregistré dans l'historique du shell :

 sudo v-add-user {{CLIENT}} 'MOT_DE_PASSE_FORT' {{EMAIL}} projets

Warning

Depuis HestiaCP 1.10, un nom qui existe déjà comme utilisateur Linux est refusé. {{CLIENT}} doit donc être différent de {{USER}} et de {{ADMIN}}.

Vérifier les serveurs de noms de l'utilisateur

Les zones DNS créées par {{CLIENT}} utiliseront ces serveurs de noms :

sudo v-change-user-ns {{CLIENT}} ns1.{{DOMAINE}} ns2.{{DOMAINE}}
sudo v-list-user {{CLIENT}} json | grep -E '"(PACKAGE|SHELL|NS)"'

[!CHECK] "PACKAGE": "projets", "NS": "ns1.{{DOMAINE}},ns2.{{DOMAINE}}", "SHELL": "bash".

Autoriser votre clé SSH pour {{CLIENT}}

Pour déployer vos projets, vous vous connecterez directement en {{CLIENT}}. Ajoutez votre clé publique, celle du fichier ~/.ssh/id_ed25519.pub de votre ordinateur :

sudo v-add-user-ssh-key {{CLIENT}} "$(cat /home/{{USER}}/.ssh/authorized_keys | head -1)"

[!CHECK] Depuis votre ordinateur, ssh -p {{SSH_PORT}} {{CLIENT}}@{{IP}} ouvre une session dans /home/{{CLIENT}}.

Installer Composer pour {{CLIENT}}

sudo v-add-user-composer {{CLIENT}}

Cette commande installe Composer 2 dans /home/{{CLIENT}}/.composer/ et crée l'alias composer pour cet utilisateur.

Choisir la version de PHP en ligne de commande

Par défaut, la commande php utilise la version la plus récente installée. Pour que {{CLIENT}} utilise PHP 8.4 en SSH :

sudo v-change-user-php-cli {{CLIENT}} 8.4

[!WARNING] Cron et scripts : chemin complet obligatoire Cette commande crée seulement un alias dans ~/.bash_aliases, que les tâches cron et les scripts ne lisent pas. Dans ces cas, écrivez toujours le chemin complet : /usr/bin/php8.4.