Serveur Cluster · 4 min read · Sep 30, 2025
Installation d'un cluster Web, Email & Base de données MySQL sur Debian 8.4 Jessie avec ISPConfig 3.1
Ce tutoriel décrit l’installation d’un serveur web, email, base de données et DNS en cluster à utiliser pour la redondance, la haute disponibilité et l’équilibrage de charge sur Debian 8 avec le panneau de contrôle ISPConfig 3. La réplication MySQL Master/Master sera utilisée pour répliquer les bases de données clients MySQL entre les serveurs, Unison sera utilisé pour synchroniser le /var/www (sites web) et les mails seront synchronisés avec Dovecot.
1 Remarque générale
Dans cette configuration, il y aura un serveur maître (qui exécute l’interface du panneau de contrôle ISPConfig) et un serveur esclave qui reflète les services web (apache), email (postfix et dovecot), dns (bind) et base de données (MySQL ou MariaDB) du serveur maître.
Pour installer la configuration en cluster, nous avons besoin de deux serveurs avec une installation minimale de Debian 8.4 et la même version d’ISPConfig.
Dans mon exemple, j’utilise les noms d’hôtes et adresses IP suivants pour les deux serveurs :
Serveur Maître
Nom d’hôte : server1.example.tld
Adresse IP : 192.168.0.105
Adresse IPv6 : 2001:db8::1
Serveur Esclave
Nom d’hôte : server2.example.tld
Adresse IP : 192.168.0.106
Adresse IPv6 : 2001:db8::2
Partout où ces noms d’hôtes ou adresses IP apparaissent dans les prochaines étapes d’installation, vous devrez les changer pour correspondre aux IP et noms d’hôtes de vos serveurs.
Toutes les commandes doivent être exécutées en tant qu’utilisateur root. Si vous devez apporter des modifications dans MySQL, connectez-vous à MySQL avec le mot de passe root pour MySQL :
mysql -u root -p2 Installer le Serveur Maître
Tout d’abord, nous devons installer ISPConfig sur le Serveur Maître. Si vous avez déjà installé ISPConfig sur ce serveur, vous pouvez sauter l’installation (assurez-vous que l’installation existante est à jour).
Installez ISPConfig sur le Serveur Maître selon The Perfect Server - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1).
Ajoutez le Serveur Esclave au fichier /etc/hosts
vi /etc/hostspour qu’il ressemble à :
127.0.0.1 localhost
192.168.0.105 server1.example.tld server1
2001:db8::1 server1.example.tld server1
192.168.0.106 server2.example.tld
2001:db8::2 server2.example.tld
# Les lignes suivantes sont souhaitables pour les hôtes compatibles IPv6
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts3 Préparer le Serveur Esclave
Exécutez les étapes 1 - 19 de The Perfect Server - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1).
Ne pas installer ISPConfig sur server2 pour l’instant.
Ajoutez le Serveur Maître au fichier /etc/hosts
vi /etc/hostspour qu’il ressemble à :
127.0.0.1 localhost
192.168.0.105 server1.example.tld
2001:db8::1 server1.example.tld
192.168.0.106 server2.example.tld server2
2001:db8::2 server2.example.tld server2
# Les lignes suivantes sont souhaitables pour les hôtes compatibles IPv6
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts4 Connexion sans clé de Server1 à Server2
Sur server2 :
Nous autorisons temporairement la connexion root sur server2 avec un mot de passe. Ouvrez /etc/sshd_config :
vi /etc/ssh/sshd_configet changez
PermitRootLogin without-passwordà
PermitRootLogin yesensuite, redémarrez le démon ssh :
service ssh restartSur server1 :
Créez une paire de clés privée/publique :
ssh-keygenGenerating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <-- ENTER
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <-- ENTER
Enter same passphrase again: <-- ENTER
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
f3:d0:62:a7:24:6f:f0:1e:d1:64:a9:9f:12:6c:98:5a root@server1
The key's randomart image is:
+---[RSA 2048]----+
| |
| . |
| + |
| + * |
| E S + |
| o O @ . |
| . B + |
| o o |
| . |
+-----------------+
Il est important de ne pas entrer de phrase secrète, sinon le mirroring ne fonctionnera pas sans interaction humaine, donc appuyez simplement sur ENTER !
Ensuite, nous copions notre clé publique sur server2.example.tld :
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]The authenticity of host '192.168.0.106 (192.168.0.106)' can't be established.
ECDSA key fingerprint is 25:d8:7a:ee:c2:4b:1d:92:a7:3d:16:26:95:56:62:4e.
Are you sure you want to continue connecting (yes/no)? <-- yes (vous ne verrez cela que si c'est la première fois que vous vous connectez à server2)
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys[email protected]'s password: <- entrez le mot de passe root de server2Maintenant, essayez de vous connecter à la machine :
ssh [email protected]Et vérifiez /root/.ssh/authorized_keys pour vous assurer que nous n’avons pas ajouté de clés supplémentaires que vous ne vous attendiez pas.
cat /root/.ssh/authorized_keysssh-dss AAAAB3NzaC1kc3MAAACBAPhiAexgEBexnw0rFG8lXwAuIsca/V+lhmv5lhF3BqUfAbL7e2sWlQlGhxZ8I2UnzZK8Ypffq6Ks+lp46yOs7MMXLqb7JBP9gkgqxyEWqOoUSt5hTE9ghupcCvE7rRMhefY5shLUnRkVH6hnCWe6yXSnH+Z8lHbcfp864GHkLDK1AAAAFQDddQckbfRG4C6LOQXTzRBpIiXzoQAAAIEAleevPHwi+a3fTDM2+Vm6EVqR5DkSLwDM7KVVNtFSkAY4GVCfhLFREsfuMkcBD9Bv2DrKF2Ay3OOh39269Z1rgYVk+/MFC6sYgB6apirMlHj3l4RR1g09LaM1OpRz7pc/GqIGsDt74D1ES2j0zrq5kslnX8wEWSHapPR0tziin6UAAACBAJHxgr+GKxAdWpxV5MkF+FTaKcxA2tWHJegjGFrYGU8BpzZ4VDFMiObuzBjZ+LrUs57BiwTGB/MQl9FKQEyEV4J+AgZCBxvg6n57YlVn6OEA0ukeJa29aFOcc0inEFfNhw2jAXt5LRyvuHD/C2gG78lwb6CxV02Z3sbTBdc43J6y [email protected]Interdire la connexion root avec un mot de passe. Ouvrez /etc/sshd_config :
vi /etc/ssh/sshd_configet changez
PermitRootLogin yesà
PermitRootLogin without-passwordensuite, redémarrez le démon ssh :
service ssh restartDéconnectez-vous de server2 :
exitlogout
Connection to 192.168.0.106 closed.Nous sommes maintenant de retour sur server1.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.