[UPDATE 2026] MyVestaCP sur Debian 12 : installation, firewall et gestion des domaines

Published by David on






MyVestaCP sur Debian 12 : installation, firewall et gestion des domaines

MyVestaCP sur Debian 12 : installation et configuration

Deuxième étape : installer un panel d’administration pour gérer les 17 domaines, le firewall, les certificats SSL et les bases de données — sans toucher au mail.

1) Pourquoi MyVestaCP ?

MyVestaCP est un fork maintenu de VestaCP (l’original a eu un incident de sécurité en 2018).
Il offre un panel web léger pour gérer :

  • Sites web : Nginx (reverse proxy) + Apache (backend) + PHP-FPM
  • Bases de données : MariaDB (pour les sites, Matomo, etc.)
  • Firewall : iptables intégré au panel
  • SSL : Let’s Encrypt automatique
  • DNS : Bind9 intégré
  • Fail2ban : jails préconfigurées (SSH, panel, web)

On n’installe pas le serveur mail (Exim/Dovecot) — on utilise des services externes pour ça. Ça réduit la surface d’attaque et la maintenance.

2) Prérequis

Avant de lancer l’installation, tu dois avoir :

  • Debian 12 installé et à jour (voir article précédent)
  • Accès SSH root (ou sudo su)
  • Docker déjà installé (MyVestaCP ne le gère pas, il tourne à côté)
  • Un hostname valide (FQDN) qui pointe vers l’IP du serveur — nécessaire pour le certificat SSL du panel

Important : MyVestaCP doit être installé en root, pas avec sudo.
Connecte-toi en root ou fais sudo su - avant de commencer.

3) Installation

3.1 Télécharger et lancer le script

3.2 Explication des choix

  • Nginx + Apache + PHP-FPM : Nginx en frontal (rapide, SSL, cache), Apache en backend (compatibilité .htaccess), PHP-FPM pour la performance
  • MariaDB : pour les sites web et Matomo. PostgreSQL n’est pas activé ici — Odoo utilisera son propre PostgreSQL via Docker
  • Bind (DNS) : pratique pour gérer les zones DNS des 17 domaines directement depuis le panel
  • Exim / Dovecot / ClamAV / SpamAssassin : désactivés — pas de mail hébergé sur ce serveur
  • iptables + Fail2ban : firewall et anti-bruteforce gérés par le panel
  • Port 8083 : port d’accès au panel web

L’installation prend environ 15 minutes. Le script demandera un email admin et proposera un mot de passe.
Il générera aussi une URL secrète pour accéder au panel — note-la bien.

3.3 À la fin de l’installation

Le script affiche un résumé avec :

  • L’URL du panel : https://ton-hostname:8083
  • Le login : admin
  • Le mot de passe généré
  • L’URL secrète (paramètre à ajouter à l’URL)

Sauvegarde ces informations immédiatement. L’URL secrète est ta protection contre les scans automatiques.
Sans elle, le panel est inaccessible — c’est voulu.

4) Post-installation : les ajustements essentiels

4.1 Ouvrir le port SSH custom dans le firewall

MyVestaCP installe son propre firewall iptables. Si tu as changé le port SSH (ex : 38592),
il faut l’ajouter immédiatement sinon tu risques de perdre l’accès à ta prochaine déconnexion.

Ou depuis le panel web : Firewall → Add Rule → Port 38592, Action ACCEPT, Protocol TCP.

Fais-le AVANT de te déconnecter. Teste avec un 2e PuTTY sur le port 38592 pour confirmer que le firewall laisse passer.

4.2 Vérifier Fail2ban

MyVestaCP reconfigure Fail2ban avec ses propres jails. Vérifie que la jail SSH pointe bien sur ton port custom :

Si le port SSH n’est pas le bon dans la jail, mets à jour /etc/fail2ban/jail.local :

4.3 Changer le port du panel (optionnel)

Si tu veux changer le port 8083 par un autre :

4.4 Vérifier les services

5) Installer plusieurs versions de PHP

MyVestaCP installe par défaut la version PHP fournie par Debian 12 (PHP 8.2).
Mais certains sites ou CMS peuvent nécessiter une version différente (ex : PHP 7.4 pour un vieux WordPress, PHP 8.3 pour Matomo récent).

MyVestaCP fournit un script officiel qui installe des versions PHP supplémentaires via le dépôt Sury
et crée automatiquement les templates Apache correspondants.

Prérequis : le multi-PHP ne fonctionne qu’avec l’installation Nginx + Apache (ou Apache seul).
Si tu as installé MyVestaCP en mode Nginx + PHP-FPM sans Apache, ce script ne fonctionnera pas.

5.1 Télécharger et configurer le script

Ouvrir le script et choisir les versions à installer (mettre 1 au lieu de 0) :

En haut du fichier, tu trouveras :

