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 -p

2 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/hosts

pour 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-allhosts

3 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/hosts

pour 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-allhosts

4 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_config

et changez

PermitRootLogin without-password

à

PermitRootLogin yes

ensuite, redémarrez le démon ssh :

service ssh restart

Sur server1 :

Créez une paire de clés privée/publique :

ssh-keygen
Generating 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 server2

Maintenant, 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_keys
ssh-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_config

et changez

PermitRootLogin yes

à

PermitRootLogin without-password

ensuite, redémarrez le démon ssh :

service ssh restart

Déconnectez-vous de server2 :

exit
logout  
Connection to 192.168.0.106 closed.

Nous sommes maintenant de retour sur server1.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.