Installation automatique de Perfect Server ISPConfig 3 sur Debian 10 – 11 et Ubuntu 20.04

Ce tutoriel te permettra d’installer ta propre configuration de serveur unique ISPConfig 3 à l’aide de l’auto-installateur ISPConfig. Cet installateur suit les anciens guides de Perfect Server mais est plus modulaire et facile à suivre. Si tu veux plutôt installer une configuration multiserveur avec des serveurs dédiés pour chaque service, consulte le guide Perfect Multiserver.

Ce guide fonctionne à la fois pour Debian 10, Debian 11 et Ubuntu 20.04, il ne prend actuellement en charge que l’architecture de CPU x86_64 (également connue sous le nom d’AMD64) tandis que ARM n’est pas pris en charge. Nous utiliserons le nom d’hôte server1.example.com. Remplace-le si nécessaire. Le guide nécessite un OS de base fraîchement installé et vide, n’essaie pas de l’utiliser sur un système où tu as déjà configuré d’autres services.

1. Connecte-toi au serveur

Connecte-toi en tant que root ou exécute

su -

pour devenir l’utilisateur root sur ton serveur avant de continuer. IMPORTANT: Tu dois utiliser ‘su -‘ et pas seulement ‘su’, sinon ta variable PATH est mal définie par Debian.

2. Configure le nom d’hôte et les hôtes

Le nom d’hôte de ton serveur doit être un sous-domaine comme « server1.example.com ». N’utilise 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 ta configuration. Tout d’abord, tu dois vérifier le nom d’hôte dans/etc/hosts et le modifier si nécessaire. La ligne doit être la suivante : « Adresse IP – espace – nom d’hôte complet y compris le 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 l’hébergeur) :

nano /etc/hosts
127.0.0.1 localhost.localdomain   localhost
# This line should be changed to the correct servername:
127.0.1.1 server1.example.com server1
# The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters

Puis édite le fichier /etc/hostname :

nano /etc/hostname

Il ne doit contenir que la partie sous-domaine, dans notre cas :

server1

Enfin, redémarre le serveur pour appliquer la modification :

systemctl reboot

Connecte-toi à nouveau et vérifie si le nom d’hôte est maintenant correct avec ces commandes :

hostname
hostname -f

Le résultat sera le suivant :

[email protected]:~$ hostname
server1
[email protected]:~$ hostname -f
server1.example.com

Tu devras aussi configurer un enregistrement DNS avec ton fournisseur DNS qui pointe vers ton serveur. Il doit y avoir un enregistrement A (et/ou AAAA) pour le sous-domaine qui pointe vers ton IP public.

3. Mets le système à jour

Pour mettre à jour les paquets du système, exécute la commande :

apt update && apt upgrade

4. Exécute l’auto-installateur

Nous pouvons maintenant exécuter l’auto-installateur. L’installation de base contient les paquets logiciels suivants (plus leurs dépendances bien sûr) : Apache2, PHP (versions 5.6 – 8.0), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats et GoAccess. Tu peux facilement choisir de ne pas utiliser certaines fonctions ou d’installer des services supplémentaires en passant des arguments à l’installateur. Tu peux afficher tous les arguments avec :

wget -O - https://get.ispconfig.org | sh -s -- --help

Tu peux maintenant exécuter le script avec des arguments. Par exemple, si tu veux une installation normale avec une plage de ports pour FTP passif + unattended-upgrades, exécute :

wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210 --unattended-upgrades

Après un certain temps, tu verras :

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éponds « oui » et appuie sur la touche Entrée. L’installateur va maintenant démarrer.

Lorsque l’installateur est terminé, il t’indiquera le mot de passe de l’administrateur d’ISPConfig et de la racine de MySQL comme ceci :

[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC
[INFO] Your MySQL root password is: kkAkft82d!kafMwqxdtYs

Assure-toi de noter ces informations, car tu en auras besoin plus tard.

5. Configurer le pare-feu

La dernière chose à faire est de configurer notre pare-feu.

Connecte-toi à l’interface utilisateur d’ISPConfig, et va dans Système -> Pare-feu. Puis clique 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,8081

UDP :

53

Les ports nécessaires pour chaque service sont :

Web : 20, 21, 22, 80, 443 et 40110:40210 (Tous les ports TCP, pas d’UDP)

Courrier : 25, 110, 143, 465, 587, 993 et 995 (Tous TCP, pas d’UDP)

DNS : 53 (TCP et UDP)

Panel : 8080 et 8081 (Tous les TCP, pas d’UDP)

Ton serveur est maintenant configuré et prêt à être utilisé. Tu peux te connecter à l’adresse https://server1.example.com:8080

6. Options avancées

L’auto-installateur dispose de diverses options de ligne de commande pour affiner l’installation. Tu peux par exemple choisir entre le serveur web Apache et Nginx et quels services doivent être installés sur le système. Les arguments de la 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|dev>
                    "stable" is the latest ISPConfig release available on www.ispconfig.org
                    "dev" is the latest stable-branch from the ISPConfig git repository: https://git.ispconfig.org/ispconfig/ispconfig3/tree/stable-3.1
                    -> 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 and 8.0 available).
                    --use-php=system disables the sury repository and just installs the system's default PHP version.
                    ommiting the argument (use 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 adviced unless you are migrating from a 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
    --unattended-upgrades
                    Install UnattendedUpgrades. You can add extra arguments for automatic cleanup and automatic reboots when necessary with --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, utilise cette commande :

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210 --unattended-upgrades

Ou pour installer un serveur Web Nginx sans les services Email et DNS :

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210 --unattended-upgrades

7. Finalisation de

Ton installation est maintenant terminée !

Tu peux soutenir ISPConfig en achetant notre manuel : https://www.ispconfig.org/documentation/.

Les liens suivants sont des tutoriels/points de repère utiles pour poursuivre la configuration :

Si tu as des questions, pose-les sur le forum.

Vous aimerez aussi...