Установка сервера · 8 min read · Sep 08, 2025

Автоматическая установка ISPConfig 3 на Debian 11 и 12, Ubuntu 22.04 и 24.04

Этот учебник поможет установить вашу односерверную конфигурацию ISPConfig 3 с помощью автоинсталлятора ISPConfig. Этот инсталлятор следует старым руководствам Perfect Server, но более модульный и простой в использовании. Если вы хотите настроить многосерверную конфигурацию с выделенными серверами для каждой службы, смотрите руководство Perfect Multiserver.

Это руководство работает для Debian 11 и 12, Ubuntu 22.04 и 24.04. В настоящее время оно поддерживает архитектуры процессоров x86_64 (также известную как AMD64) и ARM (ARM64). Мы будем использовать имя хоста server1.example.com. Замените его при необходимости. Руководство требует свежей установки и пустой базовой ОС; не пытайтесь использовать его на системе, где вы уже настроили другие службы.

Предварительные требования

  • Операционная система: Debian 11 и 12, Ubuntu 22.04 или Ubuntu 24.04.
  • Архитектура процессора Intel или AMD 64-бит (x86_64, также известная как AMD64) или ARM (ARM64).
  • Система должна иметь доступ в интернет для загрузки и установки программного обеспечения с помощью apt.
  • Начинайте с чистой и пустой установки базовой ОС. Система должна быть полностью доступна из интернета; не блокируйте доступ с помощью брандмауэра, особенно не блокируйте порт 80 для выдачи сертификатов LE и порт 8080 для доступа к ISPConfig, а также порты для всех служб, которые вы используете на этой системе. Сервер также должен иметь доступ в интернет для загрузки и установки программного обеспечения во время установки и разрешения доменных имен через DNS.

1. Войдите на сервер

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

su --login

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

На Ubuntu используйте команду:

sudo -s

чтобы стать пользователем root.

2. Настройте имя хоста и хосты

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

nano /etc/hosts
127.0.0.1 localhost.localdomain   localhost  
# Эта строка должна быть изменена на правильное имя сервера:  
127.0.1.1 server1.example.com server1  

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

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

nano /etc/hostname

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

server1

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

systemctl reboot

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

hostname  
hostname -f

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

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

Вам также нужно будет настроить DNS-запись у вашего провайдера DNS, которая указывает на ваш сервер. Должна быть A (и/или AAAA) запись для поддомена, которая указывает на ваш публичный IP.

3. Обновите систему

Чтобы обновить пакеты системы, выполните команду:

apt update && apt upgrade

4. Запустите автоинсталлятор

Теперь мы можем запустить автоинсталлятор. Базовая установка включает в себя следующие программные пакеты (плюс их зависимости, конечно): Apache2, PHP (версии 5.6 - 8.3), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats и GoAccess. Вы можете легко выбрать, не использовать определенные функции или установить дополнительные службы, передав аргументы инсталлятору. См. главу 6 для доступных параметров командной строки.

Установите ISPConfig с веб-сервером Apache

Теперь вы можете запустить скрипт с аргументами. Например, если вы хотите нормальную установку с веб-сервером Apache и диапазоном портов для пассивного FTP + автоматических обновлений, выполните:

wget -O - https://get.ispconfig.org | sh -s -- `--use-ftp-ports=40110-40210` --unattended-upgrades

Следующие шаги описаны в главе “Запуск автоинсталлятора”.

Установите ISPConfig с веб-сервером Nginx

Теперь вы можете запустить скрипт с аргументами. Например, если вы хотите нормальную установку с веб-сервером Nginx и диапазоном портов для пассивного FTP + автоматических обновлений, выполните:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgrades

Запуск автоинсталлятора

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

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

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

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

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

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

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

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

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

Для нормальной настройки это будет выглядеть так:

TCP:

20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081

UDP:

53

Необходимые порты для каждой службы:

Веб: 20, 21, 22, 80, 443 и 40110:40210 (все TCP, без UDP)

Почта: 25, 110, 143, 465, 587, 993 и 995 (все TCP, без UDP)

DNS: 53 (TCP и UDP)

Панель: 8080 и 8081 (все TCP, без UDP)

Ваш сервер теперь настроен и готов к использованию. Вы можете войти по адресу https://server1.example.com:8080

6. Расширенные параметры

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

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

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

Вы можете, например, выбрать между веб-сервером Apache и Nginx и какие службы должны быть установлены на системе. Аргументы командной строки:

Usage: ispc3-ai.sh [] [...]  

Этот скрипт автоматически устанавливает все необходимые пакеты для настройки ISPConfig 3, используя рекомендации из "Perfect Server Setup" на www.howtoforge.com.

