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:
122
hestiacp/chapitres/03-installation-hestiacp.md
Normal file
122
hestiacp/chapitres/03-installation-hestiacp.md
Normal 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.
|
||||
Reference in New Issue
Block a user