# apt update# apt list --upgradable# apt upgrade# apt install lsb-release htop net-tools
Также проверьте имя компьютера командой hostname с ключом f.
Имя сервера должно соответствовать FQDN, говоря по простому если вы можете используя имя сервера (а не его IP) получить доступ используй протокол SSH - то ОК.
Шаг 3 - Скачайте скрипт установщик Hestia
root@vps100:~# cd /rootroot@vps100:~# wget https://raw.githubusercon...se/install/hst-install.sh
Шаг 4 - Запустите установщик и следуйте инструкциям
Для запуска установщика с параметрами по умолчанию используйте команду:
# bash hst-install.sh
Welcome to the Hestia Control Panel installer!
Если по каким-то причинам вам нужно изменить параметры по умолчанию, вы можете воспользоваться такой командой
bash hst-install.sh -f -y no -e email@domain.tld -p p4ssw0rd -s hostname.domain.tld
Шаг 5 - Вопросы установщика
После запуска установщика на Шаг 4, я получил предупреждение, что Hestia не хочет работать с UFW (Uncomplicated Firewall) настройка.
Я собcвенно привык работать напрямую с iptables, поэтому я подтверждаю удаления пакета ufw. WARNING: The following packages are already installed ufw* Would you like to remove the conflicting packages? [y/n] y
На следующем шаге будет показано какие компоненты Hestia автоматически установит. Ознакомьтесь с ними и подтвердите, нажав Y.
_ _ _ _ ____ ____ | | | | ___ ___| |_(_) __ _ / ___| _ \ | |_| |/ _ \/ __| __| |/ _` | | | |_) | | _ | __/\__ \ |_| | (_| | |___| __/ |_| |_|\___||___/\__|_|\__,_|\____|_| Hestia Control Panel 1.3.2 www.hestiacp.com ======================================================================== Thank you for downloading Hestia Control Panel! In a few moments, we will begin installing the following components on your server:
NGINX Web / Proxy Server
Apache Web Server (as backend)
PHP-FPM Application Server
DNS сервер BIND DNS Server
Exim Mail Server + ClamAV + SpamAssassin
Dovecot POP3/IMAP Server
MariaDB Database Server
Vsftpd FTP Server
Firewall (Iptables) + Fail2Ban Access Monitor
======================================================================== Would you like to continue with the installation? [Y/N]: Y
На следующем шаге введите email администратора (Please enter admin email address)
Введите имя компьютера (Please enter FQDN hostname)
В конце скрипт выведет ссылку (Admin URL), логин и пароль на управление панелью. И предложит перегрузить сервер. Копируем данный для доступа и перегружаем сервер.
Все! Установка Hestia CP завершена. Дальнейшее управление веб панелью Hestia CP происходит при помощи вебинтерфейса (Admin URL), с использованием порта 8083.
Проверить работу демона hestia можно командой lsof:
# lsof -i:8083 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME hestia-ng 522 root 6u IPv4 19159 0t0 TCP *:8083 (LISTEN) hestia-ng 523 admin 6u IPv4 19159 0t0 TCP *:8083 (LISTEN)
Шаг 5 - Настройка Hestia CP
Переходим по ссылке Admin URL, указываем логин и пароль.И попадаем в такой интерфейс.
И сразу выключаем автоматической обновление панели Hestia, ибо последствия неконтролируемого обновления, без бекапа можно разгребать долго. Для этого переходим в меню Server → Updates и нажимаем кнопку Automatic Updates, должно получиться как на скриншоте.
Шаг 6 - Настройка безопасного фаервола Hestia CP
Безопасный фаервол - это фаервол в котором по умолчанию все запрещено.
Напомню, что ранее Hestia злостно:) удалила UFW и я наделся что будет из коробки настроен iptables правильно. Но нет, были прописаны правила для определённых портов и настроен fail2ban, но правила по умолчанию открыты. Правила брандмауэра по умолчанию, после установки Hestia, посмотрим командой iptables с ключами -nL -v:
iptables -nL -v Chain INPUT (policy ACCEPT 7166 packets, 1063K bytes) pkts bytes target prot opt in out source destination 3325 773K fail2ban-HESTIA tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8083 21 1324 fail2ban-MAIL tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 25,465,587,110,995,143,993 0 0 fail2ban-FTP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 928 101K fail2ban-SSH tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 7476 1220K fail2ban-RECIDIVE tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 1:65535 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 7858 packets, 6693K bytes) pkts bytes target prot opt in out source destination
После изучения файлов с настройками фаервола /etc/iptables.rules и /usr/local/hestia/data/firewall/rules.conf я пришел к выводу, что настройки правильные, но они погрузились только частично. Используя команду iptables-restore перегружаем правила из файла /etc/iptables.rules.
# iptables-restore /etc/iptables.rules
Поле этого входящие пакеты по умолчанию стали блокироваться и загрузились дополнительные правила. Перезагружаем сервер и видим, что восстановились небезопасные разрешающие правила! Если кто-то знает как настроить правила по умолчанию - напишите мне на почту.
Шаг 7 - Hestia CP переключение версии PHP
Функция переключения версии PHP для конкретного сайта должна быть в каждой панели для управления хостингом. Ибо каждая CMS выдвигает свои требования для версии интерпретатора PHP.
Итак, проверим работает ли переключатель PHP в Hestia CP. После установки Hestia, я загрeзил файл phpinfo. PHPinfo показал, что у меня установлен PHP версии 7.4.15.
Теперь я хочу установить поддержку PHP например версии 7.3, которую требует например движок DataLife Engine (DLE) (на php 7.4 DLE не работает).
Перехожу в меню Server → Configure → Web server, пролистываю до раздела Enabled PHP versions и ставлю галочку напротив нужно мне версии PHP. Нажимаю кнопку Save. Разработчики предупреждают: "Сохранение изменений может занять несколько минут. Дождитесь завершения процесса и не обновляйте страницу."
Ждем какой-то время за чашкой чая. Страница обновляется. Переходим в настройки тестового сайта и в разделе "Backend Template PHP-FPM" выбираем нужную версию PHP.
Жмем кнопку Save. И обновляем страницу выводимую файлом phpinfo.