Бесплатная панель управления сервером Hestia
Домашняя страница: HestiaCP. Панель управления Hestia находится под лицензией GPL v3 и основана на проекте VestaCP.
В статье Обзор и выбор панели управления хостингом я кратко рассказываю об известных мне хостинг панелях.
Системные требования Hestia:
Панель управления сервером (web server control panel) Hestia поддерживает только 64 битные операционные системы Linux: Debian 9, Debian 10, Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS. Дистрибутивы CentOs не поддерживаются.
Плюсы Hestia CP:
- Панель переведена на украинский и русский языки;
- Встроенная система бекапов, которая сразу начинает работать после установки вебпанели;
- Расширенная настройка Fail2ban.
- Поддержка бесплатных SSL сертификатов Lets Encrypt для сайтов
Минусы Hestia CP:
Шаг 1 - выбор VPS и панели управления хостингом
Задача: экономить, экономить и еще раз экономить, но диски большие нужны и быстрый.
И вы знаете нашел и я рекомендую если нужен быстрый VDS/VPS с большими дисками заказывайте у Zomro.
Операционную система установил Ubuntu 20.04.2 LTS.
Шаг 2 - Войдите как системный пользователь (root)
Вам нужно будет подключиться к вашему серверу как root, либо напрямую с консоли, либо удаленно с помощью SSH.
Обновите операционную систему, проверьте имя компьютера, локаль, время. Обычно достаточно просто обновить дистрибутив командами:
# apt update # apt list --upgradable # apt upgrade
и добавить несколько системных утилит:
# apt install lsb-release htop net-tools
Также проверьте имя компьютера командой hostname с ключом f. Имя сервера должно соответствовать FQDN, говоря по простому если вы можете используя имя сервера (а не его IP) получить доступ используй протокол SSH - то ОК. Безусловно, если вы планируете использовать полноценный почтовый сервер вам требуется сделать дополнительные проверки - изучите чек лист по настройке VPS/VDS, выделенного сервера Linux с нуля.
Шаг 3 - Скачайте скрипт установщик Hestia
root@vps100:~# cd /root root@vps100:~# wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/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
- Dovecot POP3/IMAP Server
- MariaDB Database 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.
И таки да!!! Я вижу версию PHP Version 7.3.27-2+ubuntu20.04.1+deb.sury.org+1. Слава богу! Я действительно не просто потерял время на изучение этой панели и могу сказать панель HestiaCP пригодна к работе и является хорошим продуктом. Рекомендую к использованию на VDS/VPS Zomro.