Панель управления vesta

Почему именно «Веста»?

Существует множество разных интерфейсов управления сервером, их еще называют веб-интерфейсом администрирования сервером. Часть из них платные, например: cPanel, ISPmanager, DirectAdmin, Parallels Plesk Panel. Такие панели стоит покупать разве что, если вы сами являетесь хостинг-провайдером и планируете предоставлять место на своих физических серверах другим пользователям.

Если же у вас обычный виртуальный сервер, приобретенный для своих нужд, нужно обратить внимание на бесплатные интерфейсы управления — чтобы не увеличивать стоимость сервера. Примеры бесплатных панелей: VestaCP, Cloxo, Webmin и ISPconfig.. У каждой панели управления есть свои преимущества и недостатки

Например, у Webmin архаичный интерфейс, который был хорош лет 10 назад, но не сейчас. Подробно обсуждать преимущества и недостатки каждого решения не станем, поскольку статья посвящена VestaCP. Зато рассмотрим преимущества этой панели:

У каждой панели управления есть свои преимущества и недостатки. Например, у Webmin архаичный интерфейс, который был хорош лет 10 назад, но не сейчас. Подробно обсуждать преимущества и недостатки каждого решения не станем, поскольку статья посвящена VestaCP. Зато рассмотрим преимущества этой панели:

Конечно, у всего есть недостатки. У VestaCP платная техподдержка. Конечно, было бы странно ожидать, что к бесплатной панели прилагается и бесплатная поддержка — разработчикам ведь нужно за что-то жить. Стоимость техподдержки обходится в 60 долларов в час (можно купить 15 часов за 540 долларов — выйдет по 36 долларов час), но поскольку все сразу работает «из коробки» в большинстве случаев техподдержка вам не понадобится.

С другой стороны, к некоторым другим бесплатным панелям техподдержка вообще не прилагается — если возникнут проблемы, решение придется искать или на форумах или рассчитывать на собственные силы.

Второй недостаток «Весты» — отсутствие файлового менеджера по умолчанию. За него просят или 3 доллара в месяц или 50 долларов единоразово. С другой стороны, всегда можно подключиться по SSH и запустить бесплатный mc, так что это особо не проблема.

Version 0.9.8-8

  • Auto Updates
  • Backup Exclusions
  • Ubuntu 14.04 LTS support
  • Dutch language support by drMacFaulty (wsanders.eu) and Ricardo (intio.nl)
  • RRD Memory graph improvement
  • RRD Graphs access restriction
  • Separate log for vesta errors
  • Slave node in DNS Cluster can work without bind service
  • Detailed email report if backup failed because of high LoadAverage
  • Fixed bug: missing pages (404 error handler)
  • Fixed bug: nginx configuration error on rebuild
  • Fixed bug: template verification on domain restore
  • Fixed bug: backup ownership
  • Fixed bug: preg_match() ruleset
  • Fixed bug: 1024 DKIM keys. Thanks to demlasjr
  • Fixed bug: trailing dot after changing dns record
  • Fixed bug: wrong exim user (Debian/Ubuntu)
  • Fixed bug: uppercase email accounts

Released on Friday April 18, 2014See details

HowTo

Проверка обновлений панели через консоль

Проверить

# v-list-sys-vesta-updates

# v-list-sys-vesta-updates
NAME         VERSION  RELEASE ARCH    UPDATED TIME      DATE
------       ------   ------  ------  ------  ------    ------
vesta        0.9.8    12      x86_64  no      17:34:05  2015-04-09
vesta-php    0.9.7    3       x86_64  yes     17:33:32  2015-04-09
vesta-nginx  0.9.8    3       x86_64  yes     17:34:57  2015-04-09

PKG          VER    REL  ARCH  UPDT  DATE
---          ---    ---  ----  ----  ----
vesta        0.9.8  26   i386  yes   2020-03-24
vesta-php    0.9.8  26   i386  yes   2020-03-24
vesta-nginx  0.9.8  26   i386  yes   2020-03-24

Обновить

v-update-sys-vesta-all

Let’s Encrypt для Exim/Postfix/Dovecot

  • https://forum.vestacp.com/viewtopic.php?t=14557

  • https://www.google.ru/search?q=vesta+ssl+chmod&ie=UTF-8&oe=UTF-8&hl=ru-ru&client=safari

  • http://forum.ubuntu.ru/index.php?topic=147892.0

chgrp mail ssl.your.adminpanel.com.key
chmod 660 ssl.your.adminpanel.com.key
chgrp mail ssl.your.adminpanel.com.crt
chmod 660 ssl.your.adminpanel.com.crt

Как создать поддомен внутри основного домена

