Désactiver le préchargeur
Tutoriels Linux Panneaux de contrôle

Installer ISPConfig sur Linux (Ubuntu, Debian)

Documentation / Tutoriels Linux / Panneaux de contrôle / Installer ISPConfig sur Linux (Ubuntu, Debian)
Mis à jour le 20/09/2026
16 vues
Intermédiaire
30 minutes

Prérequis

  • Un serveur sous Ubuntu 24.04 ou Debian 13 : voir nos VPS au Canada
  • Une connexion SSH ouverte en root : Se connecter en SSH à votre VPS
  • Un serveur vierge, sans serveur web, base de données ni serveur de courriel déjà installés
  • 4 Go de RAM et 10 Go d'espace disque libre
  • Un nom d'hôte complet pour le serveur, comme serveur.exemple.ca, qui n'est pas un domaine que vous hébergerez dessus
  • L'adresse IP publique de votre poste, pour lui réserver l'accès au panneau

ISPConfig est un panneau d'hébergement libre : depuis un navigateur, il crée des sites Apache, des bases de données, des boîtes de courriel et des zones DNS, pour vous ou pour des clients. Ce guide l'installe avec son installateur officiel, ouvre le panneau, le réserve à votre adresse, et crée un premier site. Copiez la commande avec le bouton Copier, collez-la dans votre terminal, et comparez avec le résultat attendu.

1Nommer le serveur, le mettre à jour et le redémarrer

L'installateur exige un nom d'hôte complet, avec au moins deux points. Remplacez 203.0.113.42 par l'adresse IP de votre serveur.

Poser le nom d'hôte
hostnamectl set-hostname serveur.exemple.ca
echo '203.0.113.42 serveur.exemple.ca serveur' >> /etc/hosts
hostname -f
Résultat attendu
serveur.exemple.ca

Redémarrez après la mise à jour, même si elle semble légère : l'installateur s'arrête sur un serveur dont le noyau installé n'est pas celui qui tourne.

Mettre à jour et redémarrer
apt update && apt full-upgrade -y && reboot

2Lancer l'installateur

Reconnectez-vous en SSH. L'installateur travaille seul pendant 5 à 10 minutes et pose toute la pile : Apache, MariaDB, PHP-FPM, Postfix, Dovecot, rspamd, ClamAV, Bind, pure-ftpd, phpMyAdmin, Roundcube, fail2ban et ufw. Sur Ubuntu, il retire AppArmor.

Télécharger et lancer l'installateur officiel
wget -O - https://get.ispconfig.org | sh -s -- --use-php=8.4 --i-know-what-i-am-doing
Résultat attendu
[INFO] Starting perfect server setup for Ubuntu 24.04.5 LTS
[INFO] Checking hostname.
[INFO] Configuring apt repositories.
[INFO] Updating packages
...
[INFO] Installing ISPConfig3.
[INFO] Adding PHP version(s) to ISPConfig.
[INFO] Adding PHP-FPM systemd override for ISPConfig.
[INFO] Checking all services are running.
[INFO] mysql: OK
[INFO] clamav-daemon: OK
[INFO] postfix: OK
[INFO] bind9: OK
[INFO] apache2: OK
[INFO] pureftpd: OK
[INFO] rspamd: OK
[INFO] redis-server: OK
[INFO] dovecot: OK
[INFO] Installation ready.
[INFO] Your ISPConfig admin password is: ...
[INFO] Your MySQL root password is: ...
[INFO] Warning: Please delete the log files in /root/ispconfig-install-log/setup-* once you don't need them anymore because they contain your passwords!
(entre 5 et 10 minutes ; sur Debian, la première ligne dit Debian GNU/Linux 13 (trixie))
--use-php=8.4
Une seule version de PHP. Sans cette option, il installe toutes les versions de 5.6 à 8.5.
--i-know-what-i-am-doing
Il ne demande pas de taper yes avant de commencer.
--no-quota
À ajouter si votre partition racine est en XFS : voir la FAQ.
--use-nginx
nginx à la place d'Apache.
--no-mail
Sans serveur de courriel.
Notez les deux mots de passe, puis effacez le journal

Les deux dernières lignes donnent le mot de passe du compte admin du panneau et celui de root pour MariaDB. Ils sont aussi écrits en clair dans /root/ispconfig-install-log/setup-*.log : une fois notés, effacez ce journal.

Effacer le journal qui contient les mots de passe
shred -u /root/ispconfig-install-log/setup-*.log

3Ouvrir le panneau