Возможные аргументы:
    --help          Показать эту страницу помощи.
    --debug         Включить подробное ведение журнала (логирует каждую команду с кодом выхода).
    --channel       Выберите канал для использования с ISPConfig: --channel=
                    "stable" - это последняя версия ISPConfig, доступная на www.ispconfig.org
                    "dev" - это последняя ветка разработки из репозитория ISPConfig git: https://git.ispconfig.org/ispconfig/ispconfig3/tree/develop
                    Канал разработки может содержать ошибки и менее протестированные функции и должен использоваться в производстве только очень опытными пользователями.
    --lang          Использовать язык для установки ISPConfig. Укажите с помощью --lang=en|de (в настоящее время поддерживаются только en (английский) и de (немецкий)).
    --interactive   Не устанавливать ISPConfig в неинтерактивном режиме.
                    Это необходимо, если вы хотите использовать экспертный режим, например, для установки сервера-слейва, который должен быть интегрирован в существующую многосерверную конфигурацию.
    --use-nginx     Использовать веб-сервер nginx вместо apache2.
    --use-amavis    Использовать amavis вместо rspamd для фильтрации почты.
    --use-unbound   Использовать unbound вместо bind9 для локального разрешения. Разрешено только если установлен --no-dns.
    --use-php       Использовать конкретные версии PHP, разделенные запятыми, вместо установки нескольких PHP, например, --use-php=7.4,8.0 (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2 и 8.3 доступны).
                    --use-php=system отключает репозиторий sury и просто устанавливает версию PHP по умолчанию системы.
                    --use-php, пропуская аргумент, использует все версии.
    --use-ftp-ports Эта опция устанавливает диапазон пассивных портов для pure-ftpd. Вы должны указать диапазон портов, разделенный дефисом, например, --use-ftp-ports=40110-40210.
                    Если не указано, диапазон пассивных портов не будет настроен.
    --use-certbot   Использовать Certbot вместо acme.sh для выдачи сертификатов Let's Encrypt. Не рекомендуется, если вы не мигрируете с старого сервера, который использует Certbot.
    --no-web        Не использовать ISPConfig на этом сервере для управления настройками веб-сервера и не устанавливать nginx/apache или pureftpd.
                    Это также предотвратит установку интерфейса ISPConfig и подразумевает --no-roundcube, а также --no-pma.
    --no-mail       Не использовать ISPConfig на этом сервере для управления настройками почтового сервера.
                    Это установит postfix для отправки системных писем, но не dovecot и не настроит никаких параметров для почты ISPConfig. Это подразумевает --no-mailman.
    --no-dns        Не использовать ISPConfig на этом сервере для управления записями DNS. Bind будет установлен только для локального кэширования / разрешения DNS.
    --no-local-dns  Не устанавливать локальное кэширование / разрешение DNS через bind.
    --no-firewall   Не устанавливать ufw и не сообщать ISPConfig о том, чтобы не управлять настройками брандмауэра на этом сервере.
    --no-roundcube  Не устанавливать веб-почту roundcube.
    --roundcube     Установить Roundcube, даже если используется --no-mail. Необходима ручная настройка конфигурации Roundcube.
    --no-pma        Не устанавливать PHPMyAdmin на этом сервере.
    --no-mailman    Не устанавливать менеджер рассылок Mailman.
    --no-quota      Отключить квоты файловой системы.
    --no-ntp        Отключить настройку NTP.
    --no-jailkit    Не устанавливать jailkit.
    --no-ftp        Не устанавливать сервер pure-ftpd.
    --monit         Установить Monit и настроить его для мониторинга установленных служб. Поддерживаемые службы: Apache2, NGINX, MariaDB, pure-ftpd-mysql, php-fpm, ssh, named, Postfix, Dovecot, rspamd.
    --monit-alert-email
                    Настроить оповещения для Monit, чтобы они отправлялись на указанный адрес электронной почты. например, [email protected].
    --ssh-port      Настроить SSH-сервер для прослушивания на нестандартном порту. Номер порта должен быть между 1 и 65535 и не может использоваться другими службами. например, --ssh-port=64.
    --ssh-permit-root
                    Настроить SSH-сервер на разрешение или запрет входа root: --ssh-permit-root=, например, --ssh-permit-root=without-password.
    --ssh-password-authentication
                    Настроить SSH-сервер на разрешение или запрет аутентификации по паролю: --ssh-password-authentication=, например, -ssh-password-authentication=no.
    --ssh-harden    Настроить SSH-сервер для более строгой конфигурации безопасности.
    --unattended-upgrades
                    Установить UnattendedUpgrades. Вы можете добавить дополнительные аргументы для автоматической очистки и автоматических перезагрузок при необходимости: --unattended-upgrades=autoclean,reboot (или только один из них).
    --i-know-what-i-am-doing
                    Предотвратить автоинсталлятор запрашивать подтверждение перед продолжением перенастройки сервера.

Например, чтобы установить конфигурацию “Perfect Server” с Nginx вместо Apache, используйте эту команду:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgrades

Или чтобы установить веб-сервер Nginx без почтовых и DNS-служб:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail `--use-ftp-ports=40110-40210` --unattended-upgrades

7. Завершение

Ваша настройка теперь завершена!

Вы можете поддержать ISPConfig, купив наше руководство: https://www.ispconfig.org/documentation/

Следующие ссылки являются ценными учебниками/указателями для дальнейшей настройки:

Если у вас есть какие-либо вопросы, задавайте их на форуме.

8. Отладка в случае ошибки

Если что-то пойдет не так во время установки, вы можете отладить процесс, добавив флаг командной строки –debug к команде установки. Это создаст файл журнала

/tmp/ispconfig-ai/var/log/ispconfig.log

Также опция командной строки –interactive может помочь выявить причину ошибки установки.

9. Загрузка в виде виртуальной машины

Эта настройка доступна для загрузки в виде виртуальной машины в формате ova/ovf (совместимом с VMWare и Virtualbox) для подписчиков howtoforge. Виртуальная машина основана на Debian 12 и использует Apache в качестве веб-сервера.

Данные для входа в виртуальную машину

  • Пароль root: howtoforge
  • Пароль пользователя “admin” ISPConfig: howtoforge
  • Есть еще один пользователь оболочки с именем “administrator” и паролем: howtoforge
  • Пароль root MySQL: 7s8EtDL1QhorSaeHhnRh

Пожалуйста, измените все пароли при первом входе.

  • IP-адрес виртуальной машины: 192.168.0.100
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.