- 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
3.5 KiB
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
SHELLindiquebash, la ligneBACKUPSindique7et la ligneNSindiquens1.{{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.