Ваш веб-проект вырос, и возможностей виртуального хостинга на SSD уже недостаточно? В таком случае логичным становится переход на SSD VPS или выделенный сервер. Однако при этом возникает вопрос о выборе панели управления хостингом для управления сайтами, электронной почтой, базами данных и другими сервисами. Стоимость коммерческих панелей управления, таких как cPanel, может существенно увеличить общие расходы на аренду сервера. В то же время для управления собственным сервером не обязательно использовать платное программное обеспечение — существуют бесплатные панели с открытым исходным кодом. Одной из них является ISPConfig.
ISPConfig — это бесплатная панель управления с открытым исходным кодом, позволяющая управлять основными хостинг-сервисами через единый веб-интерфейс. Она позволяет создавать и администрировать веб-сайты, почтовые ящики, DNS-зоны, FTP-аккаунты, базы данных и пользователей без необходимости выполнять все операции вручную через командную строку.
Панель поддерживает работу с популярными серверными компонентами, в частности Apache и Nginx, MariaDB/MySQL, BIND DNS, Postfix, Dovecot и Pure-FTPd. Также ISPConfig поддерживает автоматическое получение SSL-сертификатов Let’s Encrypt, управление несколькими сайтами, резервное копирование и другие возможности, необходимые для администрирования хостинг-сервера. Это позволяет использовать ISPConfig для размещения сайтов на WordPress, Joomla, OpenCart и других CMS, а также использовать свой сервер для личной или корпоративной почты.
В этой инструкции рассмотрим пошаговую установку ISPConfig на сервере под управлением AlmaLinux 9.
Устанавливаем панель управления хостингом ISPConfig
1. Проверка хостнейма (hostname) сервера
Прежде чем приступить к установке и настройке сервисов, необходимо убедиться, что ваш сервер имеет правильное имя (hostname) и оно направлено на IP-адрес вашего виртуального или выделенного сервера.
Чтобы узнать текущее имя сервера (hostname), выполните:
hostname
в командной строке (shell) вашего сервера.
После этого откройте веб-сайт:
https://whatismyipaddress.com/hostname-ip
вставьте результат, полученный после выполнения hostname, и нажмите на «Lookup IP Address«, после чего проверьте IP рядом с «IPv4 Address«.
Если рядом с IPv4 Address вы видите IP-адрес своего сервера, переходите к следующему шагу. В противном случае, если вы видите «no response» или IP-адрес не совпадает с IP-адресом вашего сервера, установите и настройте правильное имя хоста. При необходимости обратитесь к вашему хостинг-провайдеру.
2. Подготовка VPS или выделенного сервера
На некоторых виртуальных машинах и выделенных серверах с AlmaLinux 9 запуск сетевых сервисов осуществляется через init.d. Этот механизм устарел и не поддерживается в новых версиях AlmaLinux, что может вызвать проблемы с обновлением системы. Чтобы этого избежать, заблокируем обновление пакета initscripts. Для этого:
Откройте файл /etc/yum.repos.d/almalinux-baseos.repo для редактирования и в разделе [baseos] добавьте строку:
exclude = initscripts
Обновим все системные пакеты до последней версии:
dnf -y update
Установим сервис rsyslogd для регистрации событий, активируем и запустим его:
dnf -y install rsyslog
systemctl enable rsyslog
service rsyslog start
Остановим службу firewalld:
service firewalld stop
systemctl disable firewalld
Перегрузим сервер:
reboot
2. Активируем дополнительные репозитории и устанавливаем базовое программное обеспечение
Сначала импортируем ключи GPG:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Включим репозитории EPEL и CRB, так как для установки некоторого програмного обеспечения потребуются дополнительные пакеты из EPEL. Также обновим все пакеты на сервере до последней версии:
dnf -y install epel-release
dnf config-manager --set-enabled crb
dnf -y install yum-utils wget curl net-tools openssl-devel bzip2-devel libffi-devel zlib-devel make gcc tar cronie ImageMagick openssl python3-setuptools haveged
Теперь установим дополнительные пакеты, которые нам понадобятся в дальнейшем для сборки (компиляции) некоторых компонентов из исходного кода:
dnf -y groupinstall "Development Tools"
4. Устанавливаем DNS-сервис на базе BIND
Установим DNS-сервис на базе BIND, выполнив:
dnf -y install bind bind-utils haveged
Откройте файл /etc/named.conf для редактирования и измените следующие строки:
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
recursion yes;
на
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
recursion no;
Добавьте в конец файла /etc/named.conf строку:
include "/etc/named.conf.local";
Файл /etc/named.conf.local будет использоваться ISPConfig для создания зон DNS.
Создаём файл /etc/named.conf.local, включаем в автозапуск и запускаем BIND:
touch /etc/named.conf.local
chown named.named /etc/named.conf.local
systemctl enable named
service named start
5. Устанавливаем Apache, PHP, MariaDB (MySQL) и phpMyAdmin
Устанавливаем репозиторий Remi и PHP 7.4 в качестве основной версии PHP на нашем сервере:
dnf -y install http://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf -y module reset php
dnf -y module install php:remi-7.4
Устанавливаем веб-сервер Apache, SQL-сервер MariaDB и PHP. Делаем это одной командой:
dnf -y install httpd mod_http2 mod_ssl mariadb-server php php-mysqlnd php-mbstring
Чтобы защитить сервер от потенциальных атак через уязвимость HTTPoxy, мы глобально отключим заголовок HTTP_PROXY в Apache, добавив следующие директивы в конец файла httpd.conf.
После этого перезапускаем веб-сервер, чтобы изменения вступили в силу:
echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf
systemctl enable httpd
service httpd restart
6. Устанавливаем phpMyAdmin
Чтобы установить phpMyAdmin, выполните:
dnf -y install phpMyAdmin
После чего откройте файл /etc/phpMyAdmin/config.inc.php для редактирования и измените в нём строку:
$cfg["Servers"][$i]["auth_type"] = "cookie";
на
$cfg["Servers"][$i]["auth_type"] = "http";
Откройте файл /etc/httpd/conf.d/phpMyAdmin.conf для редактирования и измените:
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
Require local
</Directory>
на
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
Require all granted
</Directory>
Это откроет доступ к phpMyAdmin извне.
Теперь, для проверки, попробуйте открыть:
https://xxx.xxx.xxx.xxx/phpmyadmin/
заменив xxx.xxx.xxx.xxx на IP-адрес вашего сервера или имя сервера (hostname).
(предупреждение о сертификате игнорируйте)
В ответ вы должны увидеть простую форму авторизации, пока этого достаточно.
7. Устанавливаем POP/IMAP-сервер Dovecot.
Выполните приведенную ниже команду для установки Dovecot:
dnf -y install dovecot dovecot-mysql dovecot-pigeonhole
Создайте пустой файл dovecot-sql.conf и символьную ссылку:
touch /etc/dovecot/dovecot-sql.conf
ln -s /etc/dovecot/dovecot-sql.conf /etc/dovecot-sql.conf
ln -s /etc/dovecot/dovecot.conf /etc/dovecot.conf
Теперь активируйте и запустите сервер Dovecot:
systemctl enable dovecot
service dovecot start
8. Устанавливаем SMTP-сервер на базе Postfix
Postfix устанавливаем, выполнив:
dnf -y install postfix postfix-mysql
Откройте файл /etc/postfix/master.cf для редактирования и измените его так, чтобы разделы submission и smtps выглядели следующим образом (удалите # в начале строки и добавьте те строки, которых нет в файле):
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_tls_auth_only=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - n - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
Зупиніть та деактивуйте sendmail:
service sendmail stop
systemctl disable sendmail
Если вы получили следующее сообщение:
Просто проигнорируйте его. Оно указывает на то, что sendmail не установлен на вашем сервере.
Активируйте и запустите Postfix, MariaDB:
systemctl enable mariadb
service mariadb start
systemctl enable postfix
service postfix start
Выполните базовую настройку MariaDB (MySQL), выполнив:
mysql_secure_installation
mysql_secure_installation задаст вам несколько вопросов, в том числе попросит установить пароль root для MariaDB. Дайте следующие ответы:
Enter current password for root (enter for none): {натисніть кнопку ENTER}
Switch to unix_socket authentication [Y/n] N
Change the root password? [Y/n] Y
New password: {ВВЕДІТЬ НОВИЙ ROOT ПАРОЛЬ ДО MariaDB/MySQL}
Re-enter new password: {ПРОДУБЛЮЙТЕ ROOT ПАРОЛЬ ДО MariaDB/MySQL}
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Если всё будет выполнено правильно, вы увидите:
Выполните:
chmod 751 /var/lib/mysql
echo -e "[client]\nuser="root"\npassword="ПАРОЛЬ"" > /root/.my.cnf
chmod 600 /root/.my.cnf
chmod 751 /var/lib/mysql
Откройте файл /root/.my.cnf для редактирования с помощью любого текстового редактора и замените в нём «ПАРОЛЬ» на пароль, который вы указали ранее при выполнении базовой настройки MariaDB.
9. Устанавливаем Getmail
Чтобы собирать почту с электронных ящиков, размещённых на сторонних почтовых сервисах, нам понадобится Getmail. Для установки Getmail выполните:
cd /tmp
wget -O getmail.tar.gz https://github.com/getmail6/getmail6/archive/refs/tags/v6.20.00.tar.gz
tar -xvzf getmail.tar.gz
cd getmail6*
python3 setup.py build
python3 setup.py install
10. Устанавливаем антиспам на базе AMAVIS и POSTGREY
Для установки сервисов Postgrey и AmavisD выполните:
dnf -y install amavis spamassassin unzip bzip2 perl-DBD-mysql postgrey re2c
откройте файл /etc/sysconfig/postgrey для редактирования и измените строку:
POSTGREY_TYPE="--unix=/var/spool/postfix/postgrey/socket"
на
POSTGREY_TYPE="--inet=10023"
Сохраните файл, включите и запустите службу Postgrey:
systemctl enable postgrey
service postgrey start
Обновляем правила SpamAssassin, создаем файлы, необходимые для AmavisD, и назначаем правильные права доступа:
sa-update
touch /etc/amavisd/60-dkim
chgrp amavis /etc/amavisd/*
Рекомендуемые настройки для серверов с объёмом ОЗУ менее 4 Гб
Если у вашего VPS объём ОЗУ менее 4 Гб, отключите запуск CLAMD, так как этот сервис требователен к ОЗУ, из-за чего работа вашего VPS будет нестабильной. Как
Отключаем запуск ClamD и проверку на вирусы в настройках AmavisD.
sed -i "s/^#[[:space:]]*@bypass_virus_checks_maps/@bypass_virus_checks_maps/" /etc/amavisd/amavisd.conf
mkdir -p /etc/systemd/system/clamd\@amavisd.service.d
Создаем сервис-заглушку clamd@amavisd, который не будет запускать ClamD
cat > /etc/systemd/system/clamd\@amavisd.service.d/override.conf <<'EOF'
[Unit]
Description=clamd scanner (amavisd) daemon
Documentation=man:clamd(8) man:clamd.conf(5)
After=network.target
[Service]
Type=oneshot
ExecStart=
ExecStart=/bin/true
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
Перезагружаем systemd, чтобы он обнаружил наш новый сервис-заглушку.
systemctl daemon-reload
Настройка для серверов с объёмом ОЗУ 4 ГБ и более
Если объём ОЗУ составляет 4 ГБ или более, выполните приведённые ниже команды, чтобы настроить запуск CLAMD, его интеграцию с AMAVISD и автоматическое обновление вирусных сигнатур.
freshclam
usermod -aG amavis clamupdate
sed -i 's/LocalSocket \/run\/clamd.amavisd\/clamd.sock/LocalSocket \/var\/run\/clamd.amavisd\/clamd.sock/' /etc/clamd.d/amavisd.conf
sed -i 's/#NotifyClamd \/path\/to\/clamd.conf/NotifyClamd \/etc\/clamd.d\/amavisd.conf/' /etc/freshclam.conf
systemctl enable clamav-freshclam
service clamav-freshclam start
Настройки для серверов с любым объемом памяти
Независимо от объема оперативной памяти вашего VPS выполните активацию и запуск AMAVISD:
systemctl enable amavisd.service
service amavisd.service start
11. Устанавливаем mod_php, mod_fcgid, PHP-FPM
ISPConfig 3 позволяет обрабатывать запросы к PHP-скриптам с помощью mod_fcgid, php-fpm и mod_php (только с mpm_prefork).
Установим необходимые компоненты, выполнив:
dnf -y install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php -snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel php-fpm php-intl php-imagick php-pspell wget
Отредактируйте файл /etc/php.ini и убедитесь, что соответствующие параметры имеют следующие значения:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
cgi.fix_pathinfo = 1
date.timezone = 'Europe/Kyiv'
Активируйте и запустите сервисы HTTPD и PHP-FPM, выполнив:
systemctl enable php-fpm
service php-fpm restart
service httpd restart
12. Устанавливаем PureFTPd для поддержки FTP
PureFTPD устанавливаем, выполнив команду:
dnf -y install pure-ftpd
Теперь перейдем к настройке SSL/TLS в PureFTPD:
sed -i "s/^#[[:space:]]*TLS /TLS /" /etc/pure-ftpd/pure-ftpd.conf
mkdir -p /etc/ssl/private/
Сгенерируем самоподписанный сертификат, который будем использовать на начальном этапе:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Все вопросы, которые будет задавать утилита openssl, можно игнорировать, просто нажимая клавишу {Enter}
openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048
Активируем и запускаем PureFTPD:
systemctl enable pure-ftpd
service pure-ftpd start
13. Устанавливаем AwStats
AwStats — это утилита, позволяющая анализировать веб-статистику (посетителей, самые популярные страницы и т. д.) на основе журналов доступа к сайту. Установить её можно, выполнив команду:
dnf -y install awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
14. Устанавливаем Jailkit
Jailkit позволяет ограничить SSH-пользователей и cron-задачи отдельной изолированной средой. Установить его можно следующим образом:
cd /tmp
wget https://olivier.sessink.nl/jailkit/jailkit-2.23.tar.gz
tar -xvzf jailkit*.tar.gz
cd jailkit-2.23
PYTHONINTERPRETER=/usr/bin/python3 ./configure
make
make install
cd ..
rm -rf jailkit*
15. Устанавливаем Roundcube
Roundcube — это веб-клиент электронной почты, который позволяет работать с электронной почтой через веб-браузер без установки специализированного почтового программного обеспечения.
Устанавливаем его следующим образом:
cd /tmp
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.18/roundcubemail-1.6.18-complete.tar.gz
tar -xvzf roundcubemail-1.6.18-complete.tar.gz
mkdir -p /usr/share/roundcubemail
mv /tmp/roundcubemail-1.6.18/* /usr/share/roundcubemail/
chown -R root:root /usr/share/roundcubemail
chown apache /usr/share/roundcubemail/temp
chown apache /usr/share/roundcubemail/logs
Создайте файл /etc/httpd/conf.d/roundcubemail.conf и добавьте в него следующее содержимое:
#
# Round Cube Webmail is a browser-based multilingual IMAP client
#
Alias /roundcubemail /usr/share/roundcubemail
Alias /webmail /usr/share/roundcubemail
# Define who can access the Webmail
# You can enlarge permissions once configured
<Directory /usr/share/roundcubemail/>
Options none
AllowOverride Limit
Require all granted
</Directory>
# Define who can access the installer
# keep this secured once configured
<Directory /usr/share/roundcubemail/installer>
Options none
AllowOverride Limit
Require all granted
</Directory>
# Those directories should not be viewed by Web clients.
<Directory /usr/share/roundcubemail/bin/>
Order Allow,Deny
Deny from all
</Directory>
<Directory /usr/share/roundcubemail/plugins/enigma/home/>
Order Allow,Deny
Deny from all
</Directory>
Перегрузите веб-сервер, чтобы веб-серверу видел изменения:
service httpd restart
Теперь нам необходимо создать базу данных, пользователя и подключить пользователя к базе данных — они будут использоваться почтовым веб-клиентом. Для этого подключитесь к MariaDB:
mysql
и выполните следующие запросы один за другим, заменив «УКАЖИТЕ_СВОЙ_ПАРОЛЬ» на придуманный вами пароль:
CREATE DATABASE roundcubedb;
CREATE USER roundcubeuser@localhost IDENTIFIED BY "УКАЖИТЕ_СВОЙ_ПАРОЛЬ";
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost;
FLUSH PRIVILEGES;
exit
На каждое успешное выполнение SQL-запроса сервер будет отвечать «Query OK«, в противном случае вам будет сообщено об ошибке.
Сохраните названия созданной базы данных, имени пользователя и пароля. В нашем случае мы создали базу данных с именем «roundcubedb» и пользователя «roundcubeuser«.
Теперь нам необходимо создать конфигурационный файл для Roundcube. Для этого в браузере откройте установщик Roundcube по ссылке:
https://xxx.xxx.xxx.xxx/roundcubemail/installer/
заменив xxx.xxx.xxx.xxx на IP-адрес или имя сервера (hostname) вашего сервера.
(игнорируйте предупреждение о сертификате, если оно появится)
Прокрутите страницу вниз и нажмите кнопку «Next«.
Прокрутите экран вниз до раздела «Database setup» и укажите название вашей базы данных, имя пользователя и его пароль в соответствующих полях:
- Database name — укажите название базы данных
- Database user name — укажите имя пользователя
- Database password — укажите пароль
Просмотрите остальные настройки и измените их при необходимости (рекомендуем изменять настройки только в том случае, если вы понимаете, что делаете). Более подробно о настройках Roundcube вы можете узнать из официальной документации.
В нижней части страницы нажмите на кнопку «CREATE CONFIG«. Это приведёт к генерации конфигурационного файла Roundcube.
Теперь необходимо создать на сервере файл /usr/share/roundcubemail/config/config.inc.php и добавить в него сгенерированную конфигурацию.
Для этого:
- 15.1. выделите и скопируйте конфигурацию непосредственно из браузера с помощью Copy/Paste (Копировать/Вставить);
- 15.2. откройте файл /usr/share/roundcubemail/config/config.inc.php на сервере для редактирования;
- 15.3. вставьте его в файл config.inc.php на сервере и сохраните файл.
Когда файл с необходимым содержанием будет создан, нажмите кнопку «CONTINUE» сразу под окном, в котором приведена сгенерированная конфигурация RoundCube.
Если до этого вы всё сделали правильно, вы увидите «DB Schema: NOT OK«, выделенное красным цветом. Не пугайтесь, так и должно быть.
Нажмите на кнопку «Initialize database«.
Удалите папку «installer» из соображений безопасности:
rm -rf /usr/share/roundcubemail/installer
После этого попробуйте открыть:
https://xxx.xxx.xxx.xxx/webmail
заменив xxx.xxx.xxx.xxx на IP-адрес или имя сервера (hostname) вашего сервера.
(предупреждение о сертификате игнорируйте)
В случае успеха вы увидите форму авторизации. Это будет свидетельствовать о том, что Roundcube настроен правильно, по крайней мере, его основной функционал.
Добавьте строку:
$config["enable_installer"] = false;
в конец файла /usr/share/roundcubemail/config/config.inc.php
16. Устанавливаем ISPConfig 3.3
Все основные сервисы настроены. Осталось установить ISPConfig. Для его установки выполните приведенные ниже команды:
cd /tmp/
wget https://ispconfig.org/downloads/ISPConfig-3.3.1p1.tar.gz
tar -xvzf ISPConfig-3.3.1p1.tar.gz
cd ispconfig3_install/install
php install.php
Во время установки ISPConfig установщик запросит у вас ряд параметров, необходимых для настройки ISPConfig, в частности пароль root для MySQL, какой пароль администратора ISPConfig установить, а также другие подобные значения. В большинстве случаев для ответа можно использовать значения, предложенные самим установщиком, просто нажав клавишу «Enter».
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------
>> Initial configuration
Operating System: AlmaLinux 9.8 (Olive Jaguar)
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]: {нажмите ENTER}
Installation mode (standard,expert) [standard]: {нажмите ENTER}
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [ispconfig.domain.com]:
{нажмите ENTER}
MySQL server hostname [localhost]: {нажмите ENTER}
MySQL server port [3306]: {нажмите ENTER}
MySQL root username [root]: {нажмите ENTER}
MySQL root password []: {введите root пароль к MariaDB/MySQL который вы установили ранее}
MySQL database to create [dbispconfig]: {нажмите ENTER}
MySQL charset [utf8mb4]: {нажмите ENTER}
Checking MariaDB version 10.5.29 .. OK
Checking for rsync...
rsync is already installed.
Configuring Postgrey
Configuring Postfix
Generating a private key
+....+...+......+...............+..............+...+...+....+.....
+.............+..................+.....+.......+........+.........
......+..........+......+..........++.+.........+............+++++
[INFO] service Mailman not detected
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
[INFO] service Rspamd not detected
Configuring Getmail
Configuring Jailkit
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring vlogger
[INFO] service OpenVZ not detected
Configuring Bastille Firewall
[INFO] service Metronome XMPP Server not detected
[INFO] service Fail2ban not detected
Installing ISPConfig
ISPConfig Port [8080]: {нажмите ENTER}
Admin password [7ebf9158]: {Укажите пароль администратора ISPConfig}
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:
{нажмите ENTER}
Checking / creating certificate for ispconfig.domain.com
Discovered acme.sh version 3.1.5 with certificate home /root/.acme.sh
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]: {нажмите ENTER}
State or Province Name (full name) []: {нажмите ENTER}
Locality Name (eg, city) [Default City]: {нажмите ENTER}
Organization Name (eg, company) [Default Company Ltd]: {нажмите ENTER}
Organizational Unit Name (eg, section) []: {нажмите ENTER}
Common Name (eg, your name or your server's hostname) []: {нажмите ENTER}
Email Address []: {нажмите ENTER}
Symlink ISPConfig SSL certs to Postfix? (y,n) [y]: {нажмите ENTER}
Symlink ISPConfig SSL certs to Pure-FTPd? Creating dhparam file may take some time. (y,n) [y]:
{нажмите ENTER}
Configuring Apps vhost
Configuring DBServer
Installing ISPConfig crontab
Detect IP addresses
Restarting services ...
Installation completed.
Поздравляю, вы успешно установили ISPConfig на свой виртуальный или выделенный сервер. Теперь откройте ссылку:
https://xxx.xxx.xxx.xxx:8080/
заменив xxx.xxx.xxx.xxx на IP-адрес или имя сервера (hostname) вашего сервера. После чего появится форма авторизации:

Для авторизации используйте логин «admin» и пароль, который вы установили при установке ISPConfig (см. «Admin password«)
Установка ISPConfig завершилась с ошибкой?
Если во время установки ISPConfig возникла ошибка и вы хотите запустить установку заново, не переустанавливая и не настраивая все сервисы с нуля, полностью переустанавливать систему не нужно. Просто удалите базу данных, созданную установщиком ISPConfig (по умолчанию она называется «dbispconfig«), и саму папку ISPConfig, выполнив следующие команды:
mysqladmin drop dbispconfig
rm -rf /usr/local/ispconfig
После этого можно устранить причину ошибки и повторно запустить установщик ISPConfig. Уже установленные и настроенные сервисы при этом переустанавливать не нужно.
ISPConfig установлен
По завершении установки ISPConfig вы получаете полноценную панель управления сервером, с помощью которой можно централизованно администрировать веб-сайты, базы данных, DNS-зоны, почтовые ящики, FTP-аккаунты и другие хостинг-сервисы. Большинство повседневных операций теперь можно выполнять через веб-интерфейс ISPConfig, без необходимости каждый раз подключаться к серверу через командную строку.
Настроенный таким образом сервер можно использовать для размещения одного или нескольких сайтов, корпоративной или личной почты, а также других сервисов. При этом производительность и стабильность работы напрямую зависят от ресурсов сервера, поэтому при выборе VPS следует учитывать количество сайтов, объем почты, баз данных и ожидаемую нагрузку.
Если после размещения веб-проектов на VPS с ISPConfig их нагрузка со временем возросла и доступных ресурсов сервера стало недостаточно, конфигурацию VPS можно масштабировать. Для более ресурсоемких проектов в таком случае стоит рассмотреть переход на современный NVMe VPS с большим объемом CPU, RAM и быстрым NVMe-хранилищем.
