Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Автоматическая установка ISPConfig 3 на Debian и Ubuntu

Автоматическая установка ISPConfig 3 на Debian и Ubuntu

Данный материал посвящен развертыванию единого сервера под управлением панели управления ISPConfig 3 с помощью официального автоматического установщика. Этот инструмент концептуально повторяет классические руководства Perfect Server, но отличается от них большей модульностью и простотой использования. Если вашей целью является создание многосерверной архитектуры с выделенными узлами под каждую отдельную службу, стоит обратиться к специализированному руководству по настройке мультисерверных систем. Рассматриваемая процедура полностью совместима с дистрибутивами Debian 12 и 13, а также с Ubuntu 22.04 и Ubuntu 24.04. На текущий момент поддерживаются аппаратные архитектуры процессоров x86_64, которые также известны как AMD64, и ARM64. В качестве примера в инструкции задействован хост-имя server1.example.com, которое потребуется изменить на ваши собственные данные при практической реализации. Главное условие для корректного запуска — использование чистой и незанятой базовой операционной системы без предварительно настроенных сторонних служб.

Предварительные требования и системные окружения

Прежде чем приступать к развертыванию, необходимо убедиться, что ваша инфраструктура соответствует базовым техническим критериям. Операционная система должна представлять собой свежую инсталляцию Debian версий 12 или 13, либо Ubuntu версий 22.04 или 24.04. Поддерживаются 64-битные процессорные архитектуры семейств Intel/AMD (x86_64) и ARM (ARM64). Обязательным условием является наличие стабильного подключения к интернету, так как в процессе работы скрипта через пакетный менеджер apt будут скачиваться и инсталлироваться необходимые компоненты и зависимости.

Система должна иметь прямой доступ из глобальной сети, поэтому не следует блокировать входящие и исходящие соединения с помощью брандмауэра. Особое внимание стоит уделить 80-му порту, который задействован для выпуска сертификатов Let’s Encrypt, и порту 8080 для доступа к интерфейсу ISPConfig, не говоря уже о портах для прочих используемых служб. Кроме того, сервер должен корректно разрешать доменные имена через DNS.

1. Авторизация на сервере с правами суперпользователя

Для выполнения дальнейших шагов необходимо зайти в систему под учетной записью root. На дистрибутивах Debian для этого используется команда su --login. Важно: следует применять именно варианты su --login или su -, но не простую команду su, иначе переменная окружения PATH в Debian будет сформирована некорректно. В окружении Ubuntu для получения аналогичных прав применяется команда sudo -s.

2. Настройка сетевого имени хоста и файла hosts

Сетевое имя вашего сервера должно быть оформлено в виде поддомена, например server1.example.com. Использование доменного имени первого уровня без поддомена вроде example.com в качестве hostname крайне не рекомендуется, поскольку в дальнейшем это неизбежно приведет к сбоям в работе служб.

Сначала проверьте конфигурацию в файле /etc/hosts и при необходимости отредактируйте ее. Строка с IP-адресом должна содержать полный хост с доменом, разделенный пробелами. Для нашего примера конфигурация будет выглядеть следующим образом:

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
127.0.1.1 server1.example.com server1
::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. Корректный вывод должен выглядеть так: для первой команды — server1, для второй — server1.example.com. Дополнительно у вашего DNS-провайдера необходимо прописать соответствующую ресурсную запись, указывающую на публичный IP-адрес вашего сервера: обычно это A-запись и/или AAAA-запись для выбранного поддомена.

3. Обновление системных пакетов

Перед запуском установщика необходимо привести программное обеспечение операционной системы в актуальное состояние. Выполните стандартную команду обновления пакетов: apt update && apt upgrade.

4. Запуск автоматического установщика

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

Вы можете гибко управлять составом компонентов, исключая ненужные функции или добавляя дополнительные службы путем передачи соответствующих аргументов командной строки установщику.

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

Если вам требуется стандартная конфигурация на базе веб-сервера Apache, с заданным диапазоном портов для пассивного режима FTP и активированными автоматическими обновлениями безопасности, запустите скрипт следующей командой:

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

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

Аналогично, если в качестве веб-сервера вы предпочитаете использовать Nginx, команда примет следующий вид:

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

Процесс работы автоустановщика

Спустя некоторое время после запуска скрипт выведет предупреждение о том, что данная процедура полностью переконфигурирует сервер, должна выполняться на чистой системе, а все текущие пользовательские настройки будут утеряны. Система запросит подтверждение: Type ‘yes’ if you really want to continue:. Введите yes и нажмите клавишу ввода.

По завершении работы установщик выведет на экран сгенерированные учетные данные: пароль администратора ISPConfig и пароль пользователя root для базы данных MySQL. Обязательно запишите эту информацию, так как она потребуется для дальнейшего администрирования.

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

Заключительным этапом первичной настройки является конфигурация файрвола. Авторизуйтесь в графическом интерфейсе ISPConfig, перейдите в раздел System -> Firewall и нажмите кнопку создания новой записи брандмауэра. Для стандартной конфигурации список открытых портов выглядит следующим образом:

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), для почтовой службы — 25, 110, 143, 465, 587, 993 и 995 (только TCP), для службы DNS — порт 53 (TCP и UDP), а для панели управления — порты 8080 и 8081 (только TCP). После этого сервер считается полностью готовым к работе, и вы можете войти в панель по адресу https://server1.example.com:8080.