Есть домен domain.ru (). Необходимо создать поддомен img.domain.ru, содержимое которого расположено в .

Для этого создаём в WEB новый домен с именем img.domain.ru.

В конфигах и меняем .

То есть вместо каталога указываем каталог .

Также можно вручную создать конфиг для nginx в каталоге . Если создавать через панель, то есть вероятность, что конфиг будет перезаписан и всё сломается.

И самое главное — rewrite’ы

RewriteCond $1 !^img/
RewriteCond %{HTTP_HOST} ^img.domain.ru
RewriteRule (.*) /img/$1 

Есть ли селектор версии PHP?

Да!

Для Debian/Ubuntu: https://anikin.pw/all/menedzher-versiy-php/, https://github.com/petranikin/mgrvphp

Для CentOS: Multiples versiones de PHP en VestaCP , https://forum.vestacp.com/viewtopic.php?f=19&t=10854

Несколько версий PHP

CentOS

Чтобы упростить себе жизнь компилировать не будем, а воспользуемся готовыми RPM пакетами из репозитория Atomic, которые устанавливаются в /opt

Debian

Как обновить PHP до 5.5 со стандартной версии 5.3 на сервере с VestaCP

via http://hasin.me/2014/06/03/upgrading-php-to-5-5-in-a-centos-6-server-with-vesta-cp/

Tested on CentOS 6 x86/x64

Stop httpd and remove current PHP version

service httpd stop
yum -y remove php*

Add Remi repo

#For 32 Bit OS
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm 
 
#For 64Bit OS
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

Install newer PHP version

yum -y install php php-bcmath php-cli php-common php-gd php-imap php-mbstring php-mcrypt php-mysql php-pdo php-soap php-tidy php-xml php-xmlrpc php-pecl-apc phpMyAdmin roundcubemail php-opcache php-xdebug
mv -f /etc/php.ini.rpmsave /etc/php.ini
mv -f /etc/roundcubemail/db.inc.php.rpmsave /etc/roundcubemail/db.inc.php
mv -f /etc/roundcubemail/main.inc.php.rpmsave /etc/roundcubemail/main.inc.php
mv -f /etc/phpMyAdmin/config.inc.php.rpmsave /etc/phpMyAdmin/config.inc.php
mv -f /etc/httpd/conf.d/roundcubemail.conf.rpmsave /etc/httpd/conf.d/roundcubemail.conf
mv -f /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave /etc/httpd/conf.d/phpMyAdmin.conf
service httpd start
  • https://forum.vestacp.com/viewtopic.php?f=17&t=5009

  • https://github.com/serghey-rodin/vesta/tree/master/bin

Version 0.9.8-7

  • German language support (Nevil Verdoold)
  • Indonesian(slank) language support (Rumi)
  • Chinese language support (Kevin kvm.la)
  • CSR web generator
  • JS hint on dns record creation
  • Single-character email usernames support
  • Improved DNS record validation
  • Explicit errors when service restart fails
  • Fixed bug: logged-in message window
  • Fixed bug: missing FWD_ONLY flag on restore
  • Fixed bug: MX and CNAME (IDN support)
  • Fixed bug: nginx restart trigger on template change
  • Fixed bug: awstats months associations
  • Fixed bug: SSL template change
  • Fixed bug: PostgreSQL database status

Released on Thu Feb 20, 2014See details

Как настроить PostgreSQL на RHEL или CentOS?

1 . Установите PostgreSQL

# yum install postgresql postgresql-server postgresql-contrib phpPgAdmin

* Если у Вас Реми репозиторий уже установлен, то не забудьте разрешить его .

# yum install --enablerepo=remi postgresql postgresql-server postgresql-contrib phpPgAdmin

2 . Инициализация кластера базы данных

# service postgresql initdb

3 . Скачать конфигурацию HBA

# wget http://c.vestacp.com/0.9.8/rhel/pg_hba.conf -O /var/lib/pgsql/data/pg_hba.conf

4 . Запустите сервер

# service postgresql start

5 . Установите оракул пароль пользователя

# su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'pgp_your_passsw0rd'"
# exit

6 . Включите поддержку баз данных PgSQL в Весты.
Открыть /usr/local/vesta/conf/vesta.conf и добавить DB_SYSTEM to ‘mysql,pgsql’

7 . Регистрация pg  в панели управления

# v-add-database-host pgsql localhost postgres pgp_your_passsw0rd

8 . Скачать конфигурацию PhpPGAdmin

# wget http://c.vestacp.com/0.9.8/rhel/pga.conf -O /etc/phpPgAdmin/config.inc.php
# wget http://c.vestacp.com/0.9.8/rhel/httpd-pga.conf -O /etc/httpd/conf.d/phpPgAdmin.conf

