From 1ebf4a6c725ed918539148b148a7b70dce3383fc Mon Sep 17 00:00:00 2001 From: Zana Date: Fri, 11 Sep 2026 00:47:29 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20CLAUDE.md=20:=20contexte=20et=20r=C3=A8?= =?UTF-8?q?gles=20pour=20Claude=20Code=20sur=20le=20nouveau=20VPS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Règle sudo : script Python ~/setup_xxx.py + suppression automatique - Contexte complet du VPS skglobalinstitute.com (IP, domaine, utilisateurs) - Pièges HestiaCP vérifiés dans le code source - Préférences utilisateur (français, pas-à-pas, éditeur micro) Co-Authored-By: Claude Opus 4.6 (1M context) --- CLAUDE.md | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..e7ea2de --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,68 @@ +# Instructions pour Claude Code + +Ce dépôt contient le guide d'installation VPS avec HestiaCP et la documentation de l'ancien serveur ISPConfig. +Claude Code est utilisé pour assister l'utilisateur **étape par étape** dans la configuration du serveur. + +## Utilisateur + +- **Langue** : français. Les fichiers techniques (code, configs) restent en anglais. +- **Approche** : avancer **commande par commande**, pas tout d'un coup. Expliquer chaque étape avant de l'exécuter. +- **Éditeur** : micro (`/usr/bin/micro`). Ne jamais demander d'ouvrir nano, vim ou un autre éditeur. +- **Username serveur** : scriptshadow + +## Modifications système avec sudo + +Règle **obligatoire** quand une commande `sudo` est refusée ou pour toute modification de fichier système : + +1. Écrire un script Python autonome dans `~/setup_xxx.py` contenant toutes les modifications. +2. Proposer la commande combinée : `sudo python3 ~/setup_xxx.py && rm ~/setup_xxx.py` + +Le script doit être autonome : imports, chemins absolus, vérifications. La suppression se fait dans la même commande. + +**Exception** : si `sudo -n` fonctionne dans la session (NOPASSWD configuré), on peut exécuter directement. + +Ne **jamais** demander à l'utilisateur d'ouvrir un éditeur pour modifier un fichier système. + +## Guide HestiaCP + +Le guide complet est dans `hestiacp/` : +- `hestiacp/chapitres/*.md` : 14 chapitres + annexe, variables `{{IP}}`, `{{DOMAINE}}`… +- `hestiacp/skglobalinstitute.conf` : variables du VPS en cours d'installation +- `hestiacp/build/build.py` : générateur PDF (WeasyPrint) +- Commandes vérifiées contre HestiaCP **1.10.4** (code source GitHub, en-têtes `# options:` des scripts `bin/v-*`) + +Pour suivre le guide : ouvrir le chapitre correspondant, exécuter les commandes une par une en remplaçant les `{{VARIABLES}}` par les valeurs de `skglobalinstitute.conf`. + +## VPS en cours : skglobalinstitute.com + +- **Domaine** : skglobalinstitute.com (registrar OVH) +- **Hébergeur** : Contabo Cloud VPS 6 — 6 cœurs, 12 Go RAM, 200 Go disque +- **IPv4** : 144.91.70.25 +- **IPv6** : 2a02:c207:2356:8609::1 +- **Hostname** : srv1.skglobalinstitute.com +- **Admin panel** : skadmin +- **Utilisateur hébergement** : skglobal +- **Utilisateur système (sudo)** : scriptshadow +- **Email admin** : issazana.ia@gmail.com +- **Port SSH** : 50022 +- **Port panel** : 8083 +- **Sauvegarde distante** : node21-eu.n0c.com (user qmwwranm, port 5022) + +## Pièges HestiaCP à connaître + +Ces points ont été vérifiés dans le code source de HestiaCP 1.10.4 : + +- **Pare-feu IPv4 seulement** : le pare-feu HestiaCP ne filtre pas l'IPv6. Le panel écoute sur `[::]:8083`. Il faut un pare-feu ip6tables séparé (chapitre 4). +- **Pas d'enregistrement AAAA** : HestiaCP sert web et mail en IPv4 seulement. Un AAAA ferait échouer Let's Encrypt. +- **sudo ne trouve pas les commandes v-*** : il faut ajouter `/usr/local/hestia/bin` au `secure_path` dans `/etc/sudoers.d/`. +- **Groupe `admin` préexistant** : l'image Contabo Ubuntu 24.04 a déjà un groupe `admin` et UFW installé. L'installeur HestiaCP refuse les deux. +- **Port SSH** : le changer après l'installation, pas avant. Sur Ubuntu 24.04, SSH utilise `ssh.socket` (pas `ssh.service`). +- **Document root Symfony** : `v-change-web-domain-docroot USER DOM DOM public yes` — le `yes` est indispensable, sinon `open_basedir` exclut `vendor/`, `var/`, `config/`. +- **Zone DNS avant domaine mail** : DKIM n'est ajouté au DNS que si la zone existe déjà. Créer la zone DNS d'abord. +- **Changement de template DNS** : `v-change-dns-domain-tpl` efface tous les enregistrements ajoutés à la main. Ne le faire qu'immédiatement après la création de la zone. + +## Serveur ISPConfig existant (z-ana.com) + +L'ancien serveur (62.169.29.111) utilise ISPConfig et héberge z-ana.com, stlab.ci, djeliba.ci, santeverte.ci, tchefon.ci. La documentation de sa configuration est dans les fichiers `01-prerequis.md` à `16-notes-pieges.md` à la racine du dépôt. + +Le nouveau VPS (skglobalinstitute.com) est un serveur **séparé** avec HestiaCP. Ne pas confondre les deux.