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
This commit is contained in:
Zana
2026-09-10 20:01:59 +02:00
parent acbe11489c
commit 2e18724685
31 changed files with 2419 additions and 44 deletions

View File

@@ -0,0 +1,122 @@
# Installer HestiaCP
Toujours connecté en **root**. L'installation dure 15 à 30 minutes.
## Ouvrir une session tmux
Si la connexion SSH coupe pendant l'installation, `tmux` la garde en vie sur le serveur.
```bash
tmux new -s hestia
```
> [!TIP]
> Si vous êtes déconnecté, reconnectez-vous puis tapez `tmux attach -t hestia` pour retrouver l'installation en cours.
## Télécharger l'installeur officiel
```bash
cd /root
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
```
> [!NOTE]
> En cas d'erreur SSL : `apt-get update && apt-get install -y ca-certificates`, puis relancez le `wget`.
> Le site officiel propose aussi un générateur de commande : <https://hestiacp.com/install.html>.
## Lancer l'installation
Chaque option est expliquée juste après la commande. Copiez la commande **en entier** :
```bash
bash hst-install.sh \
--hostname {{FQDN}} \
--email {{EMAIL}} \
--username {{ADMIN}} \
--port {{PANEL_PORT}} \
--lang fr \
--apache yes --phpfpm yes --multiphp '8.3,8.4' \
--vsftpd no --proftpd no \
--named yes \
--mysql yes --postgresql no \
--exim yes --dovecot yes --sieve yes \
--clamav yes --spamassassin yes \
--iptables yes --fail2ban yes \
--quota no --resourcelimit no --webterminal no \
--api no
```
| Option | Choix | Pourquoi |
|---|---|---|
| `--hostname` | {{FQDN}} | Nom du serveur et adresse du panel |
| `--email` | {{EMAIL}} | Reçoit les identifiants et les alertes. Prenez une adresse **externe** (Gmail…) : le mail du serveur n'existe pas encore |
| `--username` | {{ADMIN}} | Administrateur du panel. Pas `admin` (voir chapitre 2) |
| `--port` | {{PANEL_PORT}} | Port du panel (8083 par défaut) |
| `--apache`<br>`--phpfpm` | yes | Nginx en façade + Apache derrière : les `.htaccess` (Symfony, WordPress) fonctionnent |
| `--multiphp` | 8.3, 8.4 | Versions de PHP installées ; la plus haute (8.4) devient celle par défaut. D'autres versions peuvent s'ajouter plus tard |
| `--vsftpd`<br>`--proftpd` | no | Pas de FTP (non chiffré) : on déploie par SSH/SFTP et git |
| `--named` | yes | Serveur DNS Bind : vos domaines ont leurs propres serveurs de noms |
| `--mysql` | yes | MariaDB 11.8 |
| `--exim`<br>`--dovecot`<br>`--sieve` | yes | Envoi, réception et filtres de messagerie |
| `--clamav`<br>`--spamassassin` | yes | Antivirus et antispam (demandent au moins 3 Go de RAM) |
| `--iptables`<br>`--fail2ban` | yes | Pare-feu et bannissement automatique des attaques |
| `--resourcelimit` | no | Encore instable d'après les notes de version (1.9.0) |
| `--webterminal` | no | Pas de terminal dans le navigateur : on utilise SSH |
| `--api` | no | L'API distante ne sert pas ici ; moins de surface d'attaque |
Déroulement :
1. L'installeur affiche le récapitulatif des composants. Répondez `y` pour continuer.
2. Il demande le **mot de passe administrateur**. Tapez un mot de passe long et unique (au moins 16 caractères) et notez-le dans votre gestionnaire de mots de passe. Il s'affiche en clair à l'écran : c'est normal.
3. Si l'installeur signale des paquets en conflit, répondez `y` pour les supprimer. Sur un système neuf préparé au chapitre 2, il ne devrait pas y en avoir.
> [!WARNING]
> Ne touchez à rien pendant l'installation. À la fin, l'installeur affiche « Congratulations! » avec l'adresse du panel, le nom d'utilisateur et le mot de passe, et envoie le même message à {{EMAIL}}.
## Redémarrer le serveur
L'installeur demande d'appuyer sur une touche, puis redémarre. Sinon :
```bash
reboot
```
Au premier démarrage, une tâche programmée par HestiaCP demande automatiquement un certificat **Let's Encrypt** pour {{FQDN}}. Cela ne marche que si l'enregistrement DNS du chapitre 1 est en place.
> [!NOTE]
> Le journal complet de l'installation est dans `/root/hst_install_backups/`, et les journaux Let's Encrypt dans `/var/log/hestia/`.
## Se connecter au panel
Ouvrez dans votre navigateur :
```text
https://{{FQDN}}:{{PANEL_PORT}}
```
Connectez-vous avec {{ADMIN}} et votre mot de passe.
> [!CHECK]
> Le cadenas du navigateur indique un certificat valide (émis par Let's Encrypt). Si le navigateur signale un certificat non valide, passez à l'étape suivante.
## Réparer le certificat du panel (si besoin)
Uniquement si le certificat n'est pas valide. Reconnectez-vous en SSH en root, vérifiez que le nom du serveur pointe bien vers le VPS, puis demandez le certificat :
```bash
dig +short {{FQDN}}
/usr/local/hestia/bin/v-change-sys-hostname {{FQDN}}
/usr/local/hestia/bin/v-add-letsencrypt-host
```
> [!CHECK]
> `dig` doit répondre {{IP}}, et `v-add-letsencrypt-host` ne doit afficher aucune erreur. Rechargez ensuite le panel dans le navigateur.
## Découvrir l'interface
- **Utilisateurs** : les comptes d'hébergement. Chaque utilisateur Hestia est un utilisateur Linux avec son dossier `/home/<utilisateur>`.
- **Web**, **DNS**, **Messagerie**, **Bases de données**, **Tâches cron**, **Sauvegardes** : les ressources de l'utilisateur sélectionné.
- **Roue dentée (Paramètres du serveur)** : services, pare-feu, mises à jour, configuration. Le bouton **Moniteur de tâches** affiche les graphiques de charge.
> [!DANGER] N'hébergez rien sous le compte administrateur
> La documentation officielle recommande de créer un utilisateur dédié pour vos sites, domaines et mails (chapitre 5). Le compte {{ADMIN}} sert uniquement à administrer.