Par exemple, pour ajouter PHP 7.4 et PHP 8.3 :

Sauvegarder (Ctrl+X, puis Y), puis lancer :

Pendant l’installation, dpkg peut demander quoi faire avec php.ini (fichier modifié localement vs nouvelle version du paquet).
Choisis « keep the local version currently installed » — MyVestaCP a déjà ajusté ce fichier lors de son installation.

Patch déjà appliqué : pour certaines versions (notamment PHP 8.2), le script tente d’appliquer un patch
que MyVestaCP a déjà appliqué lors de l’installation initiale. Tu verras alors :

Réponds n (ne pas inverser le patch). Ensuite apparaît :

Réponds également n. Le patch est déjà en place, inutile de le réappliquer — le script continuera normalement.

5.2 Utiliser une version PHP par domaine

Après l’installation, de nouveaux templates Apache apparaissent dans le panel.
Pour chaque domaine, tu peux choisir la version PHP via :

  • Panel web : domaine → Edit → champ Apache2 Template → sélectionner ex : PHP-7_4
  • Ligne de commande : v-change-web-domain-backend-tpl admin monsite.fr PHP-7_4

Chaque version PHP installée lance son propre service php-fpmX.Y.
Tu peux vérifier qu’ils tournent avec systemctl status php7.4-fpm par exemple.

6) Softaculous : installer des apps en un clic

Softaculous est un auto-installeur qui permet de déployer WordPress, Joomla, Matomo, PrestaShop
et des centaines d’autres applications en quelques clics depuis le panel MyVestaCP.

6.1 Installation

L’installation prend quelques minutes. Ensuite, attendre environ 5 minutes que le cron Softaculous
télécharge les paquets d’applications disponibles.

6.2 Accès

Après l’installation, déconnecte-toi puis reconnecte-toi au panel MyVestaCP.
Un nouvel onglet APPS apparaît dans le menu principal — c’est l’interface Softaculous.

Si l’onglet APPS n’apparaît pas, vérifie que Softaculous est activé :
Server → Configure → Vesta Control Panel Plugins → Softaculous → yes.

6.3 Utilisation

Depuis l’onglet APPS, tu peux installer un CMS sur n’importe quel domaine déjà configuré dans MyVestaCP.
Softaculous gère aussi les mises à jour automatiques et les sauvegardes des applications installées.

Softaculous est gratuit dans sa version de base (suffisante pour WordPress, Joomla, etc.).
La version premium débloque plus d’applications et de fonctionnalités, mais n’est généralement pas nécessaire pour un usage personnel.

7) Ajouter les domaines

Maintenant que les versions PHP et Softaculous sont prêts, on peut ajouter les domaines.
Depuis le panel (Web → Add Web Domain), ou en ligne de commande :

Les sous-domaines (amazon.mcdavidian.fr, debug.mcdavidian.fr, matomo.mcdtoolbox.com, fastdl.2manygames.fr)
peuvent être ajoutés comme domaines séparés ou comme alias — selon que tu veux des configs Nginx distinctes ou pas.

7.1 Certificats SSL (Let’s Encrypt)

Pour chaque domaine, activer le SSL :

Ou depuis le panel : domaine → Edit → cocher Let’s Encrypt Support.

Le DNS de chaque domaine doit pointer vers l’IP du serveur avant de demander le certificat.
Let’s Encrypt vérifie que le domaine est accessible sur le port 80.

8) Architecture : ce que gère MyVestaCP vs Docker

Les services Docker sont exposés sur des ports internes. Nginx (géré par VestaCP) peut servir de reverse proxy
vers ces conteneurs pour les rendre accessibles en HTTPS sur un domaine.

9) Reverse proxy Nginx → Docker

Pour exposer un service Docker (ex : Odoo 17 sur le port 8069) via un domaine avec SSL,
on crée le domaine dans VestaCP puis on personnalise le template Nginx.

9.1 Exemple : Odoo 17 derrière Nginx

Après avoir créé le domaine (ex : odoo.mcdavidian.fr) dans VestaCP et activé Let’s Encrypt,
éditer le fichier de configuration Nginx :

Remplacer le contenu par :

On verra la configuration détaillée de chaque service Docker dans les prochains articles (Odoo 17, ownCloud, etc.).


À suivre

MyVestaCP est en place : panel web, firewall, SSL, et les domaines sont configurés.
Dans les prochains articles :

  • Odoo 17 en Docker avec reverse proxy Nginx
  • Akeneo PIM : gestion centralisée des produits (Docker)
  • ownCloud : migration des données et Docker Compose
  • Sauvegardes : stratégie et automatisation
  • Serveurs de jeux : CS 1.6, TeamSpeak 3, EmuLinker

Article précédent : Nouveau serveur dédié — Debian 12, clé SSH, Docker.



Catégories : Non classé

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *