При поиске хорошей бесплатной панели управления хостингом нередко возникают проблемы с недостаточно широким функционалом и\или отсутствием обновлений. Из-за этого найти свободное ПО, удовлетворяющее современным требованиям достаточно сложно.
Одной из лучших панелей управления с открытым исходным кодом считается VestaCP. Бесплатная панель управления VestaCP позволяет легко управлять несколькими веб-сайтами или базами данных, создавать и настраивать учетные записи e-mail и FTP. «Веста» достаточно проста в использовании. Ее легко установить, а базовые настройки не вызовут проблем даже у начинающих пользователей.
Ниже представлена подробная инструкция по установке VestaCP и изменению ее настроек. Статья пригодится начинающим и профессиональным администраторам сайта, программистам и владельцам ресурсов.
Системные требования и поддерживаемые ОС
VestaCP широко популярно, благодаря минимальными требованиями к системе и широкому спектру поддерживаемых платформ. Установить ее можно практически на любую операционную систему семейства Unix/Linux. Например, на Linux Ubuntu с версии 12.04 по 18.04, CentOS — с 5 по 8 и Debian — с 6 по 10.
На ресурсе разработчиков указаны конкретные версии систем, для которых поддерживается панель. Но установка панели VestaCP на Ubuntu 18.04, Debian 10, CentOS 7 и другим новым версиям возможна по тем же принципам.
Минимальные системные требования
- 1 Гб ОЗУ.
- Процессор 2 ГГц.
- HDD от 20 Гб.
Установка VestaCP
Установить панель VestaCP достаточно просто на любую из упомянутых выше систем. Для этого достаточно скачать готовый скрипт с сайта разработчиков и запустить его.
Перед началом процесса необходимо обязательно обновить системные компоненты до актуальных. Делаем это с помощью команд:
apt-get upgrade
apt-get update
После этого нужно ввести команду установки утилиты шифрования паролей GNU Privacy Guard:
apt-get install gnupg
Основная сложность заключается в выборе компонентов, на основе которых будет функционировать эта панель управления. Пользователям доступно несколько вариантов установки веб-сервера, включая сервера на базе Nginx+Apache+PHP, Apache+PHP и Nginx+PHP-FPM.
При этом, на странице установки на официальном сайте разработчиков можно найти форму генерации подходящей установочной команды.
Для любых версий операционных систем Linux процедура установки с помощью скрипта не отличается. Установка VestaCP на Debian 9 производится по тому же алгоритму.
Возможный выбор программных компонентов
- FTP-сервер vsftp.
- Firewall iptables и fail2ban, позволяющие настраивать автоматическую блокировку по IP-адресу.
- DNS-сервер named.
- Комбинации почтового сервера.
- БД MySQL или PostgreSQL.
Загрузка установщика скрипта
Команда загрузки выполняется двумя способами на выбор:
wget http://vestacp.com/pub/vst-install.sh
curl -O http://vestacp.com/pub/vst-install.sh
Запуск установки
Далее необходимо запустить скрипт, после чего установка начнется в автоматическом режиме. Во время операции он скачает требующиеся компоненты и ПО веб-сервера. Чтобы инициировать их установку, используем команду:
bash vst-install.sh
После этого появится перечень компонентов, которые будут установлены вместе с панелью:
Далее указываем действующий адрес электронной почты и имя хоста. Установка всех указанных компонентов панели займет около 15 минут.
После завершения процесса на экране отобразится информация для входа. Она же придет на указанный адрес.
Вход в панель
Зайти в веб-интерфейс панели можно через любой браузер последней версии. Это возможно и со смартфона, использующего последнее ПО. При успешном входе появится главная страница VestaCP.
Основные настройка панели
Настройка после установки включает в себя изменение некоторых базовых параметров.
Включение русского языка
Панель достаточно хорошо переведена на русский язык. Если английский интерфейс совсем непонятен, можно переключить установку в пользовательском разделе. При условии, что языковой пакет «ru» есть в используемой операционной системе .
Добавление IP-адреса
Добавить внешние адреса можно через одноименный раздел.
Администратор может выбрать, на каком IP работает сайт.
Отключение автообновления
При использовании панели управления рекомендуется отключить автообновления. Непроверенные пакеты могут вызвать сбои в работе VestaCP. Отключение опции позволит самостоятельно выбирать время для обновления. Заходим в «Обновления» и нажимаем «Выключить автообновление».
Увеличение времени бана
Панель использует удобный инструмент fail2ban, который блокирует пользователей, пытающихся войти в учетную запись, на определенное время. По умолчанию стоит показатель 600 секунд, то есть 10 минут, но если вход пытаются осуществить через запрограммированных ботов, этот показатель слишком мал. Для улучшения безопасности рекомендуется увеличить время до часа.
Для изменения параметра переходим в раздел «Сервер» и выбираем для инструмента fail2ban опцию «Configure».
Изменение показателя производится через секцию «[ssh-iptables]» — в графе «bantime =» ставим 3600 или больше.
Если есть подозрение в том, что сервер пытаются целенаправленно взломать, можно увеличить время бана до 24 часов, а количество неверных попыток до 15. Это автоматически исключит вероятность того, что пытается войти реальный человек.
Добавление сайта
Рассмотрим процесс на примере создания ресурса для WordPress. Чтобы добавить в панель управления сайт, необходимо создать нового пользователя. Для этого переходим в раздел «User».
В процессе необходимо заполнить все поля. Важно указать в «Доступе по SSH» параметр «bash» или «sh». Для этого выбираем созданного пользователя и нажимаем «Редактировать»
Далее входим в ПУ и переходим в раздел «WEB». Теперь нужно добавить домен. Здесь же позже создаются поддомены.
Для любого сайта потребуется база данных. Ее можно создать в разделе «DB».
Далее загружаем исходники сайта через FTP или SFTP. Все действия выполняем под созданной для него учетной записью. Чтобы ускорить операцию, лучше загружать архив. Загрузка распакованных файлов займет больше времени.
После этого необходимо подключиться по FTP, используя любой удобный клиент. Вводим имя сервера и данные учетной записи. Архив загружается непосредственно в корень FTP. Далее подключаемся к серверу. Можно использовать Putty или его аналог WinSCP.
Распаковываем архив через консоль, выбирая директорию сервера. У VestaCP каталог находится, например, по адресу /home/user1/web/vesta /public_html (адрес «example » не является реальным и приведен только в качестве примера).
Выполняем команду через консоль:
# cd ~ # tar -xzvf wordpress-4.8-ru_RU.tar.gz # mv ~/wordpress/* /home/user1/web/vesta.example.com/public_html # rm -d ~/wordpress && rm ~/wordpress-4.8-ru_RU.tar.gz
Переходим по адресу сайта, чтобы автоматически запустился установщик. В нем обозначаем данные БД.
Это стандартный процесс. Панель управления располагает собственными шаблонами по умолчанию, применяющимися для любой CMS. Изменить выбранный шаблон можно в «WEB».
SSL-сертификаты
Через панель VestaCP можно автоматически создать свободные сертификаты SSL от Let’s Encrypt. Возможно добавить непосредственно при создании нового сайт или после этого в настройках. Нужный параметр находится в разделе «WEB».
Для проверки его исправной работы, достаточно перейти по адресу ресурса с https.
Важно. При обновлении SSL-сертификата от Let’s Encrypt, выпущенного для кирилического домена, возможно возникновение ошибки «Error: domain www.мойдомен.рф doesn’t exist.».
Это может происходить из-за сложности конвертации в кириллических символов в пуникод (punycode). Для решения проблеммы нужно закоментировать (добавить символ «#» перед строкой) нижеприведенные строки в файле: /usr/local/vesta/bin/v-check-letsencrypt-domain. В итоге должно получиться:
# if [ -z "$rdomain" ]; then # check_result $E_NOTEXIST "domain $domain doesn't exist" # fi
Дополнительные настройки
Как сделать переадресацию с http на https
Существует возможность настроить автоматическое перенаправление с обычного сайта на его версию с защищенным соединением https. Для этого нужно вписать в файл .htaccess следующий отрывок.
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Установка PHP 7
Обновить сразу несколько версий PHP при использовании Apache помогут готовые решения для Debian/Ubuntu и CentOS. Скрипт для CentOS можно найти на официальном форуме разработчиков VestaCP. Там среди настроек есть выбор версии PHP.
Поскольку для Nginx + PHP-FMP нет готовых решений, понадобится обновить PHP вручную. Предварительно стоит проверить, какая версия уже установлена. В консоли вводим команду:
# php -v PHP 5.6.31 (cli) (built: Jul 6 2017 08:06:11) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Дальнейшие изменения необходимо предварительно проверить на тестовом сервере, чтобы смена версий PHP прошла без проблем с работоспособностью.
Для обновления PHP, придется удалить его старую версию. Рассмотрим этот процесс на примере обновления до PHP 7.1. Для более новых версий, например PHP 7.4, процедура выглядит аналогично.
1. Останавливаем работу служб:
# service nginx stop # service php-fpm stop
2. Добавляем репозитории:
# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm # rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm # yum --enablerepo=remi update remi-release
3. Удаляем установленную версию PHP:
# yum remove php php-fpm
4. Устанавливаем PHP 7.1:
yum --enablerepo=remi-php71 install php71-php php71-php-pear php71-php-bcmath php71-php-pecl-jsond-devel php71-php-mysqlnd php71-php-gd php71-php-common php71-php-fpm php71-php-intl php71-php-cli php71-php php71-php-xml php71-php-opcache php71-php-pecl-apcu php71-php-pecl-jsond php71-php-pdo php71-php-gmp php71-php-process php71-php-pecl-imagick php71-php-devel php71-php-mbstring
5. Создаем символьную ссылку:
# rm -f /usr/bin/php # ln -s /usr/bin/php71 /usr/bin/php
6. Создаем ссылку для конфигурационной папки PHP:
# ln -s /etc/php-fpm.d /etc/opt/remi/php71/php-fpm.d
7. Далее в файле конфигурации /usr/local/vesta/conf/vesta.conf нужно внести такие изменения:
WEB_BACKEND='php71-php-fpm'
8. Переименовываем папки в Vesta:
# cd /usr/local/vesta/data/templates/web # mv php-fpm php71-php-fpm # cd /usr/local/vesta/data/templates/web/nginx # mv php-fpm php71-php-fpm
9. Запускаем сервисы и включаем новую версию PHP в автозагрузку:
# systemctl start nginx # systemctl start php71-php-fpm # systemctl enable php71-php-fpm
Подобные изменения могут повлиять на работоспособность панели, в том числе блокируют автоматическое обновление Весты. Избежать этого можно, переименовав php71-php-fpm в php-fpm. Но в таком случае автообновление стало бы невозможным для PHP. Пользователю стоит самостоятельно решить, какой параметр для него важнее.
Представленная инструкция подходит в том числе для PHP 7.2 и 7.4.
Настройка backup
Резервное копирование панели находится в соответствующем разделе — «Backup». Создавать бэкапы там достаточно просто и, это не требует много времени.
Чтобы начать процедуру, нажимаем на иконку плюса. Копирование ставится в очередь, об его окончании придет оповещение на почту. Файл бэкапа можно скачать через веб-интерфейс VestaCP.
Что включает в себя бэкап
- Исходники сайта, сертификаты, настройки Nginx и панели для каждого домена.
- Конфигурации системного профиля на сервере.
- MySQL без системных настроек.
- Cron пользовательского файла.
Обновление phpMyAdmin
Зайти в phpMyAdmin можно через раздел DB. Адрес файла конфигурации на сервере: /etc/phpmyadmin/config.inc.php.
Панель использует стандартную версию phpmyadmin, поэтому обновить ее можно пакетным менеджером, стоящим в системе по умолчанию.
Если по какой-то причине использовать репозиторий нежелательно, можно сделать обновление phpMyAdmin, добавив новые исходники в /usr/share/phpMyAdmin.
Файловый менеджер
Использовать файловый менеджер бесплатно для VestaCP официально не получится. Панель может применять платный дополнительный плагин от разработчиков — Web File Manager.
Расположение файлов и логов по умолчанию
Ниже представлено стандартное расположение некоторых файлов и логов VestaCP, которые могут понадобиться при работе с ней.
/usr/local/vesta | Директория панели |
/var/log/vesta | Логи Vesta |
/home/user1/web/example.com/public_html | Директория сайта и пользователя user1 |
/home/backup | Резервное копирование |
/var/log/nginx/domains | Логи сайтов на nginx |
/etc/php-fpm.d | Общие и персональные настройки домена от php-fpm |
/home/user1/conf/web | Настройки nginx и все сертификаты |
/etc/php.ini | Конфигурация php |
Заключение
VestaCP считается одним из самых удобных бесплатных вариантов, которые особенно подходят новичкам в сфере IT за счет интуитивно понятного веб-интерфейса и наличия стандартных шаблонов. Свободное распространение, открытый код и широкие возможности являются основными преимуществами панели управления.
Нужен мощный и надежный виртуальный сервер для VestaCP? Выбирай VPS от Eternalhost — быстрые SSD, 2.8 ГГц CPU, защита от DDoS-атак и круглосуточная техподдержка!
Здравствуйте! Прошу помощи. Создал хост на DigiralOcean, далее через PuTTY установил Binom, после через PuTTY стал устанавливать Vesta. После установки отваливается Binom…
Если устанавливать в обратном порядке, сперва Vesta, затем Binom, то падает домен с ошибкой 521 и через сформированный IP Binom — невозможно зайти в личный кабинет.
Не верю что эти 2 ПО могут конфликтовать.
Просьба помочь, как корректно установить обе программы без конфликтов?
Заранее благодарю за помощь!
Здравствуйте. К сожалению, совместная установка Vesta и Binom в автоматическом режиме невозможна.
Нужно установить сначала Vesta, затем вручную (https://docs.binom.org/install.php#manual) установить Binom, создав виртуальный хост в Vesta и, не забыв поставить зависимости для Binom.
https://[ip-adress]:8083 что бы попасть в панель весты
Спасибо за дополнение. Панель Vesta CP действительно доступна по порту 8083.
Здравствуйте! Спасибо за статью, очень помогла! Хотелось бы, чтобы Вы в разделе SSL добавили информацию о том, что в данной CP существует проблема получения SSL у кириллических доменов. В частности она описана здесь: https://forum.vestacp.com/viewtopic.php?f=28&t=13322 Потратил много времени, вероятно многим бы помогла эта ссылка (или хотя бы упоминание о том, что такая проблема существует).
Здравствуйте, Альберт! Спасибо за ценное дополнение. Обязательно добавим информацию в статью в ближайшее время.
у нее бекапы есть ?
Конечно. Бекапы можно делать во вкладке CRON с помощью команд:
sudo /usr/local/vesta/bin/v-backup-users
sudo /usr/local/vesta/bin/v-update-sys-queue backup