Установка сервера · 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 -p2 Установка главного сервера
Сначала нам нужно установить 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-allhosts3 Подготовка вспомогательного сервера
Выполните шаги 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-allhosts4 Безпарольный вход с 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_keysssh-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:
exitlogout
Соединение с 192.168.0.106 закрыто.Теперь мы снова на server1.
Get new posts in your inbox
No spam. Unsubscribe anytime.