9 . Перезагрузка веб-сервер

# service httpd restart

Настройка VestaCP

Установка VestaCP завершена, теперь перейдем к первоначальной настройке и созданию первого сайта, например, на движке WordPress.

Введите логин root и его пароль, заданный на одном из предыдущих шагов:

Шаг 11. Главная страница

Вы попадете на главную страницу панели управления vestacp. Здесь все настройки разделены по категориях, которые размещены вверху окна:

  • USER — управление пользователями;
  • WEB — настройки доменов и субдоменов;
  • DNS — настройка служб DNS и серверов имен;
  • MAIL — настройки почтовых серверов и аккаунтов;
  • DB — базы данных;
  • CRON — задания расписания Cron;
  • BACKUP — резервное копирование системы.

Вы можете открыть одну из вкладок и настроить там то, что вам нужно. Кроме того, для администратора доступно еще одно меню, где можно управлять установленными пакетами, настройками брандмауэра, и самой панели и многим другим.

Шаг 12. Настройка языка

По умолчанию панель на английском языке. Если вы хотите сменить его на русский. Кликните по надписи admin вверху экрана, чтобы открылось такое окно:

Затем пролистайте ниже и выберите из списка русский язык.

Шаг 13. Создание пользователя

Вы можете создать нового пользователя с более ограниченными правами для того, чтобы дать доступ к панели другим людям. Для этого нажмите на зеленую кнопку с плюсом на вкладке USER:

В открывшемся окне введите данные нового пользователя. Вам нужно ввести логин, пароль, адрес электронной почты.

Затем вы можете нажать кнопку Добавить и сразу же войти от имени нового пользователя:

Здесь вы можете управлять только доменами, глобальные настройки вам недоступны.

На этой же вкладке вы можете выбрать Add New Domain:

Шаг 15. Настройка домена

Введите все необходимые параметры и нажмите Add:

Если вам нужен доступ FTP для загрузки файлов, нажмите Дополнительные опции и введите данные доступа по FTP, которые хотите настроить:

Шаг 16. Создание базы данных

Перейдите на вкладку DB и выберите Add Database:

Введите все необходимые для авторизации данные, такие как имя базы, пользователь и пароль:

Шаг 17. Тестирование

Все готово. Если вы откроете настроенный домен, то увидите текстовый сайт:

Дальше вы можете загрузить файлы движка WordPress или любого другого по FTP и обновить страницу. Тогда вы увидите меню настройки вашего движка:

Панель управления VestaCP полностью настроена и теперь вам осталось только настроить сам движок.

Подготовка к установке Vesta CP

Далее можем устанавливать контроль-панель Vesta CP – это бесплатная админ-панель вашего сервера, аналог cPanel и ISPmanager. Очень удобная и шустрая. Фактически, в дальнейшем через нее будет построен весь процесс Администрирования вашего VPS-сервера. При желании, с помощью этой умницы опытный веб-мастер может построить целый бизнес по предоставлении услуг хостинга.

Официальный русскоязычный форум Vesta: https://forum.vestacp.com/

1. Итак, набиваем в терминале команду для скачивания Vesta CP:

Если вы правильно набрали комманду, то увидите:

2. Далее вбиваем уже заранее подготовленную команду установки с заданной конфигурацией панели Vesta. Я ее немного адаптировал под себя. Старенький Apache мне не нужен, вместо него буду использовать быстрый и популярный Nginx + PHP-FPM (обработчик скриптов), а дальше все, впринципе, стандартно. Для наглядности перечислю и дам описание того, что я рекомендую включить в пакет:

  • nginx – фронтенд веб-сервер;
  • php-fpm – бекенд веб-сервер, обработчик скриптов;
  • named – DNS-сервер BIND9;
  • mysql – база данных;
  • vsftpd – модуль поддержки FTP;
  • exim + dovecot – отправка/прием писем по протоколам IMAP, POP, SMTP (можно использовать в связке);
  • spamassasin + clamav – проверка спама на почте;
  • iptables + fail2ban – файерволы;

Конечная команда выглядит так:

P.S. На всякий пожарный предоставлю команду конфигурации VestaCP, по умолчанию, на базе Nginx + Apache:

В этой конфигурации “дед” Apache (backend-сервер) будет поддерживаться “молодым и перспективным” Nginx (frontend-сервер). Неплохой “переходной” вариант. Есть время новичку “пристреляться”, разобраться с Nginx, не отказываясь при этом от старого доброго Apache. А потом в будущем уже можно полностью перейти на Nginx+PHP.

