Что ещё сделать?
Узнаем пароль root для сервера MySQL.
Настраиваем автоматическую перезагрузку сервера MySQL.
Установить на сервер git. И настроить автодеплой.
Удаляем сервисы, если не нужны.
После инсталляции Vesta создание резервных копий может происходить с ошибкой. В результате будет переполняться место на диске. Для предотвращения подобных случаев лучше сразу назначить на папку backup соответствующие права. Подробнее в статье о создании резервных копий Vesta.
Если сервер находится в другой стране, поправьте localtime. Иначе время на сервере будет отличаться от региона в котором вы живёте.
После того, как вы добавите и настроите свои сайты, следует настроить SSL сертификаты и переадресацию на HTTPS.
Настройте резервное копирование на Яндекс диск.
Отключаем флуд сообщений в /var/log/messages
Продолжая настройку centos, исправим одно небольшое неудобство. В дефолтной установке системы 7-й версии, весь ваш системный лог /var/log/messages через некоторое время работы сервера будет забит следующими записями.
В Centos 8 я их не заметил, поэтому там ничего делать не надо. Никакой практической пользы сообщения не несут, поэтому отключим их. Для этого создадим отдельное правило для rsyslog, где перечислим все шаблоны сообщений, которые будем вырезать. Разместим это правило в отдельном файле /etc/rsyslog.d/ignore-systemd-session-slice.conf.
Сохраняем файл и перезапускаем rsyslog для применения настроек.
Необходимо понимать, что в данном случае мы отключаем флуд в лог файл только на локальном сервере. Если вы храните логи на удаленном syslog сервере, то данное правило нужно будет настраивать именно на нем.
Первый вход и базовая настройка контроль-панели Vesta
Перейдеи по URL-адресу и залогинимся в панели Веста. Для меня стало сюрпризом то, что данный url-адрес был заблокирован браузером как ненадежный, то есть незащищенный. А все благодаря URL с https-протоколом – в Весте по умолчанию SSL отсутствует.
Но не отчаивайтесь, его можно установить. Итак, заходим в админ-панель:
Сама Vesta имеет очень дружелюбный, понятный интерфейс и состоит из таких пунктов меню:
- Пакеты – Веста содержит разные пакеты (настройки хостинга) для лимитирования параметров сервера. Фактически, с помощью данных пакетов вы сможете развернуть свой мини-хостинг. Можно добавитьнового пользователя и выдать ему определенный пакет с индивидуальными параметрами сервера под его сайт (трафик, php-конфигурация, количество доменов, email и т.д. и т.п.);
- IP – здесь показаны привязанные к серверу IP-адреса;
- Графики – графики нагрузки сервера;
- Статистика – статистика всех операций на сервере за последние месяцы;
- Логи – действия пользователей в админке;
- Обновления – обновления ПО и модулей сервера. По умолчанию, включено автообновление;
- Файрволл – отвечает за безопасность сервера;
- Apps – автоустановщик скриптов Softaculos;
- Сервер – доступ к конфигурации и физическим характеристикам сервера, возможность редактировать, перезапускать, останавливать сервер и его компоненты.
Первым делом переходим в меню СЕРВЕР, чтобы просмотреть конфигурацию, все ли там ОК:
У нас все по плану. ВЕСТА установилась с нужной нам конфигурацией Nginx + PHP-FPM, как и планировалось.
Далее перейдем в настройки своей учетной записи (admin) и при желании выставим язык интерфейса, на котором будет отображаться Vesta-панель, а также другие настройки, например доступ по SSH – поставим bash:
Следующим пулом действий будет:
- создать нового пользователя (отдельно от админа)
- добавить новый домен (сайт) в систему
- настроить домен и подключить SSL-сертификат (бесплатныЙ Lets Encrypt)
- создать MYSQL базу данных
- установить WordPress через FTP или скопировать в домашнюю директорию уже готовый сайт
- настроить конфигурационный файл сервера Nginx, использовав готовые шаблоны
Для добавления нового юзера находим на основном дашбоарде, возле admin, кнопку + (“Добавить нового пользователя”) и кликаем по ней :
Задаем ему настройки на свое усмотрение:
- Имя профиля
- Пароль (есть возможность сгенерировать сразу в Весте)
- Электронная почта
- Пакет (по-умолчанию стоит default, но можно выбрать и другие – gainsboro, palegreen, slategrey. Подробнее о них читайте в оф. документации Весты)
- Язык (в списке доступны практически все европейские страны)
- Имя
- Фамилия
Новый пользователь готов. Залогиньтесь под ним и перейдите в раздел WEB и нажмите плюсик для добавления нового домена на сервер (фактически, создание нового сайта):
Дальше нужно заполнить основные и дополнительные настройки. Выглядят они так:
Алиасы и директорию оставляем по умолчанию, а SSL включаем и ждем 5-10 минут. За это время Веста сгенерирует ключи SSL.
Скролим вниз. Статистику Webalizer или Awstats не включаем (дополнительная нагрузка на сервер), добавляем FTP-аккаунт (можно добавить несколько и назначить отдельный путь к директории) и нажимаем кнопку “Добавить”:
Тем временем перейдем в меню БД и создадим новую базу данных:
Осталось перевести на HTTPS саму Весту.
Залогиниться под админом, перейти в раздел WEB. Открыть редактирование технического домена (hostname самого VPS-сервера по умолчанию), и также как для простого домена, сгенерировать для него SSL-сертификат.
Когда SSL-будет выдан, перейти в раздел СЕРВЕР и в настройках сервера включить там опцию – “Использовать Lets Encrypt основного домена”. И выбрать домен из списка. Все. Это значит, что теперь админка будет использовать сертификат домена (на котором она и стоит по умолчанию. не путайте с другими доменами).
Сохраняемся. Перезапускаем Vesta panel и теперь уже не должно быть никаких предупреждений о не защищенном соединении.
Обновление phpmyadmin
Для начала напомню, как в vestacp зайти в phpmyadmin. Я не сразу нашел соответствующую ссылку. Она в разделе DB.
Конфигурационный файл находится на сервере по адресу /etc/phpmyadmin/config.inc.php. Vesta использует в своей работе обычную версию phpmyadmin, которую можно установить из подключенных репозиториев в системе.
Таким образом, для обновления phpmyadmin в vestacp достаточно воспользоваться стандартным пакетным менеджером в системе (apt, yum и т.д.) и выполнить соответствующую команду по обновлению системного пакета.
Если по какой-то причине не хочется использовать репозиторий, можно просто положить свежие исходники в соответствующий каталог – /usr/share/phpMyAdmin.
Настройка SSH в CentOS
Продолжаем настраивать centos. Внесем некоторые изменения в работу ssh для небольшого увеличения безопасности. Хотя речь стоит вести больше не о безопасности, а об удобстве и эффективности. По-умолчанию, сервис ssh работает на 22 порту и если все оставить как есть, то мы получим огромное количество попыток авторизоваться. Боты сканят непрерывно интернет и подбирают пароли к ssh. Это не доставляет в реальности каких-то серьезных хлопот и тем не менее, подобные запросы забивают лог secure и трятят некоторые ресурсы сервера как миниум на установку соединения и рукопожатия (handshake).
Чтобы немного закрыть себя от сканов простых ботов, изменим порт, на котором работает ssh. Можно выбрать любой пятизначный номер, это не принципиально. От автоматического сканирования это защитит. Повесим демон ssh на 25333 порт. Для этого редактируем файл /etc/ssh/sshd_config.
Раскомментируем строку Port 22 и заменим значение 22 на 25333.
Так же я обычно разрешаю подключаться по ssh пользователю root. Мне так удобнее. Проблем с этим у меня никогда не возникало. Если вы считаете, что это не безопасно, не трогайте эту настройку. Чтобы разрешить пользователю root подключаться по ssh, раскомментируйте строку
Сохраняем файл. Теперь обязательно изменяем настройки iptables, добавляем в разрешенные подключения вместо 22 порта 25333. Если этого не сделать, то после перезапуска sshd мы потеряем удаленный доступ к серверу. Итак, открываем /etc/iptables.sh и меняем в строке
22 на 25333 и исполняем файл. Наше текущее соединение не оборвется, так как оно уже установлено, но заново подключиться по ssh к 22 порту уже не получится.
Перезапускаем sshd:
Кстати, если вы не отключили SELinux, то просто так не сможете сменить порт ssh. Получите ошибку при перезапуске.
Наглядный пример того, как работает защита SELinux. Если у вас кто-то заберется на сервер через какую-то уязвимость и захочет открыть отдельный ssh серввер на каком-то нестандартном порту, у него ничего не получится.
Проверяем какой порт слушает sshd:
Если вывод такой же как у меня, то все в порядке, теперь к ssh можно подключаться по 25333 порту.
Добавим еще одну небольшую настройку. Иногда, когда возникают проблемы с dns сервером, логин по ssh подвисает на 30-60 секунд. Вы просто ждете после ввода логина, когда появится возможность ввести пароль. Чтобы избежать этого замедления, укажем ssh не использовать dns в своей работе. Для этого в конфиге раскомментируем строку с параметром UseDNS и отключим его. По-умолчанию он включен.
Для применения изменений нужно перезапустить ssh службу, как мы уже делали ранее. Настройку службы sshd в centos закончили, двигаемся дальше.
Альтернативы VestaCP
Полноценных альтернатив, кроме форка HestiaCP, не осталось. Вот чтоб были красивые странички с кнопками, система статистики, резервирование и DNS сервер. Наступило время, когда выгоднее написать своё решение, чем ковыряться с чужим. Возможно, где-то на Github растёт проект, который станет образцом для подражания и назидания всем панелям, но в данный момент ситуация с бесплатными панелями складывается несколько… пессимистично.
BrainyCP, довольно удобная внешне, похоже, заброшена авторами. Вы только поглядите, во что превратился их официальный форум:
Спам на форуме BrainyCP
Если авторы не могут разобраться со спамом на собственном форуме, могут ли они своевременно исправлять баги основного продукта?
Обновление: спустя год после написания данной статьи зашёл на форум и обнаружил, что со спамом разобрались. Однако появилось как-то много сообщений о проблемах:
Также я не нашёл истории изменений, поэтому судить о том, что авторы наконец-то взялись за улучшение функций продукта, нельзя. Напишите, пожалуйста, в комментарии, если у вас есть опыт использования этой панели. Что-то мне подсказывает, что проект всё ещё в спячке.
Virtualmin, модуль для панели Webmin, вроде как развивается, но это не самый удобная панель. IMHO, проще вручную создавать виртуальные хосты.
cPanel — продукт, подходящий больше для организации хостингов, чем для управления сервером. К тому же cPanel платный и для взаимодействия с Nginx нужно долго и тщательно настраивать.
Plesk — платная платформа для веб-хостинга, слишком дорогая замена для Весты.
ISPmanager — спорное и дорогое решение, особенно в свете статей вроде «Мошенничество ISPmanager или просто хотим ваших денег». Я сам неоднократно сталкивался со страннейшими багами этой панели.
Картина получается безрадостная. В продакшне VestaCP использовать, по моему мнению, категорически нельзя, для начинающих пользователей она тоже не подходит — слишком уж «вещь в себе» и нет качественной обратной связи с разработчиками. Можно пользоваться скриптами типа Webinoly и надеяться, что кто-нибудь создаст достойную панель управления: бесплатную, с открытым исходным кодом и понятную новичкам. Правда, есть форк панели, о ней ниже — для кого-то, полагаю, это будет спасением.
Установка Elasticsearch
Устанавливаем ядро системы по сбору логов — Elasticsearch. Его установка очень проста за счет готовых пакетов под все популярные платформы.
Centos 7 / 8
Копируем публичный ключ репозитория:
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Подключаем репозиторий Elasticsearch:
# mcedit /etc/yum.repos.d/elasticsearch.repo
name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md
Приступаем к установке еластика:
# yum install --enablerepo=elasticsearch elasticsearch
В в завершении установки добавим elasticsearch в автозагрузку и запустим его с дефолтными настройками:
# systemctl daemon-reload # systemctl enable elasticsearch.service # systemctl start elasticsearch.service
Проверяем, запустилась ли служба:
# systemctl status elasticsearch.service
Проверим теперь, что elasticsearch действительно нормально работает. Выполним к нему простой запрос о его статусе.
# curl 127.0.0.1:9200 { "name" : "centos8", "cluster_name" : "elasticsearch", "cluster_uuid" : "zsYgZQSeT6uvhTCkFJPiAA", "version" : { "number" : "7.11.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "8ced7813d6f16d2ef30792e2fcde3e755795ee04", "build_date" : "2021-02-08T22:44:01.320463Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Все в порядке, сервис реально запущен и отвечает на запросы.
Ubuntu / Debian
Копируем себе публичный ключ репозитория:
# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Если у вас нет пакета apt-transport-https, то надо установить:
# apt install apt-transport-https
Добавляем репозиторий Elasticsearch в систему:
# echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
Устанавливаем Elasticsearch на Debian или Ubuntu:
# apt update && apt install elasticsearch
После установки добавляем elasticsearch в автозагрузку и запускаем.
# systemctl daemon-reload # systemctl enable elasticsearch.service # systemctl start elasticsearch.service
Проверяем, запустился ли он:
# systemctl status elasticsearch.service
Проверим теперь, что elasticsearch действительно нормально работает. Выполним к нему простой запрос о его статусе.
# curl 127.0.0.1:9200 { "name" : "debioan10", "cluster_name" : "elasticsearch", "cluster_uuid" : "zsYgZQSeY6uvhWCkFJPiAA", "version" : { "number" : "7.11.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "8ced7813d6f16d2ef30792e2fcde3e755795ee04", "build_date" : "2021-02-09T21:44:01.320413Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Если все в порядке, то переходим к настройке Elasticsearch.
FAQ 4 — Создание FTP-пользователей в Hestia CP
Hestia CP как и Vesta CP) использует сервер vsFTPd для настройки FTP соединении.
- Зайдите в панель под пользователем, которому принадлежит нужный домен.
- Перейдите в раздел WEB, наведите курсор на поле с доменом и нажмите Редактировать.
- В списке настроек поставьте галочку в пункте Additional FTP account(s) (Дополнительный ftp) и внесите данные:
- Нажмите Сохранить.
- Аккаунт — логин создаваемого пользователя, с которым он будет подключаться по FTP.
- Пароль — введите или сгенерируйте пароль доступа для создаваемого пользователя.
- Путь — директория, которой будет ограничен доступ для создаваемого пользователя. По умолчанию будет предоставлен доступ к домашней директории текущего домена, и в этом случае прописывать путь не нужно. Если необходимо дать доступ к другой директории, путь к ней необходимо указать относительно домашней директории сайта: например, для выдачи доступа к /home/user1/web/mydomain.com/public_html укажите в этом поле /public_html.
- Отправить данные ftp аккаунта по адресу — можно сразу выслать логин и пароль нового пользователя на его почту. Необязательно для заполнения.
GnuTLS -15 в gnutls_record_recv: An unexpected TLS packet was received
При подключении клиентом Filezilla полученного доступа получаем ошибку
Ошибка Ошибка GnuTLS -15 в gnutls_record_recv An unexpected TLS packet was received.
Гуглим, читаем и не понимаем
Много ругани на то что сервер FTP vsftpd ничего не пишет в логах, да и вообще с логами он не дружит (). В чем-то ругальщики правы и vsftpd действительно не балует логами.
Выход один отключаем информационную соску в виде запросов к Google и включаем здравый смысл. На предыдущем шаге я созда FTP пользователя, но НЕ в стандартной директории, а в поддиректории. Смотрим настройки моего FTP пользователя в /etc/passwd:
# nano /etc/passwd admin_ftpdan30:x:1000:1000::homeadminwebvps100.mirax-hotel.comdan30:usrsbinnologin
Видим chroot настроен на директорию /home/admin/web/vps100.mirax-hotel.com/dan30. Проверяем а существует ли эта директория командой ls:
# ls /home/admin/web/vps100.mirax-hotel.com/dan30 ls: cannot access '/home/admin/web/vps100.mirax-hotel.com/dan30': No such file or directory
Видим, что директория не создана, то есть HestiaCP как и Vesta не создает директорию.
Значит создаем нужную директорию вручную, задаем нужные права chown admin:admin dan30.
Все можно работать!
Редактируем стандартные файлы VestaCP
Переходим в → скачиваем файлы , , , , → перед редактированием делаем копию. Пройдёмся по всем файлам:
- header.html — это шапка панели, там прописываются стили, скрипты, метатеги и т. д. Находим тут строку слово «Vesta» меняем на своё. Этот параметр говорит браузеру, какое название выводить в поисковой строке.
- login.html — этот файл отвечает за форму входа на сайт. Находим там ссылку , изменяем на свою, я её просто удалил. Можно также изменить содержимое атрибута на своё.
- reset_1.html, reset_2.html, reset_3.html — это файлы, отвечающие за форму восстановления пароля. Во всех файлах можно удалить параметры , т. к. в действительности они не нужны и только ломают картинку. И также изменяем / удаляем ссылку .
Переходим в . Файлы, папки в этом каталоге автоматически переносятся в каждый сайт при его создании. Сюда, к примеру, я добавил архивы с популярными CMS, что улучшает юзабилити. Думаю, что тут также логично оставить какую-нибудь пояснительную записку для новых пользователей. В каталоге лежат файлы со страницами ошибок, я их не редактировал. В каталогах и лежат автоматически генерируемые файлы сайта. Тут можно отредактировать стандартные файлы и а также добавить файл .
index.html — изменяем ссылку на свою. А также . Думаю, что тут также можно написать что-нибудь пояснительное, к примеру, пояснительное предложение котором указан каталог файла или .
Установка Vesta cp
Установить панель можно двумя способами:
- Простой, некоторые провайдеры могут установить панель бесплатно по вашему запросу, уточните это у хостера (Handyhost ставит её по запросу бесплатно).
- Сложный — установим панель самостоятельно.
И так, для установки Vesta нам нужен ssh-доступ к VPS (IP, логин, пароль).
Подключаемся к серверу с помощью программы putty (инструкция).
Выполняем команды:
-
curl -O http://vestacp.com/pub/vst-install.sh
-
bash vst-install.sh
- Подтверждаем, что хотим установить панель.
- Вводим email администратора.
- Вводим hostname нашего сервера, если вы не знаете что это, то просто жмём «Enter».
- Дожидаемся окончания установки, после установки данные для подключения будут выведены на экран и высланы на почту.
Выполним ещё несколько команд на сервере:
nano /etc/php.ini |
Открываем файл конфигурации php и ищем там строки:
post_max_size = ... upload_max_filesize = ... |
Меняем из значение на 200M, сохраняем и закрываем файл. Открываем файл конфигурации mysql:
nano /etc/my.cnf |
Ищем там строку:
max_allowed_packet = ... |
Меняем из значение на 200M, далее перезагружаем apache и mysql:
service mysqld restart service httpd restart |
Пути к конфигам и названиям служб могут отличаться на разных дистрибутивах Linux: Ubuntu и Debian, текущие указаны для CentOS 6, Vestacp одинаково хорошо работает на всех системах.
Установка VestaCP на Ubuntu
Дальше мы рассмотрим как выполняется установка этой панели на ваш сервер. На самом деле все очень просто и вам будет достаточно выполнить несколько команд.
Скачать скрипт установки VestaCP можно с помощью wget. Для этого используйте команду:
Шаг 2. Запуск скрипта
Дальше запустите скрипт и он сделает за вас всю работу. Скачает и установит панель, загрузит веб-сервера, сервера баз данных, установит все необходимое программное обеспечение и добавит настройки по умолчанию. Для запуска скрипта наберите:
Подтвердите, что вы согласны на установку всего этого программного обеспечения в вашу систему:
Введите свой адрес электронной почты:
Введите ваше имя хоста:
Дождитесь завершения установки, на это может уйти до 15-20 минут:
Шаг 7. Завершение установки
Когда установка VestaCP Ubuntu будет завершена, панель сообщит об этом и выведет сообщение с возможным адресом доступа к панели:
Шаг 8. Пользователь
Вы сможете авторизоваться только под именем суперпользователя, но в Ubuntu пользователь root по умолчанию отключен. Нужно его включить задав пароль:
Как настройки собственные DNS-сервера ( vanity/private/child nameservers )?
Если вы хотите управлять DNS зоны с помощью панели управления Веста , вам придется создать 2 DNS-записи, указать им IP -адрес сервера и использовать их в качестве серверов имен для домена . В этом примере мы будем использовать ns1.your_domain.com и ns2.your_domain.com.
регистратор доменовКаждый регистратор доменов имеет другой метод создания частных серверов имен . Ниже вы найдете инструкции о том , как создать запись в диспетчере GoDaddy.1 . Войдите в свой управляющий счет от GoDaddy.2 . Рядом с доменами , нажмите запуск.3 . Нажмите на your_domain.com.4 . На вкладке настроек нажмите на кнопку управления рядом с именем хостов.5 . Нажмите добавить имя хоста.6 . Введите ns1.7 . Введите IP -адрес вашего сервера.8 . Нажмите кнопку Добавить.9 . Повторите выше для ns2.10 . Изменение серверы имен для your_domain.com в ns1.your_domain.com и ns2.your_domain.com
Панель управления ВестаПосле того, как частная регистрация сервера имен будет завершена, вы должны настроить Панель управления Веста .1 . Добавить домен your_domain.com (поддержка знака отмечается на DNS проверяется ).2 . Перейдите в меню DNS.3 . Нажмите на Изменить в разделе your_domain.com.4 . Измените шаблона для child-ns.5 . Перейдите в меню Packages.6 . Редактировать пакет под названием умолчанию.7 . Установите ns1.your_domain.com и ns2.your_domain.com как серверов имен.
После того как вы сделали все шаги , теперь вы можете установить все ваши доменные имена и использовать ns1.your_domain.com и ns2.your_domain.com
Обратите внимание, что это может занять до 24 часов, после этого DNS-записи начнут работать
Резюме
На этом все. За каких-то полчаса мы проделали огромную работу, а именно:
- Установили панель управления сервером VestaCP и теперь у нас есть удобный и привлекательный внешне интерфейс для управления сервером.
- Добавили еще одну учетную запись пользователя.
- Добавили домен, создали базу данных и просмотрели задания планировщика cron.
Если бы не установленная панель управления, на настройку всего этого вручную понадобилось гораздо больше времени.
Популярные услуги
Виртуальная инфраструктура IaaS на VMware
IaaS на VMware – решение, которое позволяет отказаться от использования физического оборудования и значительно сократить расходы компании.
Виртуальный Дата-центр, VDC с управлением через vCloudDirector
Простая, удобная и надежная интеграция облачной инфраструктуры в IT-инфраструктуру компании с глубокими индивидуальными настройками.
Стандартное расположение файлов и логов
В завершение дам еще немного полезной информации по расположению некоторых файлов и каталогов, которые могут пригодится в работе с панелью vestacp.
/usr/local/vesta | Директория, где хранится все, что касается весты (конфиги, шаблоны, скрипты и т.д.) |
/var/log/vesta | Логи самой панели vesta. |
/home/user1/web/site.ru/public_html | Директория где непосредственно лежит сайт site.ru пользователя user1 |
/home/backup | Тут хранятся все бэкапы |
/var/log/nginx/domains | Логи всех сайтов, если вы используете nginx |
/etc/php-fpm.d | Как общие, так и персональные настройки по доменам от php-fpm |
/home/user1/conf/web | Настройки nginx и сертификаты всех сайтов пользователя user1 |
/etc/php.ini | Файл настроек php |
Описание шаблонов весты можно почитать на официальном сайте, в документации — .
Менеджер файлов
Бесплатного менеджера файлов в Vesta CP нет. Разработчики предлагают приобрести дополнительный плагин Web File Manager за 3 доллара в месяц или за 50 долларов без ограничения срока действия лицензии. Считаю, это весьма гуманным способом монетизации. Реально, Vesta CP одна из лучших бесплатных панелей управления хостингом. Даже без этого плагина, она очень хороша.
Я лично не вижу надобности в отдельном файловом менеджере. Без лишних телодвижений вы получаете ftp доступ к сайту, а в случае включения ssh доступа, учетная запись получает возможность подключаться к серверу по sftp протоколу. Я считаю это наиболее простым, безопасным и удобным способом работы с файлами сайтов напрямую. Под windows есть удобная программа для этого — WinSCP.