Устанавливаем хостинг-панель ISPConfig на AlmaLinux 9

Ваш веб-проект вырос, и возможностей виртуального хостинга на 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

Если вы получили следующее сообщение:

Failed to stop sendmail.service: Unit sendmail.service not loaded.

Просто проигнорируйте его. Оно указывает на то, что 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

Если всё будет выполнено правильно, вы увидите:

Спасибо, что используете MariaDB!

Выполните:

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'
Внимание: Для date.timezone вы можете установить другой часовой пояс, который больше соответствует вашим потребностям.

Активируйте и запустите сервисы 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-хранилищем.

Прокрутить вверх