P.P.S. Также вы можете САМОСТОЯТЕЛЬНО сгенерировать конфигурацию своего веб-сервера здесь -> http://vestacp.com/install/:

Инсталяция пакета VESTA CP на сервер

Ну что, теперь самое интересное. После выполнения команды, Vesta попросит подтвердить операцию. Внимательно еще раз ознакомьтесь со списком install-пакета и введите Y.

Далее нужно будет указать хост (hostname) – просто жмем Enter (Vesta сама возьмет хост по умолчанию). Если сайт планируется на VPS только один (например, один большой трафиковый веб-сайт) – введите основной домен.

Итак, после запуска команды появится текстовая картинка, оформлена в ASCII-коде – жмем ОК и запустится инсталяция пакетов на ваш сервер. Процесс может занять от 5 до 15 минут

Тут важно проследить за инсталяцией пакетов, чтобы не возникало никаких ошибок (а они у меня появлялись, и я не успел их задокументировать) или проблем с интернет-подключением (из-за слабого wi-fi некоторые пакеты у меня не установились). Все должно установиться корректно, иначе потом правок не избежать

Вконце VESTA поздравит с успешной установкой и предоставит данные для доступа к заветной админ-панели:

  • URL-адрес админ-панели (на порту 8083)
  • Имя администратора
  • Пароль администратора

Некоторые веб-разработчики рекомендуют еще доустановить php-модули, якобы нужные для WordPress. Я прислушился к совету и выполнил команду:

После всего этого (и вообще любых установок) желательно перезапустить сервер.

На заметку. Проверить версию прошивки Vesta CP в консоле можно с помощью команды:

Установка php 7 в vestacp

На момент написания этой статьи, во время установки VestaCP на CentOS 7 устанавливался php 5.6. Уже давно вышла новая версия php 7 и у вас может возникнуть желание использовать именно ее. К сожалению, непосредственно панель vestacp не предоставляет удобной возможности установки и выбора различных версий php.

Если вы используете связку apache + php, можете воспользоваться готовыми скриптами, которые сами установят разные версии php и внесут изменения в интерфейс Весты так, что вы сможете выбирать нужную вам версию. Ссылки для Debian/Ubuntu и CentOS. К сожалению, для nginx + php-fpm готовых решений нет.

Для установки php 7 в vesta cp мы пойдем своим путем и просто установим в систему новую версию php. Чтобы быстро узнать, какая версия 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

Предупреждаю, что дальнейшие действия могут привести к неработоспособности web сервера в силу значительного количества изменений. Все, что я опишу далее, проверено на момент написания статьи и не факт, что будет работать у вас. Обязательно перед внесением следующих изменений, проверьте все на тестовом сервере, который будет совпадать по версиям с рабочим.

Останавливаем службы веб сервера:

# service nginx stop
# service php-fpm stop

Добавляем дополнительные репозитории:

# 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

Удаляем текущую версию php:

# yum remove php php-fpm

Устанавливаем php7.1 на vestacp:

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

Создаем символьную ссылку для новой версии php:

# rm -f /usr/bin/php
# ln -s /usr/bin/php71 /usr/bin/php

Создадим символьную ссылку на папку с конфигурациями php-fpm, которые генерирует vesta. Версия php71-php-fpm хранит свои конфиги в /etc/opt/remi/php71/php-fpm.d. Сделаем туда ссылку из старой директории с php-fpm.

# ln -s /etc/php-fpm.d /etc/opt/remi/php71/php-fpm.d

Теперь изменим некоторые вещи в самой весте. Открываем конфиг /usr/local/vesta/conf/vesta.conf и меняем параметр:

WEB_BACKEND='php71-php-fpm'

Переименовываем пару папок в составе весты:

# 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

После этих преобразований, запускаем наши сервисы и добавляем новую версию php-fpm в автозагрузку:

# systemctl start nginx
# systemctl start php71-php-fpm
# systemctl enable php71-php-fpm

Теперь можно создать тестовый файл phpinfo и проверить версию php. Еще раз отмечаю, что эти преобразования очень рискованны. Вы должны четко понимать, что делаете. Так как эти изменения не поддерживаются авторами панели, больше вы не сможете ее обновлять автоматически.

Можно было бы пойти другим путем, и заменить не конфиги весты, заменяя версию php-fpm, а в системе переименовать php71-php-fpm в обычный php-fpm. Тогда бы не пришлось изменять настройки самой весты. Но в таком случае вы не сможете автоматически обновлять сам php-fpm. Я в этом случае решил, что php-fpm обновлять важнее, чем весту, поэтому изменил последнюю.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *