Installation serveur · 10 min read · Sep 08, 2025
Installation automatisée parfaite d'ISPConfig 3 sur Debian 11 et 12, Ubuntu 22.04 et Ubuntu 24.04

Ce tutoriel vous aidera à installer votre configuration de serveur unique ISPConfig 3 en utilisant l’installateur automatique d’ISPConfig. Cet installateur suit les anciens guides de Perfect Server mais est plus modulaire et facile à suivre. Si vous souhaitez configurer une installation multiserveur avec des serveurs dédiés pour chaque service, consultez le guide Perfect Multiserver.
Ce guide fonctionne pour Debian 11 et 12, Ubuntu 22.04 et Ubuntu 24.04. Il prend actuellement en charge les architectures CPU x86_64 (également connu sous le nom d’AMD64) et ARM (ARM64). Nous utiliserons le nom d’hôte server1.example.com. Remplacez-le si nécessaire. Le guide nécessite un système d’exploitation de base fraîchement installé et vide ; n’essayez pas de l’utiliser sur un système où vous avez déjà configuré d’autres services.
Prérequis
- Système d’exploitation : Debian 11 et 12, Ubuntu 22.04 ou Ubuntu 24.04.
- Architecture CPU 64 bits Intel ou AMD (x86_64, également connu sous le nom d’AMD64) ou architecture CPU ARM (ARM64).
- Le système doit avoir accès à Internet pour télécharger et installer des logiciels avec apt.
- Commencez à partir d’une installation de base propre et vide. Le système doit être entièrement accessible depuis Internet ; ne bloquez pas l’accès avec un pare-feu, surtout pas le port 80 pour l’émission de certificats LE et le port 8080 pour l’accès à ISPConfig, ainsi que les ports pour tous les services que vous utilisez sur ce système. Le serveur doit également avoir accès à Internet pour télécharger et installer des logiciels pendant l’installation et résoudre les noms de domaine via DNS.
1. Connectez-vous au serveur
Connectez-vous en tant que root ou exécutez
su --loginsur Debian pour devenir l’utilisateur root sur votre serveur avant de continuer. IMPORTANT : Vous devez utiliser ‘su –login’ ou ‘su -‘ et pas seulement ‘su’. Sinon, Debian définira votre variable PATH de manière incorrecte.
Sur Ubuntu, utilisez la commande :
sudo -spour devenir l’utilisateur root.
2. Configurez le nom d’hôte et les hôtes
Le nom d’hôte de votre serveur doit être un sous-domaine comme “server1.example.com”. N’utilisez pas un nom de domaine sans partie sous-domaine comme “example.com” comme nom d’hôte, car cela causera des problèmes plus tard avec votre configuration. Tout d’abord, vous devez vérifier le nom d’hôte dans /etc/hosts et le modifier si nécessaire. La ligne doit être : “Adresse IP - espace - nom d’hôte complet incl. domaine - espace - partie sous-domaine”. Pour notre nom d’hôte server1.example.com, le fichier doit ressembler à ceci (certaines lignes peuvent être différentes ; cela peut varier selon le fournisseur d’hébergement) :
nano /etc/hosts127.0.0.1 localhost.localdomain localhost
# Cette ligne doit être changée pour le nom de serveur correct :
127.0.1.1 server1.example.com server1
# Les lignes suivantes sont souhaitables pour les hôtes compatibles IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allroutersEnsuite, modifiez le fichier /etc/hostname :
nano /etc/hostnameIl doit contenir uniquement la partie sous-domaine, dans notre cas :
server1Enfin, redémarrez le serveur pour appliquer le changement :
systemctl rebootReconnectez-vous et vérifiez si le nom d’hôte est correct maintenant avec ces commandes :
hostname
hostname -fLa sortie doit ressembler à ceci :
root@server1:~$ hostname
server1
root@server1:~$ hostname -f
server1.example.comVous devrez également configurer un enregistrement DNS avec votre fournisseur DNS qui pointe vers votre serveur. Il devrait y avoir un enregistrement A (et/ou AAAA) pour le sous-domaine qui pointe vers votre IP publique.
3. Mettez à jour le système
Pour mettre à jour les paquets du système, exécutez la commande :
apt update && apt upgrade4. Exécutez l’installateur automatique
Nous pouvons maintenant exécuter l’installateur automatique. La configuration de base contient les paquets logiciels suivants (plus leurs dépendances, bien sûr) : Apache2, PHP (versions 5.6 - 8.3), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats et GoAccess. Vous pouvez facilement choisir de ne pas utiliser certaines fonctions ou d’installer des services supplémentaires en passant des arguments à l’installateur. Voir le Chapitre 6 pour les options de ligne de commande disponibles.
Installer ISPConfig avec le serveur web Apache
Vous pouvez maintenant exécuter le script avec des arguments. Par exemple, si vous souhaitez une installation normale avec le serveur web Apache et une plage de ports pour FTP passif + mises à jour non surveillées, exécutez :
wget -O - https://get.ispconfig.org | sh -s -- `--use-ftp-ports=40110-40210` --unattended-upgradesLes étapes suivantes sont décrites dans le chapitre “Exécution de l’installateur automatique”.
Installer ISPConfig avec le serveur web Nginx
Vous pouvez maintenant exécuter le script avec des arguments. Par exemple, si vous souhaitez une installation normale avec le serveur web Nginx et une plage de ports pour FTP passif + mises à jour non surveillées, exécutez :
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgradesExécution de l’installateur automatique
Après un certain temps, vous verrez :
WARNING! This script will reconfigure your complete server!
It should be run on a freshly installed server and all current configuration that you have done will most likely be lost!
Type 'yes' if you really want to continue:Répondez “oui” et appuyez sur Entrée. L’installateur va maintenant commencer.
Lorsque l’installateur est terminé, il vous montrera le mot de passe administrateur d’ISPConfig et le mot de passe root MySQL comme ceci :
[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC
[INFO] Your MySQL root password is: kkAkft82d!kafMwqxdtYsAssurez-vous de noter ces informations, car vous en aurez besoin plus tard.
5. Configuration du pare-feu
La dernière chose à faire est de configurer notre pare-feu.
Connectez-vous à l’interface utilisateur d’ISPConfig, et allez dans Système -> Pare-feu. Cliquez ensuite sur “Ajouter un nouvel enregistrement de pare-feu”.
Pour une configuration normale, cela ressemblerait à ceci :
TCP :
20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081UDP :
53Les ports nécessaires pour chaque service sont :
Web : 20, 21, 22, 80, 443 et 40110:40210 (Tous TCP, pas d’UDP)
Mail : 25, 110, 143, 465, 587, 993 et 995 (Tous TCP, pas d’UDP)
DNS : 53 (TCP et UDP)
Panneau : 8080 et 8081 (Tous TCP, pas d’UDP)
Votre serveur est maintenant configuré et prêt à être utilisé. Vous pouvez vous connecter à https://server1.example.com:8080
6. Options avancées
L’installateur automatique a diverses options de ligne de commande pour affiner la configuration.
Vous pouvez voir tous les arguments avec :
wget -O - https://get.ispconfig.org | sh -s -- --helpVous pouvez par exemple choisir entre le serveur web Apache et Nginx et quels services doivent être installés sur le système. Les arguments de ligne de commande sont :
Usage: ispc3-ai.sh [] [...]
This script automatically installs all needed packages for an ISPConfig 3 setup using the guidelines from the "Perfect Server Setup" howtos on www.howtoforge.com.
Possible arguments are:
--help Show this help page.
--debug Enable verbose logging (logs each command with the exit code).
--channel Choose the channel to use for ISPConfig: --channel=
"stable" is the latest ISPConfig release available on www.ispconfig.org
"dev" is the latest dev-branch from the ISPConfig git repository: https://git.ispconfig.org/ispconfig/ispconfig3/tree/develop
The dev channel might contain bugs and less-tested features and should only be used in production by very experienced users.
--lang Use language for ISPConfig installation. Specify with --lang=en|de (only en (English) and de (German) supported currently).
--interactive Don't install ISPConfig in non-interactive mode.
This is needed if you want to use expert mode, e.g. to install a slave server that shall be integrated into an existing multiserver setup.
--use-nginx Use nginx webserver instead of apache2.
--use-amavis Use amavis instead of rspamd for mail filtering.
--use-unbound Use unbound instead of bind9 for local resolving. Only allowed if --no-dns is set.
--use-php Use specific PHP versions, comma separated, instead of installing multiple PHP, e.g. --use-php=7.4,8.0 (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2 and 8.3 available).
--use-php=system disables the sury repository and just installs the system's default PHP version.
--use-php while omitting the argument, uses all versions.
--use-ftp-ports This option sets the passive port range for pure-ftpd. You have to specify the port range separated by hyphen, e.g. --use-ftp-ports=40110-40210.
If not provided the passive port range will not be configured.
--use-certbot Use Certbot instead of acme.sh for issuing Let's Encrypt certificates. Not advised unless you are migrating from an old server that uses Certbot.
--no-web Do not use ISPConfig on this server to manage webserver setting and don't install nginx/apache or pureftpd.
This will also prevent installing an ISPConfig UI and implies --no-roundcube as well as --no-pma.
--no-mail Do not use ISPConfig on this server to manage mailserver settings.
This will install postfix for sending system mails, but not dovecot and not configure any settings for ISPConfig mail. It implies --no-mailman.
--no-dns Do not use ISPConfig on this server to manage DNS entries. Bind will be installed for local DNS caching / resolving only.
--no-local-dns Do not install local DNS caching / resolving via bind.
--no-firewall Do not install ufw and tell ISPConfig to not manage firewall settings on this server.
--no-roundcube Do not install roundcube webmail.
--roundcube Install Roundcube even when --no-mail is used. Manual configuration of Roundcube config is needed.
--no-pma Do not install PHPMyAdmin on this server.
--no-mailman Do not install Mailman mailing list manager.
--no-quota Disable file system quota.
--no-ntp Disable NTP setup.
--no-jailkit Do not install jailkit.
--no-ftp Do not install pure-ftpd server.
--monit Install Monit and set it up to monitor installed services. Supported services: Apache2, NGINX, MariaDB, pure-ftpd-mysql, php-fpm, ssh, named, Postfix, Dovecot, rspamd.
--monit-alert-email
Set up alerts for Monit to be sent to given e-mail address. e.g. [email protected].
--ssh-port Configure the SSH server to listen on a non-default port. Port number must be between 1 and 65535 and can not be in use by other services. e.g. --ssh-port=64.
--ssh-permit-root
Configure the SSH server whether or not to allow root login: --ssh-permit-root=, e.g. --ssh-permit-root=without-password.
--ssh-password-authentication
Configure the SSH server whether or not to allow password authentication: --ssh-password-authentication=, e.g. -ssh-password-authentication=no.
--ssh-harden Configure the SSH server to have a stronger security config.
--unattended-upgrades
Install UnattendedUpgrades. You can add extra arguments for automatic cleanup and automatic reboots when necessary: --unattended-upgrades=autoclean,reboot (or only one
of them).
--i-know-what-i-am-doing
Prevent the autoinstaller to ask for confirmation before continuing to reconfigure the server. Par exemple, pour installer une configuration de type ‘Perfect Server’ avec Nginx au lieu d’Apache, utilisez cette commande :
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgradesOu pour installer un serveur web Nginx sans services de messagerie et DNS :
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail `--use-ftp-ports=40110-40210` --unattended-upgrades7. Finalisation
Votre configuration est maintenant terminée !
Vous pouvez soutenir ISPConfig en achetant notre manuel : https://www.ispconfig.org/documentation/
Les liens suivants sont quelques tutoriels/indications précieux pour une configuration supplémentaire :
- Configuration de la messagerie (rDNS, SPF, DKIM) : https://www.howtoforge.com/how-to-install-an-email-server-with-ispconfig-on-debian-10/
- Ajustement de Roundcube : https://www.howtoforge.com/community/threads/tweaking-the-roundcube-settings.86387/
- Configuration automatique (configuration automatique pour vos clients de messagerie) : https://schaal-it.com/ispconfig-automail/
- Améliorer la sécurité de PHPMyAdmin et de l’interface Rspamd : https://www.howtoforge.com/community/threads/improving-the-security-of-phpmyadmin-and-rspamd-ui.86544/
- Dépôt de code et suivi des problèmes de l’installateur automatique d’ISPConfig : https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller
Si vous avez des questions, posez-les sur le forum.
8. Débogage en cas d’erreur
Si quelque chose ne va pas pendant l’installation, vous pouvez déboguer le processus en ajoutant le drapeau de ligne de commande –debug à la commande d’installation. Cela écrira un fichier journal
/tmp/ispconfig-ai/var/log/ispconfig.logDe plus, l’option de ligne de commande –interactive peut aider à révéler la raison d’une erreur d’installation.
9. Téléchargement en tant que machine virtuelle
Cette configuration est disponible en tant que téléchargement de machine virtuelle au format ova/ovf (compatible avec VMWare et Virtualbox) pour les abonnés de howtoforge. La machine virtuelle est basée sur Debian 12 et utilise Apache comme serveur web.
Détails de connexion pour la VM
- Le mot de passe root est : howtoforge
- Le mot de passe de l’utilisateur “admin” d’ISPConfig est : howtoforge
- Il y a un autre utilisateur shell avec le nom “administrator” et le mot de passe : howtoforge
- Le mot de passe root MySQL est : 7s8EtDL1QhorSaeHhnRh
Veuillez changer tous les mots de passe lors de la première connexion.
- L’adresse IP de la VM est 192.168.0.100
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.