Установка сервера · 3 min read · Sep 30, 2025

Установка кластеров веб-сервера, электронной почты и базы данных MySQL на Debian 8.4 Jessie с ISPConfig 3.1

Этот учебник описывает установку кластерного веб-сервера, сервера электронной почты, базы данных и DNS, который будет использоваться для резервирования, высокой доступности и балансировки нагрузки на Debian 8 с панелью управления ISPConfig 3. Репликация MySQL Master/Master будет использоваться для репликации клиентских баз данных MySQL между серверами, Unison будет использоваться для синхронизации /var/www (веб-сайты), а почта будет синхронизирована с Dovecot.

1 Общая информация

В этой настройке будет один главный сервер (на котором работает интерфейс панели управления ISPConfig) и один вспомогательный сервер, который дублирует веб (apache), электронную почту (postfix и dovecot), dns (bind) и базы данных (MySQL или MariaDB) службы главного сервера.

Для установки кластерной настройки нам нужны два сервера с минимальной установкой Debian 8.4 и одной и той же версией ISPConfig.

В моем примере я использую следующие имена хостов и IP-адреса для двух серверов:

Главный сервер

Имя хоста: server1.example.tld
IP-адрес: 192.168.0.105
IPv6-адрес: 2001:db8::1

Вспомогательный сервер

Имя хоста: server2.example.tld
IP-адрес: 192.168.0.106
IPv6-адрес: 2001:db8::2

Где бы эти имена хостов или IP-адреса ни встречались в следующих шагах установки, вам нужно будет изменить их, чтобы они соответствовали IP-адресам и именам хостов ваших серверов.

Все команды должны выполняться от имени пользователя root. Если вам нужно внести изменения в MySQL, войдите в MySQL с паролем root для MySQL:

mysql -u root -p

2 Установка главного сервера

Сначала нам нужно установить ISPConfig на Главном сервере. Если вы уже установили ISPConfig на этом сервере, вы можете пропустить установку (убедитесь, что существующая установка актуальна).

Установите ISPConfig на Главном сервере в соответствии с The Perfect Server - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1).

Добавьте Вспомогательный сервер в файл /etc/hosts

vi /etc/hosts

так, чтобы он выглядел так:

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

# Следующие строки желательны для хостов, поддерживающих 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 Подготовка вспомогательного сервера

Выполните шаги 1 - 19 из The Perfect Server - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1).

Не устанавливайте ISPConfig на server2 пока.

Добавьте Главный сервер в файл /etc/hosts

vi /etc/hosts

так, чтобы он выглядел так:

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

# Следующие строки желательны для хостов, поддерживающих 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 Безпарольный вход с Server1 на Server2

На server2:

Мы временно разрешаем вход root на server2 с паролем. Откройте /etc/sshd_config:

vi /etc/ssh/sshd_config

и измените

PermitRootLogin without-password

на

PermitRootLogin yes

после этого перезапустите ssh-демон:

service ssh restart

На server1:

Создайте пару ключей (приватный/публичный):

ssh-keygen
Генерация пары ключей rsa (публичный/приватный).  
Введите файл, в который сохранить ключ (/root/.ssh/id_rsa): <-- ENTER  
Создана директория '/root/.ssh'.  
Введите пароль (пусто для отсутствия пароля): <-- ENTER  
Введите тот же пароль еще раз: <-- ENTER  
Ваша идентификация была сохранена в /root/.ssh/id_rsa.  
Ваш публичный ключ был сохранен в /root/.ssh/id_rsa.pub.  
Отпечаток ключа:  
f3:d0:62:a7:24:6f:f0:1e:d1:64:a9:9f:12:6c:98:5a root@server1  
Случайное изображение ключа:  
+---[RSA 2048]----+  
|                 |  
|           .     |  
|          +      |  
|       + *       |  
|      E S +      |  
|    o O @ .      |  
|   .   B +       |  
|       o o       |  
|        .        |  
+-----------------+  
  

Важно, чтобы вы не вводили пароль, иначе зеркалирование не будет работать без человеческого взаимодействия, поэтому просто нажмите ENTER!

Далее мы копируем наш публичный ключ на server2.example.tld:

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
Подлинность хоста '192.168.0.106 (192.168.0.106)' не может быть установлена.  
Отпечаток ключа ECDSA: 25:d8:7a:ee:c2:4b:1d:92:a7:3d:16:26:95:56:62:4e.  
Вы уверены, что хотите продолжить подключение (yes/no)? <-- yes (вы увидите это только в том случае, если это первый раз, когда вы подключаетесь к server2)   
/usr/bin/ssh-copy-id: INFO: попытка войти с новыми ключами, чтобы отфильтровать любые, которые уже установлены  
/usr/bin/ssh-copy-id: INFO: 1 ключ(ей) остается для установки -- если вам сейчас предложат, это для установки новых ключей
[email protected]'s password: <- введите пароль root от server2

Теперь попробуйте войти в систему:

ssh [email protected]

И проверьте /root/.ssh/authorized_keys, чтобы убедиться, что мы не добавили лишние ключи, которых вы не ожидали.

cat /root/.ssh/authorized_keys
ssh-dss AAAAB3NzaC1kc3MAAACBAPhiAexgEBexnw0rFG8lXwAuIsca/V+lhmv5lhF3BqUfAbL7e2sWlQlGhxZ8I2UnzZK8Ypffq6Ks+lp46yOs7MMXLqb7JBP9gkgqxyEWqOoUSt5hTE9ghupcCvE7rRMhefY5shLUnRkVH6hnCWe6yXSnH+Z8lHbcfp864GHkLDK1AAAAFQDddQckbfRG4C6LOQXTzRBpIiXzoQAAAIEAleevPHwi+a3fTDM2+Vm6EVqR5DkSLwDM7KVVNtFSkAY4GVCfhLFREsfuMkcBD9Bv2DrKF2Ay3OOh39269Z1rgYVk+/MFC6sYgB6apirMlHj3l4RR1g09LaM1OpRz7pc/GqIGsDt74D1ES2j0zrq5kslnX8wEWSHapPR0tziin6UAAACBAJHxgr+GKxAdWpxV5MkF+FTaKcxA2tWHJegjGFrYGU8BpzZ4VDFMiObuzBjZ+LrUs57BiwTGB/MQl9FKQEyEV4J+AgZCBxvg6n57YlVn6OEA0ukeJa29aFOcc0inEFfNhw2jAXt5LRyvuHD/C2gG78lwb6CxV02Z3sbTBdc43J6y [email protected]

Запретите вход root с паролем. Откройте /etc/sshd_config:

vi /etc/ssh/sshd_config

и измените

PermitRootLogin yes

на

PermitRootLogin without-password

после этого перезапустите ssh-демон:

service ssh restart

Выйдите из server2:

exit
logout  
Соединение с 192.168.0.106 закрыто.

Теперь мы снова на server1.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.