Vesta CP — обновление PHP версии

Разные статьи

Всем доброго дня!

В свободное от работы и занятий с собакой врмя, я занимаюсь тестированием интересной разработки — бесплатной панели управления хостингом — Vesta CP. Для работы этой панели нужен VDS сервер с ОС Ubuntu (12-16), Debian (6-8) или RHEL / CentOS (5-6). Требование от сервера достаточно демократичные: 1 Ядро с частотой 1 Ghz, 512 Мб ОЗУ и 20 Гб ПЗУ. Стоимость таких серверов на SSD от Российских именитых «провайдеров» начинается от 300 рублей, но мне удалось найти такой сервер за 150 р./мес. в РФ и за $3 в США (сейчас у них подоражал до 5).

Тестирование началось на Ubuntu 14, которая базировалась на SSD дисках (HDD — это реально долго). и первая проблема возникла в том, что в устанавливаемом дистрибутеве ОС уже есть apache2 и при установке VestaCP она «ругается» на его наличие.

Первым делом, мы через SSH «зачищаем» наш сервер на OpenVZ VPS от предустановленных приложений, обновляем и устанавливаем curl:

 

# sudo apt-get remove --purge apache2* bind9* samba*

# sudo apt-get update

# apt-get upgrade

# sudo apt-get dist-upgrade

# sudo apt-get install curl

 

Установим «текстовый» редактор:

# sudo apt-get install nano

 

После подготовки, начинаем скачивать установочный скрипт и запускать его:

 

# curl -O http://vestacp.com/pub/vst-install.sh

# bash vst-install.sh

 

В момент установки он у нас попросит подвердить установку, ввести e-mail администратора (указывайте рабочий, так как на него можно отправить пароль от входа в панель) и имя хоста.

Далее пройдет установка и в конце нам покажут адрес для управления VestaCP (Https:____:8083, логин и пароль. Сохраните эту информацию!

 

Для некоторых сайтов нужен PHP 5.6 и выше, а в VestaCP мы находим 5.5.9. Что делать? Просто обновить?

Не тут-то было! Простые действия по удалению PHP 5.5 и установке PHP 5.6 или PHP 7.1 приведут к двум проблемам:

1. Мы сотрем часть файлов vesta-php

2. PHP 7.1  будет работать на VPS, но сайты будут продолжать работать на vesta-php, т.е. на 5.5.9 (это сделано для стабильности работы системы)

3. Пропадет phpmyadmin (отключатся базы), упадут сайты, после поднятия сайтов, упадет vesta c 502 ошибкой.

В процессе мне удалось поднять сайты (настройка PHP «sudo nano /etc/php/7.1/fpm/php.ini») и VestaCP (отключил php7.1, высвободил место — рестарт) .

Но решение моей проблемы оказалось очень простым и не требовало стролько времени и танцев с бубном, а точнее ограничилось вводом всего 3 строчек:

 

# git clone https://github.com/petranikin/mgrvphp.git

# cd mgrvphp

# bash mgrvphp

После ввода последней, вам предложат ввести версии PHP, вводить нужно полностью, а если вы вводите несколько, то через пробел.

Пример для 5.6 и 7.1:

>5.6.30 7.1.3

Потом Вам предложат настроить связи с VestaCP — ставим «y» и жмем Enter

Дожидаемся установки, заходим в VestaCP->WEB, выбираем домен->редактировать, находим «Шаблон WebAPACHE2» и меняем на нужную версию. Я выбрал «PHP56-fcgid» — проверил — работает!

 

Полезная информация:

Файл конфигурации mysql сервера VestaCP

/etc/mysql/my.cnf 

 

Конфиги PHP php.ini

/etc/php5/apache2/php.ini (установленный VestaCP, править можно прямо из панели: Сервер-apache2-configure-НАСТРОЙКИ СЕРВЕРА / APACHE2 НАСТРОИТЬ PHP.INI)

*версия* — Версия PHP указывается полностью (наприме для PHP 7.1.6 будет php-7.1.6)

extension можно добавить в /opt/php/php-*версия*/etc/conf.d/ext.ini

Файл php.ini можете создать в /opt/php/php-*версия*/etc/

К примеру:

# cd /opt/php/php-7.1.6/etc

# touch php.ini

# nano php.ini

(копируем сюда содержимое файла php.ini и сохраняем Cntrl+X, Y )

Также в весте можно создать свой php.ini для каждого сайта в /home/*пользователь*/web/*домен*/cgi-bin/php5-cgi.ini

 Если Вы хотите остановить VestaCP

# service vesta stop

Для старта:

# service vesta start