Установка ISPConfig · 5 min read · Sep 22, 2025

ISPConfig Perfect Multiserver setup on Ubuntu 20.04 and Debian 10 - Page 5

6 Установка основного DNS-сервера

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

su -

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

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

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

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

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

ns1

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

systemctl reboot

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

hostname  
hostname -f

Вывод должен выглядеть так:

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

6.2 Установка ISPConfig

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

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

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

WARNING! This script will reconfigure your complete server!  
It should be run on a freshly installed server and all current configuration that you have done will most likely be lost!  
Type 'yes' if you really want to continue:

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

Когда установка и конфигурация пакетов завершатся, будет показан корневой пароль для MySQL на ns1. Запишите его (вместе с именем сервера, чтобы избежать путаницы позже).

Теперь нам придется ответить на несколько вопросов, так как мы используем интерактивный режим. Это необходимо, так как этот сервер будет добавлен в вашу многосерверную настройку.

[INFO] Installing ISPConfig3.  
[INFO] Your MySQL root password is: kl3994aMsfkkeE  
  
  
--------------------------------------------------------------------------------  
 _____ ___________   _____             __ _          ____  
|_   _/  ___| ___ \ /  __ \          / _(_)       /__  \  
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /  
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |  
  |_| |_|\__/ / |     | \__/\ (_) | | | | | | (_| | ___\ \  
  \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/  
                \                     __/ |  
                \____________________|___/   
--------------------------------------------------------------------------------  
  
>> Initial configuration   
  
Operating System: Debian 10.0 (Buster) or compatible  
  
    Following will be a few questions for primary configuration so be careful.  
    Default values are in [brackets] and can be accepted with .  
    Tap in "quit" (without the quotes) to stop the installer.  
  
  
Select language (en,de) [en]: <-- Hit enter  
  
Installation mode (standard,expert) [standard]: <-- expert  
  
Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [ns1.example.com]: <-- Hit Enter  
  
MySQL server hostname [localhost]: <-- Hit Enter  
  
MySQL server port [3306]: <-- Hit Enter  
  
MySQL root username [root]: <-- Hit Enter  
  
MySQL root password []: <-- Enter the MySQL password the script just gave you  
  
MySQL database to create [dbispconfig]: <-- Hit Enter  
  
MySQL charset [utf8]: <-- Hit Enter  
  
The next two questions are about the internal ISPConfig database user and password.  
It is recommended to accept the defaults which are 'ispconfig' as username and a random password.  
If you use a different password, use only numbers and chars for the password.  
  
ISPConfig mysql database username [ispconfig]: <-- Hit Enter  
  
ISPConfig mysql database password [aakl203920459853sak20284204]: <-- Hit Enter  
  
Shall this server join an existing ISPConfig multiserver setup (y,n) [n]: <-- y  
  
MySQL master server hostname []: <-- panel.example.com  
  
MySQL master server port []: <-- Hit Enter  
  
MySQL master server root username [root]: <-- Hit Enter  
  
MySQL master server root password []: <-- the password you gave the external root user on the master server.  
  
MySQL master server database name [dbispconfig]: <-- Hit Enter  
  
Adding ISPConfig server record to database.  
  
Configure Mail (y,n) [y]: <-- n  
  
[WARN] autodetect for Jailkit failed  
Force configure Jailkit (y,n) [n]: <-- Hit enter  
  
Skipping Jailkit  
  
[WARN] autodetect for pureftpd failed  
Force configure pureftpd (y,n) [n]: <-- Hit enter  
  
Skipping pureftpd  
  
Configure DNS Server (y,n) [y]: <-- Hit enter  
  
Configuring BIND  
The Web Server option has to be enabled when you want run a web server or when this node shall host the ISPConfig interface.  
Configure Web Server (y,n) [y]: <-- n  
  
[WARN] autodetect for OpenVZ failed  
Force configure OpenVZ (y,n) [n]: <-- Hit enter  
  
Skipping OpenVZ  
  
Configure Firewall Server (y,n) [y]: <-- Hit enter  
  
Configuring Ubuntu Firewall  
[WARN] autodetect for Metronome XMPP Server failed  
Force configure Metronome XMPP Server (y,n) [n]: <-- Hit enter  
  
Skipping Metronome XMPP Server  
  
Configuring Fail2ban  
Install ISPConfig Web Interface (y,n) [n]: <-- Hit enter  
  
Do you want to create SSL certs for your server? (y,n) [y]: <-- n  
  
Configuring DBServer  
Installing ISPConfig crontab  
Detect IP addresses  
Restarting services ...  
Failed to restart apache2.service: Unit apache2.service not found.  
Installation completed.  
[INFO] Checking all services are running.  
[INFO] mysql: OK  
[INFO] clamav-daemon: OK  
[INFO] postfix: OK  
[INFO] bind9: OK  
[INFO] Installation ready.  
[INFO] Your MySQL root password is: kl3994aMsfkkeE  
[INFO] Warning: Please delete the log files in /tmp/ispconfig-ai/var/log/setup-* once you don't need them anymore because they contain your passwords!

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

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

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

Убедитесь, что вы выбрали правильный сервер. Для нашего DNS-сервера нам нужно открыть следующие порты:

TCP:

22,53

UDP:

53

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

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

Первый DNS-сервер теперь добавлен в многосерверную настройку. На следующем шаге мы установим вторичный DNS-сервер.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.