Vérifier que le panneau répond
curl -sk -o /dev/null -w '%{http_code}\n' https://127.0.0.1:8080/
Résultat attendu
302
(302 : le panneau renvoie vers sa page de connexion)
  1. Ouvrez https://203.0.113.42:8080 dans votre navigateur, avec l'adresse IP de votre serveur, en https, et le port.
  2. Le navigateur avertit que le certificat n'est pas reconnu : ISPConfig en a créé un lui-même pour le nom d'hôte. Cliquez sur Avancé, puis Continuer vers le site.
  3. Identifiant admin, avec le mot de passe de l'étape 2.

4Réserver le panneau à votre adresse

Tout Internet peut ouvrir votre panneau et votre base de données

L'installateur pose ufw mais ne l'active pas. Le panneau (8080), MariaDB (3306), FTP (21) et le courriel répondent à toutes les adresses, avec pour seule barrière leurs mots de passe.

Les règles qui suivent ferment tout, sauf SSH, le web, et le panneau depuis une seule adresse. Remplacez 198.51.100.7 par l'adresse IP publique de votre poste.

Activer ufw avec le panneau réservé à votre adresse
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow from 198.51.100.7 to any port 8080 proto tcp
ufw --force enable
Résultat attendu
...
Firewall is active and enabled on system startup
Vérifier le résultat
ufw status verbose
Résultat attendu
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere
8080/tcp                   ALLOW IN    198.51.100.7
22/tcp (v6)                ALLOW IN    Anywhere (v6)
80/tcp (v6)                ALLOW IN    Anywhere (v6)
443/tcp (v6)               ALLOW IN    Anywhere (v6)

Si vous hébergez du courriel sur ce serveur, ouvrez aussi ses ports : ufw allow 25,465,587,110,143,993,995,4190/tcp. Le pare-feu est rechargé à chaque démarrage.

Vérifier depuis une autre machine que le panneau ne répond plus
curl -sk -o /dev/null -w '%{http_code}\n' --max-time 10 https://203.0.113.42:8080/
Résultat attendu
000
(000 veut dire aucune réponse : c'est le résultat attendu depuis une adresse qui n'est pas la vôtre)
N'ajoutez pas d'enregistrement Firewall dans le panneau

Dans System, Firewall, le bouton Add Firewall record fait réécrire ufw par ISPConfig : votre règle par adresse disparaît et le panneau, MariaDB et le reste sont ouverts à tout Internet. Supprimer cet enregistrement désactive ufw complètement. Si c'est arrivé, rejouez cette étape.

5Créer un premier site

  1. Dans le panneau, ouvrez Sites, puis Add new website.
  2. Domain : monsite.exemple.ca. PHP : PHP-FPM. Laissez le reste tel quel et cliquez sur Save.
  3. Le serveur applique le changement dans la minute qui suit.
Ce qui a été créé sur le disque
ls -l /var/www/ | grep monsite
stat -c '%n  %U:%G  %A' /var/www/monsite.exemple.ca/web; ls /var/www/monsite.exemple.ca/web
Résultat attendu
lrwxrwxrwx 1 root    root      30 Sep 20 16:28 monsite.exemple.ca -> /var/www/clients/client0/web1/
/var/www/monsite.exemple.ca/web  web1:client0  drwx--x---
favicon.ico
robots.txt
standard_index.html
stats

Vos fichiers vont dans le dossier web, qui appartient à l'utilisateur système du site.

Vérifier que le site répond, sans attendre le DNS
curl -s -o /dev/null -w '%{http_code}\n' -H 'Host: monsite.exemple.ca' http://203.0.113.42/
Résultat attendu
200

6Les commandes du quotidien

Mettre à jour ISPConfig lui-même ; apt ne le fait pas
ispconfig_update.sh
Les règles du pare-feu
ufw status verbose
Les sites hébergés
ls -l /var/www/
L'état du serveur web, qui sert aussi le panneau
systemctl status apache2
Redémarrer le serveur web et le panneau
systemctl restart apache2
Les ports en écoute
ss -ltn
Voir les ports en écoute
ss -ltn | awk 'NR>1{print $4}' | sed 's/.*://' | sort -n -u | tr '\n' ' '
Résultat attendu
21 22 25 53 80 110 143 443 465 587 953 993 995 3306 4190 6379 8080 8081 10023 11211 11332 11333 11334

La base de données (3306) et les services internes sont dans cette liste mais ne répondent pas depuis l'extérieur : le pare-feu de l'étape 4 ne les ouvre pas.

Erreurs fréquentes

ISPConfig en service

Le panneau répond sur le port 8080, réservé à votre adresse, et votre premier site est servi. Pour un panneau qui gère aussi les domaines en ligne de commande, voyez Installer Virtualmin ; pour un panneau plus léger, Installer HestiaCP.

💬 Écrivez-nous sur Messenger !