Настройка сервера · 6 min read · Sep 08, 2025

ISPConfig Идеальная многосерверная настройка на Ubuntu 24.04 и Debian 12

Этот учебник проведет вас через установку вашей собственной многосерверной настройки ISPConfig 3 с выделенными серверами для панели, веба, DNS, почты и веб-почты. DNS-сервер будет иметь зеркальный сервер для резервирования. Вы можете легко добавить больше серверов определенного типа позже.

Для настройки серверов будет использоваться официальный автоподстановщик ISPConfig. В качестве операционной системы будет использоваться Debian 12. Руководство также было протестировано с Ubuntu 24.04.

Автоподстановщик имеет различные параметры командной строки для тонкой настройки установки.

Вы можете просмотреть все аргументы с помощью:

wget -O - https://get.ispconfig.org | sh -s -- --help

Вы можете прочитать больше об автоподстановщике здесь.

1. Предварительная заметка

Это будут хосты, которые мы устанавливаем:

host       FQDN                   IP  
panel      panel.example.com      10.0.64.12  
web01      web01.example.com      10.0.64.13  
mx1        mx1.example.com        10.0.64.14  
ns1        ns1.example.com        10.0.64.15  
ns2        ns2.example.com        10.0.64.16  
webmail    webmail.example.com    10.0.64.17

Мы будем использовать примеры имен хостов, IP-адресов и диапазонов IP. Убедитесь, что вы изменили их соответственно в ваших командах/конфигурации.

Все серверы находятся в одной частной сети, но имеют свои собственные публичные IP. Если ваши серверы не имеют общей локальной сети, используйте их публичные IPv4-адреса.

Перед началом установки сервера настройте A и, при необходимости, AAAA запись, указывающую на публичный IP-адрес вашего сервера. Например, если имя хоста panel.example.com, а публичный IP 11.22.33.44, вы должны настроить A запись для panel.example.com, указывающую на 11.22.33.44. Каждый сервер должен иметь свой собственный публичный IP и имя хоста. **

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

Войдите как root или выполните

su -

чтобы стать пользователем root на вашем сервере перед тем, как продолжить. ВАЖНО: Вы должны использовать ‘su -‘, а не просто ‘su’, иначе ваша переменная PATH будет установлена неправильно Debian.

2.1 Настройка имени хоста и хостов

Имя хоста вашего сервера должно быть поддоменом, например, “panel.example.com”. Не используйте имя домена без части поддомена, например, “example.com” в качестве имени хоста, так как это приведет к проблемам позже с вашей настройкой почты. Сначала вы должны проверить имя хоста в /etc/hosts и изменить его при необходимости. Строка должна выглядеть так: “IP-адрес - пробел - полное имя хоста с доменом - пробел - часть поддомена”. Для нашего имени хоста panel.example.com файл должен выглядеть так (некоторые строки могут отличаться, это может различаться в зависимости от хостинг-провайдера):

nano /etc/hosts
127.0.0.1 localhost.localdomain   localhost  
# Эта строка должна быть изменена на каждом узле на правильное имя сервера:  
127.0.1.1 panel.example.com panel  
# Эти строки одинаковы на каждом узле:
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 ns1.example.com ns1  
10.0.64.16 ns2.example.com ns2  
10.0.64.17 webmail.example.com webmail

# Следующие строки желательны для хостов, поддерживающих IPv6
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Как вы можете видеть, мы добавили имена хостов наших других серверов, чтобы они могли общаться по внутренней сети позже.

Затем отредактируйте файл /etc/hostname:

nano /etc/hostname

Он должен содержать только часть поддомена, в нашем случае:

panel

Наконец, перезагрузите сервер, чтобы применить изменения:

systemctl reboot

Войдите снова и проверьте, правильно ли теперь имя хоста с помощью этих команд:

hostname  
hostname -f

Вывод должен быть таким:

root@panel:~$ hostname  
panel  
root@panel:~$ hostname -f  
panel.example.com

Теперь мы можем запустить автоподстановщик для установки всех необходимых пакетов и ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --use-php=system

Через некоторое время вы увидите:

WARNING! Этот скрипт перезагрузит ваш сервер полностью!  
Он должен быть запущен на свежез установленном сервере, и вся текущая конфигурация, которую вы сделали, скорее всего, будет потеряна!  
Введите 'yes', если вы действительно хотите продолжить:

Ответьте “yes” и нажмите Enter. Установщик теперь начнет.

Когда установка завершится, он покажет вам пароль администратора ISPConfig и пароль root MySQL, как показано ниже:

[INFO] Ваш пароль администратора ISPConfig: 5GvfSSSYsdfdYC  
[INFO] Ваш пароль root MySQL: kkAkft82d!kafMwqxdtYs

Убедитесь, что вы записали эту информацию, вместе с сервером, для которого они предназначены, так как вам это понадобится позже.

2.2 Настройка удаленных пользователей MySQL для наших слейв-серверов

Мы войдем в MySQL, чтобы разрешить другим серверам подключаться к базе данных ISPConfig на этом узле во время установки, добавляя записи пользователя root MySQL в главную базу данных для каждого имени хоста и IP-адреса слейв-сервера.

В терминале выполните

mysql -u root -p

Введите свой пароль MySQL, а затем выполните следующие команды:

CREATE USER 'root'@'10.0.64.13' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.13' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'10.0.64.14' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.14' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'10.0.64.15' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.15' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'10.0.64.15' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.15' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'10.0.64.16' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.0.64.16' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'web01.example.com' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'web01.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'mx1.example.com' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'mx1.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'ns1.example.com' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'ns1.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'ns2.example.com' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'ns2.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER 'root'@'webmail.example.com' IDENTIFIED BY 'myrootpassword';  
GRANT ALL PRIVILEGES ON * . * TO 'root'@'webmail.example.com' IDENTIFIED BY 'myrootpassword' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

В приведенных выше SQL-командах замените IP-адреса (10.0.64.12 - 10.0.64.16) на IP-адреса ваших серверов, web01.example.com, mx1.example.com, ns1.example.com, ns2.example.com и webmail.example.com на имена хостов ваших серверов и myrootpassword на желаемый пароль root (хорошей практикой является использование разного пароля для каждого хоста. Запишите их, так как они понадобятся вам позже при установке или обновлении ваших слейв-серверов).

Когда это будет сделано, вы можете выйти из MySQL с помощью:

EXIT;

Теперь вы можете войти в ISPConfig на https://panel.example.com:8080 с именем пользователя admin и паролем, который показал вам установщик.

2.3 Настройка брандмауэра

Последнее, что нужно сделать, это настроить наш брандмауэр.

Войдите в интерфейс ISPConfig и перейдите в Система -> Брандмауэр. Затем нажмите “Добавить новую запись брандмауэра”.

Для сервера панели нам нужно открыть следующие порты:

TCP:

22,80,443,8080,8081

Никакие порты UDP не нужно открывать через интерфейс.

Мы также собираемся открыть порт 3306, который используется для MySQL, но только из нашей локальной сети по соображениям безопасности. Для этого выполните следующую команду из CLI, после того как изменение из панели ISPConfig будет распространено (когда красная точка исчезнет):

ufw allow from 10.0.64.0/24 to any port 3306 proto tcp

Ваша панель теперь настроена и готова к использованию.

На следующем этапе мы установим веб-сервер.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.