Настройка сервера · 10 min read · Sep 22, 2025
ISPConfig Perfect Multiserver setup on Ubuntu 20.04 and Debian 10 - Page 4

5 Установка второго почтового сервера
Войдите как root или выполните
su -чтобы стать пользователем root на вашем сервере перед тем, как продолжить. ВАЖНО: Вы должны использовать ‘su -‘, а не просто ‘su’, иначе ваша переменная PATH будет установлена неправильно в Debian.
5.1 Настройка имени хоста
Имя хоста вашего сервера должно быть поддоменом, например “mx2.example.com”. Не используйте имя домена без части поддомена, например “example.com”, в качестве имени хоста, так как это приведет к проблемам позже с вашей почтовой настройкой. Сначала вы должны проверить имя хоста в /etc/hosts и изменить его при необходимости. Строка должна выглядеть так: “IP-адрес - пробел - полное имя хоста с доменом - пробел - часть поддомена”. Для нашего имени хоста mx2.example.com файл должен выглядеть так:
nano /etc/hosts127.0.0.1 localhost.localdomain localhost
# Эта строка должна быть изменена на каждом узле на правильное имя сервера:
127.0.1.1 mx2.example.com mx2
# Эти строки одинаковы на каждом узле:
10.0.64.12 panel.example.com panel
10.0.64.13 web01.example.com web01
10.0.64.14 mx1.example.com mx1
10.0.64.15 mx2.example.com mx2
10.0.64.16 ns1.example.com ns1
10.0.64.17 ns2.example.com ns2
10.0.64.18 webmail.example.com webmail
# Следующие строки желательны для хостов, поддерживающих IPv6
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allroutersКак вы можете видеть, мы также добавили имена хостов наших других серверов, чтобы они могли общаться по внутренней сети позже.
Затем отредактируйте файл /etc/hostname:
nano /etc/hostnameОн должен содержать только часть поддомена, в нашем случае:
mx2Наконец, перезагрузите сервер, чтобы применить изменения:
systemctl rebootВойдите снова и проверьте, правильно ли теперь имя хоста с помощью этих команд:
hostname
hostname -fВывод должен быть таким:
root@mx2:~$ hostname
mx2
root@mx2:~$ hostname -f
mx2.example.com5.2 Установка ISPConfig
Теперь мы можем запустить автоподстановщик для всех пакетов и ISPConfig:
wget -O - https://get.ispconfig.org | sh -s -- --no-dns --no-roundcube --no-mailman --use-php=system --use-unbound --interactiveЧерез некоторое время вы увидите:
WARNING! Этот скрипт перенастроит ваш полный сервер!
Он должен быть запущен на свежепоставленном сервере, и вся текущая конфигурация, которую вы сделали, скорее всего, будет потеряна!
Введите 'yes', если вы действительно хотите продолжить:Ответьте “yes” и нажмите Enter. Установщик теперь начнет.
Когда установка и конфигурация пакетов будут завершены, будет показан корневой пароль для MySQL на mx2. Запишите это (вместе с именем сервера, чтобы избежать путаницы позже).
Теперь нам придется ответить на несколько вопросов, так как мы используем интерактивный режим. Это необходимо, так как этот сервер будет добавлен в вашу многосерверную настройку.
[INFO] Установка ISPConfig3.
[INFO] Ваш корневой пароль MySQL: kl3994aMsfkkeE
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
|_| |_|\__/ / | | \__/\ (_) | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> Начальная конфигурация
Операционная система: Debian 10.0 (Buster) или совместимая
Далее будет несколько вопросов для первичной конфигурации, поэтому будьте внимательны.
Значения по умолчанию находятся в [скобках] и могут быть приняты с помощью .
Введите "quit" (без кавычек), чтобы остановить установщик.
Выберите язык (en,de) [en]: <-- Нажмите Enter
Режим установки (standard,expert) [standard]: <-- expert
Полное квалифицированное имя хоста (FQDN) сервера, например server1.domain.tld [mx2.example.com]: <-- Нажмите Enter
Имя хоста MySQL сервера [localhost]: <-- Нажмите Enter
Порт MySQL сервера [3306]: <-- Нажмите Enter
Имя пользователя root MySQL [root]: <-- Нажмите Enter
Пароль root MySQL []: <-- Введите пароль MySQL, который скрипт только что вам дал
База данных MySQL для создания [dbispconfig]: <-- Нажмите Enter
Кодировка MySQL [utf8]: <-- Нажмите Enter
Следующие два вопроса касаются внутреннего пользователя базы данных ISPConfig и пароля.
Рекомендуется принять значения по умолчанию, которые являются 'ispconfig' в качестве имени пользователя и случайным паролем.
Если вы используете другой пароль, используйте только цифры и символы для пароля.
Имя пользователя базы данных MySQL ISPConfig [ispconfig]: <-- Нажмите Enter
Пароль базы данных MySQL ISPConfig [aakl203920459853sak20284204]: <-- Нажмите Enter
Должен ли этот сервер присоединиться к существующей многосерверной настройке ISPConfig (y,n) [n]: <-- y
Имя хоста главного сервера MySQL []: <-- panel.example.com
Порт главного сервера MySQL []: <-- Нажмите Enter
Имя пользователя root главного сервера MySQL [root]: <-- Нажмите Enter
Пароль root главного сервера MySQL []: <-- пароль, который вы дали внешнему пользователю root на главном сервере.
Имя базы данных главного сервера MySQL [dbispconfig]: <-- Нажмите Enter
Добавление записи сервера ISPConfig в базу данных.
Настроить почту (y,n) [y]: <-- Нажмите Enter
Настройка Postgrey
Настройка Postfix
Генерация RSA закрытого ключа
......................................................................++++
....................++++
запись нового закрытого ключа в 'smtpd.key'
-----
Вы собираетесь ввести информацию, которая будет включена
в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется Уникальным Именем или DN.
Существует довольно много полей, но вы можете оставить некоторые пустыми
Для некоторых полей будет значение по умолчанию,
Если вы введете '.', поле останется пустым.
-----
Название страны (2 буквы) [AU]: <-- Нажмите Enter
Штат или провинция (полное название) [Some-State]: <-- Нажмите Enter
Название местности (например, город) []: <-- Нажмите Enter
Название организации (например, компания) [Internet Widgits Pty Ltd]: <-- Нажмите Enter
Название организационного подразделения (например, секция) []: <-- Нажмите Enter
Общее имя (например, FQDN сервера или ВАШЕ имя) []: <-- Нажмите Enter
Адрес электронной почты []: <-- Нажмите Enter
[WARN] автоматическое определение Mailman не удалось
Принудительно настроить Mailman (y,n) [n]: <-- Нажмите Enter
Пропуск Mailman
Настройка Dovecot
Создание нового файла DHParams, это займет несколько минут. Не прерывайте скрипт.
Настройка Spamassassin
[WARN] автоматическое определение Amavisd не удалось
Принудительно настроить Amavisd (y,n) [n]: <-- Нажмите Enter
Пропуск Amavisd
Настройка Rspamd
Настройка Getmail
Настройка Jailkit
Настройка Pureftpd
Настроить DNS сервер (y,n) [y]: <-- n
Опция Веб-сервера должна быть включена, когда вы хотите запустить веб-сервер или когда этот узел должен хостить интерфейс ISPConfig.
Настроить Веб-сервер (y,n) [y]: <-- Нажмите Enter
Настройка Apache
Настройка vlogger
[WARN] автоматическое определение OpenVZ не удалось
Принудительно настроить OpenVZ (y,n) [n]: <-- Нажмите Enter
Пропуск OpenVZ
Настроить сервер брандмауэра (y,n) [y]: <-- Нажмите Enter
Настройка брандмауэра Ubuntu
[WARN] автоматическое определение Metronome XMPP Server не удалось
Принудительно настроить Metronome XMPP Server (y,n) [n]: <-- Нажмите Enter
Пропуск Metronome XMPP Server
Настройка Fail2ban
Установить веб-интерфейс ISPConfig (y,n) [n]: <-- Нажмите Enter
Хотите ли вы создать SSL сертификаты для вашего сервера? (y,n) [y]: <-- Нажмите Enter
Проверка / создание сертификата для mx2.example.com
Используя путь сертификата /etc/letsencrypt/live/mx2.example.com
Используя apache для проверки сертификата
Создать символическую ссылку на SSL сертификаты ISPConfig для Postfix? (y,n) [y]: <-- Нажмите Enter
Создать символическую ссылку на SSL сертификаты ISPConfig для Pure-FTPd? Создание файла dhparam может занять некоторое время. (y,n) [y]: <-- Нажмите Enter
Генерация параметров DH, 2048 битный безопасный простой, генератор 2
Это займет много времени
......................+...........................................+...............
Настройка vhost приложений
Настройка DBServer
Установка crontab ISPConfig
нет crontab для getmail
Определение IP-адресов
Перезапуск служб ...
Установка завершена.
[INFO] Добавление версий php в ISPConfig.
[INFO] Проверка, что все службы работают.
[INFO] mysql: OK
[INFO] clamav-daemon: OK
[INFO] postfix: OK
[INFO] bind9: OK
[INFO] pureftpd: OK
[INFO] apache2: OK
[INFO] rspamd: OK
[INFO] redis-server: OK
[INFO] dovecot: OK
[INFO] Установка готова.
[INFO] Ваш корневой пароль MySQL: kl3994aMsfkkeE
[INFO] Предупреждение: Пожалуйста, удалите файлы журнала в /tmp/ispconfig-ai/var/log/setup-* как только они вам больше не нужны, так как они содержат ваши пароли! 5.3 Настройка репликации для Dovecot
Мы собираемся использовать dsync для синхронизации электронной почты между mx1 и mx2 для резервирования.
Пользовательские настройки для dovecot должны быть сохранены в /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master, чтобы вы не потеряли их при обновлении ISPConfig.
nano /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.masterПоместите следующее:
protocol imap {
mail_plugins = $mail_plugins quota imap_quota notify replication
}
protocol pop3 {
mail_plugins = $mail_plugins quota notify replication
}
protocol lda {
mail_plugins = $mail_plugins sieve quota notify replication
}
protocol lmtp {
mail_plugins = $mail_plugins sieve quota notify replication
}
doveadm_password = /(:&p-J:4e%?\@Q-;VSE#3Dmfm[fVK&r-mx2
doveadm_port = 12345
replication_max_conns = 50
ssl_client_ca_dir = /etc/ssl/certs
# Процесс репликатора должен быть запущен при старте, чтобы он мог начать репликацию пользователей немедленно:
service replicator {
process_min_avail = 1
}
# Процессы почты должны иметь доступ к fifo и сокету replication-notify.
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
mode = 0666
}
unix_listener replication-notify {
user = vmail
mode = 0666
}
}
# Включить команды репликатора doveadm
service replicator {
unix_listener replicator-doveadm {
mode = 0666
}
}
# Создать слушателя для doveadm-server
service doveadm {
user = vmail
inet_listener {
port = 12345
ssl = yes
}
}
service config {
unix_listener config {
user = vmail
}
}
plugin {
mail_replica = tcps:mx1.example.com
}Замените doveadm_password на ваш собственный пароль - сделайте его длинной и случайной строкой для безопасности. Он должен быть одинаковым на обоих серверах.
Замените
mail_replica = tcps:mx1.example.comна ваше собственное имя хоста mx1.
Чтобы применить эти изменения, скопируйте файл в папку dovecot и перезапустите dovecot:
cp /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master /etc/dovecot/conf.d/99-ispconfig-custom-config.conf
systemctl restart dovecot5.4 Настройка синхронизации для Rspamd
Rspamd имеет хороший веб-интерфейс. Мы собираемся настроить наши серверы как соседи, чтобы вы могли просматривать настройки, статистику и другие данные в одной панели.
nano /usr/local/ispconfig/server/conf-custom/install/rspamd_options.inc.masterДобавьте эти строки:
# Конфигурация из шаблона ISPConfig (должна быть обновлена, если есть изменения)
# Адреса, локальные для этого сервера.
local_addrs = [
"127.0.0.0/8",
"::1",
];
# Этот список генерируется ISPConfig, поместите пользовательские адреса/сети в local_networks.inc.
local_networks = "/etc/rspamd/local.d/local_networks.inc";
dns {
nameserver = ["127.0.0.1:53:10"];
}
# Пользовательская конфигурация:
neighbours {
mx1 {
host = "https://mx1.example.com:443";
path = "/rspamd/";
}
mx2 {
host = "https://mx2.example.com:443";
path = "/rspamd/";
}
}
# Последнее обновление: 19-01-2022Замените имена хостов на правильные имена хостов для вашего основного и вторичного почтового сервера. Эта конфигурация должна быть обновлена, если шаблон изменится, поэтому убедитесь, что вы проверяете это при обновлении ISPConfig.
Теперь мы собираемся добавить веб-сайт для этого сервера в ISPConfig. Перейдите в Сайты -> Добавить новый веб-сайт и добавьте веб-сайт “mx2.example.com”. Убедитесь, что вы создаете это на правильном сервере (mx2.example.com). Отключите авто-поддомен и включите SSL + Let’s Encrypt. Затем перейдите к параметрам и вставьте это в разделе директив Apache:
RewriteEngine On
RewriteRule ^/rspamd$ /rspamd/ [R,L]
RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]
Header set Access-Control-Allow-Origin https://mx1.example.comЗамените mx1.example.com на имя хоста вторичного сервера имен.
Наконец, нам нужно включить некоторые модули Apache и перезапустить наши службы:
a2enmod proxy_balancer proxy_http
systemctl restart rspamd
systemctl restart apache2Теперь мы собираемся установить пароль для интерфейса Rspamd на MX1, который мы будем использовать как веб-интерфейс для нашего кластера Rspamd.
Войдите в ISPConfig как администратор и перейдите в Система -> Конфигурация сервера -> mx1.example.com -> Почта -> Пароль Rspamd.
Введите новый пароль и нажмите сохранить. Затем перейдите в Система -> Конфигурация сервера -> mx2.example.com -> Почта -> Пароль Rspamd и введите тот же пароль там. Подождите, пока изменения будут распространены. Когда это будет сделано, вы сможете войти в Rspamd с вашим паролем по адресу https://mx1.example.com/rspamd/ в вашем браузере.
5.5 Защита почтового сервера с действительным SSL сертификатом
Для работающей настройки DSYNC и Roundcube вам необходимо иметь действительный SSL сертификат для используемых имен хостов. Этот сертификат не может быть самоподписанным. Если вы собираетесь использовать дополнительные имена хостов для этого сервера, такие как imap.example.com и smtp.example.com, или если установщик не смог создать действительный сертификат при установке, следуйте этому руководству, чтобы настроить действительный сертификат для вашего почтового сервера: https://www.howtoforge.com/securing-your-ispconfig-3-managed-mailserver-with-a-valid-lets-encrypt-certificate/
5.6 Настройка брандмауэра
Войдите в интерфейс ISPConfig и перейдите в Система -> Брандмауэр. Затем нажмите “Добавить новую запись брандмауэра”.
Убедитесь, что вы выбрали правильный сервер. Для нашего почтового сервера мы должны открыть следующие порты:
TCP:
22,25,80,110,143,443,465,587,993,995Порты UDP не нужно открывать через интерфейс.
Мы также собираемся открыть порт 3306, который используется для MySQL, и порт 12345, который используется для dsync, но только из нашей локальной сети по соображениям безопасности. Для этого выполните следующую команду из CLI, после того как изменения из панели ISPConfig будут распространены (когда красная точка исчезнет):
ufw allow from 10.0.64.0/24 to any port 3306 proto tcp
ufw allow from 10.0.64.0/24 to any port 12345 proto tcp5.7 Зеркалирование MX2 из MX1 в ISPConfig
Чтобы завершить настройку, вам нужно включить зеркалирование между mx1 и mx2. Для этого войдите в ISPConfig, перейдите в Система -> mx2.example.com -> “Является зеркалом сервера”. Выберите mx1.example.com и нажмите сохранить.
Наш вторичный почтовый сервер теперь установлен. На следующем шаге мы установим основной DNS сервер.
Get new posts in your inbox
No spam. Unsubscribe anytime.