6. Расширенные параметры командной строки

Автоматический установщик располагает большим набором опций для точной настройки окружения под конкретные задачи. Полный список доступных аргументов можно запросить, выполнив команду: wget -O - https://get.ispconfig.org | sh -s -- --help.

Скрипт поддерживает следующие флаги и параметры:

  • --help — выводит справочную страницу.
  • --debug — активирует подробное логирование с записью каждого выполненного шага и кода возврата.
  • --channel=<stable|dev> — позволяет выбрать канал обновлений: стабильный релиз или последнюю версию для разработчиков из репозитория git.
  • --lang=en|de — задает язык установки (на текущий момент поддерживаются английский и немецкий).
  • --interactive — отключает неинтерактивный режим, необходимый для экспертной настройки, например, при подключении подчиненного сервера к существующей мультисерверной системе.
  • --use-nginx — заменяет Apache на веб-сервер Nginx.
  • --use-amavis — использует Amavis вместо Rspamd для фильтрации электронной почты.
  • --use-unbound — заменяет Bind9 на Unbound для локального разрешения имен (допускается только при одновременном указании флага –no-dns).
  • --use-php=... — позволяет указать конкретные версии PHP через запятую вместо установки полного набора (поддерживаются версии с 5.6 по 8.3). Опция --use-php=system отключает сторонний репозиторий и устанавливает версию по умолчанию из репозиториев дистрибутива (ее нельзя использовать на Debian 13 из-за отсутствия пакета php imap). При указании флага без параметров устанавливаются все доступные версии.
  • --use-ftp-ports=... — задает диапазон портов для пассивного режима сервера pure-ftpd через дефис, например --use-ftp-ports=40110-40210.
  • --use-certbot — задействует Certbot вместо acme.sh для генерации сертификатов Let’s Encrypt (не рекомендуется, если только вы не мигрируете со старого сервера).
  • --no-web — отключает управление настройками веб-сервера, не устанавливает веб-сервер и Pure-FTPd, а также исключает панель ISPConfig и приложения Roundcube с PHPMyAdmin.
  • --no-mail — отключает почтовый функционал в панели, устанавливает Postfix исключительно для системной почты без Dovecot и Mailman.
  • --no-dns — отключает управление зонами DNS в панели (Bind устанавливается только для локального кэширования и резолвинга).
  • --no-local-dns — полностью отключает установку локального кэширующего DNS-сервера Bind.
  • --no-firewall — отключает установку утилит UFW и управление брандмауэром со стороны ISPConfig.
  • --no-roundcube и --roundcube — управляют инсталляцией веб-почты Roundcube.
  • --no-pma — предотвращает установку PHPMyAdmin.
  • --no-mailman — отключает менеджер рассылок Mailman.
  • --no-quota — деактивирует квотирование файловой системы.
  • --no-ntp — отключает синхронизацию времени NTP.
  • --no-jailkit — отключает установку Jailkit.
  • --no-ftp — отключает FTP-сервер Pure-FTPd.
  • --monit и --monit-alert-email — устанавливают систему мониторинга Monit для ключевых служб и настраивают отправку оповещений на указанный адрес электронной почты.
  • Опции --ssh-port, --ssh-permit-root, --ssh-password-authentication и --ssh-harden позволяют гибко настроить безопасность службы SSH.
  • --unattended-upgrades — автоматизирует обновление системы с возможностью настройки автоматической очистки и перезагрузок.
  • --i-know-what-i-am-doing — отключает запросы подтверждения перед переконфигурацией сервера.

Например, для развертывания конфигурации с веб-сервером 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 можно путем приобретения официального руководства на сайте разработчиков. Для дальнейшего углубленного администрирования рекомендуется ознакомиться со специализированными материалами сообщества: инструкциями по настройке почтовых служб (rDNS, SPF, DKIM), тонкой настройке интерфейса Roundcube, автоматической конфигурации почтовых клиентов (autoconfig), а также методам повышения безопасности интерфейсов PHPMyAdmin и Rspamd. Исходный код и система отслеживания ошибок автоустановщика доступны в официальном репозитории проекта, а любые возникающие вопросы можно оперативно решить на профильном форуме сообщества.

8. Отладка возможных ошибок в процессе установки

Если в ходе инсталляции возникли непредвиденные сбои, процесс можно исследовать подробнее, добавив к команде запуска флаг --debug. Это действие запишет детальный лог-файл по пути /tmp/ispconfig-ai/var/log/ispconfig.log. Кроме того, выявление причин ошибки упрощает использование интерактивного режима с помощью флага --interactive.

9. Готовая виртуальная машина

Для подписчиков ресурса Howtoforge предусмотрена возможность загрузки готовой к работе виртуальной машины в форматах OVA и OVF, полностью совместимой с гипервизорами VMware и Virtualbox. Образ базируется на операционной системе Debian 12 и использует веб-сервер Apache. Учетные данные для доступа после импорта: пароль учетной записи root — howtoforge, пароль администратора панели ISPConfig — howtoforge, дополнительный системный пользователь administrator имеет пароль howtoforge, а пароль суперпользователя MySQL равен 7s8EtDL1QhorSaeHhnRh. Все указанные пароли настоятельно рекомендуется изменить сразу после первого входа в систему. IP-адрес виртуальной машины по умолчанию настроен как 192.168.0.100.

Источник: howtoforge.com

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

01.
На платформе MonsterInsights