Vesta

Vesta Control Panel является одной из самых простых и «легких» веб-консолей.

Инсталляция Vesta интересна и удобна тем, что можно заранее создать строку запуска и выбрать инсталлируемые компоненты. На вкладке vestacp.com/install/ выбираем нужные нам компоненты, в моем случае мне нужен был только Apache и Proftpd и нажимаем кнопку "Generate Install Command". Будет создана команда запуска инсталляции в консоли bash.

Инсталляция должна производиться на чистый Linux сервер, без предустановленного Apache.

Задача при помощи виртуализации OpenVZ запустить сервер Ubuntu и поднять хостинг LAMP.

  • Установка VE Ubuntu 16.04 LTS в CentOS 6.8 (ядро OpenVZ 2.6.32-042stab120.16)
    cd /vz/template/cache/
    wget -c http://download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz
    vzctl create 144 --ostemplate ubuntu-16.04-x86_64 --layout simfs

    Настраиваем лимиты OpenVZ.

  • Инструкция по установке Vesta на сайте
    cd /opt
    curl -O http://vestacp.com/pub/vst-install.sh

    Для моих задач мне нужен только Apache и предоставлять доступ программистам к моим веб серверам по протоколу FTP, к сожалению модуль SFTP у Vesta платный. Я выбираю ProFtpd так как знаком с ним больше, чем с VSFtpd. Параметр Mail=no, потому что предпочитаю Postfix.

  • Удаляем предустановленный Apache
     apt purge apache2 apache2-bin apache2-data apache2-doc apache2-utils
  • Postfix запускаем только на localhost, изменив параметр в main.cf
    inet_interfaces = loopback-only
  • И только теперь запускаем генерированный нами скрипт установки Vesta. После успешной установки будут выведены данные для доступа к Vesta
    Congratulations, you have just successfully installed Vesta Control Panel
        https://hosting4.example.net:8083
        username: admin
        password: 
  • Перезапустите виртуальную Ubuntu и будет вам счастье!!

FAQ по настройке Vesta CP: подключение, MySQL, Cron

Панель Vesta устанавливает зависимости, такие как сервер MySQL, Exim, ProFtpd, phpMyAdmin. Некоторые пакеты требуют дополнительной настройки.

  • Для подключения к вебинтерфейсу VestaCP использует порт 8083, например:
    https://hosting4.example.net:8083
  • Пароль root MySQL после инсталляции НЕ задан, для подключения в консоли введите
    mysql -uroot

    Обязательно задайте bind-address в разделе mysqld, для прослушивания порта 3306 только на localhost

    [mysqld]
    bind-address = localhost
Конфигурационные файлы VestaCP и файлы виртуальных хостов находятся в /home/<user>/

Переключение версий php для домена (VestaCP)

Это жесть, просто переключить не получится, проще установить Hestia, где multiphp работет из коробки. Но если все же хотите использовать разные версии php, тогда вперед:

По умолчанию домены работают на основной версии PHP это php-mod. Чтобы изменить php версию на другую существует несколько способов:

  1. Переустановить текущую основную версию php на желаемую. Это может затронуть работу доменов уже работающих на основной версии PHP. Домен будет работать в режиме mod-php.
  2. Сменить Web Template для домена.Для этого используется php-selector. Домен будет работать в режиме CGI/FastCGI. Для этого используется php-selector.
  3. Скомпилировать нужную версию PHP из исходников и подключить ее на домен через .htaccess

Первый способ применяется когда для работы домена нужен именно режим mod-php, но домен не хочет работать на текущей основной версии php и режим CGI ему не подходит. Второй способ является безболезненным его мы и рассмотрим.

Второй способ доступен только для ОС CentOS. Для Debian или Ubuntu не реализован php-selector и нет возможности в панели управления выбирать разные версии PHP!

Скрипт php-selector запускаем, например для установки php71

bash sk-php-selector2.sh php71

и в Veste автоматом появится новый шаблон с поддержкой php71

В пункте меню WEB и напротив нужного домена выбрать EDIT. Дальше в настройках домена нас интересует поле Web Template, по умолчанию там установлено значение default - это и есть режим работы mod-php. Изменим его например на php-7.1, для этого выбираем sk-php71 и сохраняем.

Vest CP Error: Let's Encrypt new auth status 400

Хорошие слова:)) Звучат даже через перевод Google Transliations:)

Решение: удалите запрос SSL Let's Encrypt сертификата в этом файле и подождите 3 часа и запросите сертификат заново:

/usr/local/vesta/data/queue/letsencrypt.pipe

Ниже пояснение от англоязычного друга Really (оригинал тут).

Таким образом, vestaCP портит весь сертификат SSL и косвенно использует серверы letsencrypt. Я добавил новый домен, а затем, когда он выдал ошибку 406 («оставь меня в покое, ты просишь слишком много раз» с серверов letsencrypt), я отключил ssl для этого же домена. Веста перестала глючить letsencrypt? Нет, теперь каждые 5 минут работает cron, запрашивающий тот же сертификат, который я указал, что я не хочу.

Для того, чтобы мой IP выглядел так, как будто он пытается злоупотребить ими, и, что более важно, почему - из-за любви к щенкам - веста назначает запрос каждые 5 минут? Кто думал, что это хорошая идея? Один раз достаточно! Затем сохраните фактический ответ, а не бесполезный журнал, который вы выставили с ошибкой 15.

Это то, что меня так чертовски раздражает: кто вдохновляющий человек в вашей команде, который решает составить коды ошибок вместо того, чтобы просто добавлять ответ от letsencrypt напрямую? Способ сделать это сложным и бесполезным одновременно. Вы определенно убили всех птиц одним камнем.

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

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

Читайте также FAQ Vesta

PQ VPS сервера в 28+ странах.