Vestacp панель управления для сайтов

Панель управления веб-серверами, виртуальными хостами, почтой, базой данных, dns. Хостинговая панель управления сервером.

Официальный сайт: vestacp.com

  • Бесплатная
  • Поддержка SSL (let's encrypt из коробки)
  • Автоматическая установка
  • Open Source
  • Опциональная установка (выбор только необходимого функционала)
  • Мультиязычная

Рекомендуется устанавливать на чистую систему, что бы избежать проблем и конфликтом с пакетами на работающем сервере. Иными словами, чтобы ничего не поломать ;)

Поддержка операционных систем:

  • RHEL / CentOS 5,6,7
  • Debian 6,7,8
  • Ubuntu 12.04-16.10

Таблица версий PHP и MySQL в зависимости от системы, на которую будет произведена установка

Ubuntu 14.04.4 PHP 5.5.9 mysql 5.5.54
Ubuntu 16.04.1 PHP 5.5.9 mysql 5.7.17
CentOS 6.8 PHP 5.3.3 mysql 5.1.73
CentOS 7 PHP 5.4.16 mysql 5.5.50-MariaDB

Мне нужна была старая версия PHP, поэтому пришлось поискать информацию. Нашел пару гайдов по установке нескольких версий, но нормально устанавливается только до версии 5.4 - ниже (например 5.3.x) сталкиваешся с конфликтом пакетов или отсутствие нужных версий в репозиториях.

Инструкция по настройке мультиверсионности php на vestacp

Если вы тоже собираетесь попробовать установить несколько версий PHP на vestacp - вам может пригодиться phpbrew и гайд по установке его на Весту.

Установка

Для начала вам нужно заказать себе VPS (обзор vscale), получить [IP] [логин] и [пароль] или загрузить свой публичный ключ для авторизации.

Итак мы подключились по ssh, для верности делаем apt-get update или yum update если у вас RHEL. Устанавливаем curl и загружаем скрипт установки панели управления. Можно просто скопировать команду ниже внезависимости от операционной системы.

yum install curl ; apt-get install curl ; curl -O http://vestacp.com/pub/vst-install.sh

Определимся с опциями которые нам могут пригодится. На сайте разработчика есть конфигуратор, который отдаст нужную команду для запуска установки. (Зеленая кнопка Generate..)

конфигуратора vestacp

Для минимальной установки мне хватитило apache, nginx, ftp и базы данных. Копируем строку полученную от генератора в терминал и отвечаем на вопросы о email адресе, на который прислать пароли и адрес для подключения к панели управления. Пример конфигурации ниже.

bash vst-install.sh --nginx yes --apache yes --phpfpm no --vsftpd yes --proftpd no --exim no --dovecot no --spamassassin no --clamav no --named no --iptables yes --fail2ban no --mysql yes --postgresql no --remi no --quota no

Установка vestacp

После завершения установки

Позаботимся о безопасности и сменим порт по умолчанию для доступа в панель управления. Для этого нужно залогиниться по ssh на сервер и исправить файл конфигурации.

# Изменяем порт по-умолчанию на.. допустим 8380 <заменить на свой>
sed -i 's/8083/8380/g' /usr/local/vesta/nginx/conf/nginx.conf

Изменяем правило в iptables и перезагружаем vestacp

# 8083 старый порт / 8380 новый порт <изменить на свой>
v-change-firewall-rule $(v-list-firewall|grep 8083|cut -d " " -f1) ACCEPT 0.0.0.0/0 8380 TCP
Резервное копирование на Яндекс

Для резервного копирования можно использовать уже готовый клиент Яндекс.Диска - отличный выбор на мой взгял это ydcmd. Документация по клиенту доступна на gihtub в репозитории разработчика, ссылка ниже.

ydcmd - Консольный клиент Linux/FreeBSD для работы с облачным хранилищем Яндекс.Диск (Yandex.Disk) посредством REST API

Выполним установку клиента на сервер.

git clone https://github.com/abbat/ydcmd.git
cp ydcmd/ydcmd.py /usr/local/bin/ydcmd
chmod +x /usr/local/bin/ydcmd

Для работы клиента необходимо получить OAuth токен. Для его получения используйте команду ydcmd token, или зарегистрируйте приложение на Яндексе самостоятельно:

Название - ydcmd (может быть любым)
Права - Яндекс.Диск REST API
Клиент для разработки - установить флажок

После регистрации приложения скопируйте id приложения и перейдите по ссылке: https://oauth.yandex.ru/authorize?re....

После разрешения доступа сервис перенаправит вас по ссылке вида:
https://oauth.yandex.ru/verifi..

После установки клиента, создаем скрипт, который будет копировать резервные копии за 30 дней и удалять старые(позже 30 дней). Ниже команда, которая создает файл /usr/local/vesta/bin/sync-yandex-disk с содержанием скрипта.

cat << EOF > /usr/local/vesta/bin/sync-yandex-disk
#!/bin/bash
for r in $(find /backup/ -name "*$(date "+%Y-%m-%d")*.tar");do /usr/local/bin/ydcmd put $r disk:/bkpVPS/$(date "+%Y-%m-%d")/;done
/usr/local/bin/ydcmd rm disk:/bkpVPS/$(date "+%Y-%m-%d" -d "30 days ago")
EOF

Добавляем задание в cron /usr/local/vesta/bin/sync-yandex-disk

cron backup yandex

PhpMyAdmin

Для того, чтобы сократить количество сообщений о попытках перебора доступа в mysql, меняем адрес по умолчанию в панели.

sed -i 's/phpmyadmin/phpmy4dm1nz/g' /etc/httpd/conf.d/phpMyAdmin.conf
sed -i 's/phpmyadmin/phpmy4dm1nz/g' /usr/local/vesta/web/templates/admin/list_db.html
sed -i 's/phpmyadmin/phpmy4dm1nz/g' /usr/local/vesta/web/templates/user/list_db.html
service vesta restart
HTTPS/SSL

Перед выполнением нужно зарегестрировать служебный домен у пользователя admin и сгенерировать для него бесплатный сертификат let's encrypt. Потом мы просто делаем символическую ссылку на эти сертификаты. После этого при заходе в панель - шифрование https становится валидным и не выдает ошибку.

mkdir /usr/local/vesta/ssl/bak/
mv /usr/local/vesta/ssl/* /usr/local/vesta/ssl/bak/
ln -s /home/admin/conf/web/ssl.<домен>.crt certificate.crt
ln -s /home/admin/conf/web/ssl.<домен>.key certificate.key

ru

Read more posts by this author.