Поиск по сайту:

Установка кластера базы данных Web, Email и 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 с корневым паролем для MySQL:

mysql -u root -p

2 Установите главный сервер

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

Установите ISPConfig на Master-сервер в соответствии с 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 # The following lines are desirable for IPv6 capable hosts ::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 # The following lines are desirable for IPv6 capable hosts ::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 Вход без ключа с сервера 1 на сервер 2

На сервере 2:

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

vi /etc/ssh/sshd_config

и изменить

PermitRootLogin without-password

к

PermitRootLogin yes

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

service ssh restart

На сервере 1:

Создайте пару закрытый/открытый ключ:

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
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|           .     |
|          +      |
|       + *       |
|      E S +      |
|     o O @ .     |
|    .   B +      |
|       o o       |
|        .        |
+-----------------+

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

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

ssh-copy-id -i /root/.ssh/id_rsa.pub 
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 (you will see this only if this is the first time you connect to 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
's password: <- enter root password from server2

Теперь попробуйте войти в машину:

ssh 

И проверьте /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 

Запретить root-логин с паролем. Откройте /etc/sshd_config:

vi /etc/ssh/sshd_config

и изменить

PermitRootLogin yes

к

PermitRootLogin without-password

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

service ssh restart

Выход с сервера2:

exit
logout
Connection to 192.168.0.106 closed.

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