смена версии php vestacp

Использование нескольких версий PHP в панели VestaCP

смена версии php vestacp. Смотреть фото смена версии php vestacp. Смотреть картинку смена версии php vestacp. Картинка про смена версии php vestacp. Фото смена версии php vestacp

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

В статье рассмотрим установку и настройку PHP нескольких версий — 5.6, 7.0, 7.1, 7.2, 7.3.

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

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

Предварительно установите следующие библиотеки:

В Linux Debian (Ubuntu) установка выполняется командой apt-get install (либо apt install), в CentOS воспользуйтесь установкой с помощью Yum. Далее инструкция будет приведена для ОС семейства Debian (Ubuntu).

Установку PHP 5.3 в данной инструкции рассматривать не будем, потому что в облаке NetPoint есть готовый шаблон VestaCP с предустановленной PHP версии 5.3.

Установка PHPBrew

Предварительно установите PHPBrew, если он еще не установлен. В том случае, если вы используете наш шаблон с предустановленной VestaCP, PHPBrew уже установлен.

Установка ПО PHP всех версий

Установку PHP версии 5.6 можно выполнить следующей командой:

Установку PHP версии 7.0 можно выполнить следующей командой:

Установку PHP версии 7.1 можно выполнить следующей командой:

Установку PHP версии 7.2 можно выполнить следующей командой:

Установку PHP версии 7.3 можно выполнить следующей командой:

Создание символических ссылок в /usr/local/php

Создайте символические ссылки для установленных PHP версий следующими командами:

Настройка Apache2

Активируйте CGI модуль веб-сервера:

Перезапустите службу веб-сервера Apache2, чтобы применить изменения

Создание шаблонов для запуска PHP web-сервером Apache2

Добавьте шаблоны и сценарии bash в указанные директории для переключения версий php через web интерфейс VestaCP

PHP 5.6

/usr/local/vesta/data/templates/web/apache2/php56.sh

/usr/local/vesta/data/templates/web/apache2/php56.tpl

/usr/local/vesta/data/templates/web/apache2/php56.stpl

PHP 7.0

/usr/local/vesta/data/templates/web/apache2/php70.sh

Файлы шаблонов для всех версий PHP такие-же, как у версии PHP 5.6, отличие только в именах шаблонов и путях к PHP.

/usr/local/vesta/data/templates/web/apache2/php70.tpl

/usr/local/vesta/data/templates/web/apache2/php70.stpl

PHP 7.1

/usr/local/vesta/data/templates/web/apache2/php71.sh

/usr/local/vesta/data/templates/web/apache2/php71.tpl

/usr/local/vesta/data/templates/web/apache2/php71.stpl

PHP 7.2

/usr/local/vesta/data/templates/web/apache2/php72.sh

/usr/local/vesta/data/templates/web/apache2/php72.tpl

/usr/local/vesta/data/templates/web/apache2/php72.stpl

PHP 7.3

/usr/local/vesta/data/templates/web/apache2/php73.sh

/usr/local/vesta/data/templates/web/apache2/php73.tpl

/usr/local/vesta/data/templates/web/apache2/php73.stpl

Установка прав на шаблоны

Установите права на файлы шаблонов следующей командой:

Выполните еще раз перезапуск веб-сервера Apache2:

Активация для выбранного сайта

Активация нужной PHP версии выполняется следующим образом:

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

Источник

Как понизить версию php 7.4 до 5.6 в Vesta на Ubuntu

смена версии php vestacp. Смотреть фото смена версии php vestacp. Смотреть картинку смена версии php vestacp. Картинка про смена версии php vestacp. Фото смена версии php vestacp

Понижение и повышение версии PHP в Ubuntu вариант 1

смена версии php vestacp. Смотреть фото смена версии php vestacp. Смотреть картинку смена версии php vestacp. Картинка про смена версии php vestacp. Фото смена версии php vestacp

В этом руководстве мы покажем вам, как обновить PHP 7.0, который по умолчанию установлен Vesta CP во время установки, до последней версии PHP 7.1.xx, 7.2.xx, 7.3.xx или 7.4.xx на сервере Ubuntu.

Зачем переходить на php 7.1, 7.2, 7.3 или 7.4?

Это даст вам повышение безопасности и производительности + KICK, поскольку WordPress или поддерживаемые скрипты будут загружаться намного быстрее и потреблять меньше ресурсов.

Пакеты, которые понадобится установить:

Вам нужно установить software-properties-common:

Для Apache mod_php:

Для обновления PHP 7.1:

Сначала вам нужно добавить Ondrejs PPA:

Если вы получите: “‘ascii’ codec can’t decode byte”, выполните следующую команду:

затем запустите эти команды:

Теперь установим PHP 7.1:

После установки, отключите модуль php 7.0, чтобы активировать модуль php7.1:

После включения модуля новой версии php, перезапустите службу apach2 командой:

Для обновления до PHP 7.2, 7.3, 7.4, достаточно изменит цифры версии в командах.
Пример для PHP 7.4:

Теперь, если вы установили все нужные Вам версии PHP, вы сможете переключать их, как в сторону повышения, так и понижать версию PHP.

Чтобы повысить php7.1 до php 7.4, просто выполните следующие команды:

Чтобы понизить версию с php7.4 до php 7.0, просто выполните следующие команды:

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

ПЕРЕКЛЮЧЕНИЕ МЕЖДУ ВЕРСИЯМИ PHP вариант 2

смена версии php vestacp. Смотреть фото смена версии php vestacp. Смотреть картинку смена версии php vestacp. Картинка про смена версии php vestacp. Фото смена версии php vestacp

Пример: Ubuntu 18.04 как переключить PHP7.4 на php5.6

Этот метод заключается не в удалении каких-либо из версий php и установке другой версии, а в установке PHP как надстройки и в использовании одной из версий PHP по необходимости.

Данный метод не позволяет выбирать нужную версию PHP в панели управления VestaCP.

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

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

Вы установили версию PHP 5.6.

Проверим версию PHP командой:

Вывод может отображать вашу старую версия PHP.

Для применения изменений, рестарт веб сервер Apache:

Обычно, сначала необходимо установить еще несколько модулей необходимых для правильной работы веб сервера:

Включение необходимых расширений >>> sudo phpenmod mbstring

Источник

Установка дополнительных версий PHP в VestaCP с помощью Docker

Наверное, многие сталкивались с ситуацией, когда среди проектов, работающих на современном ПО, остается пара полузабытых, а держать отдельную машину под них не хочется. Вариантов решения — масса, но в службе поддержки хостинг-компании данная проблема не теряет своей актуальности. Мои коллеги разработали скрипт, помогающий добавить нужную версию PHP в VestaCP буквально за пару минут. Данный метод уже зарекомендовал себя с хорошей стороны, и он продолжает радовать сотрудников поддержки. Самое время его опубликовать и помочь всем, кто столкнулся с подобной проблемой.

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

Установка

Будет установлен (если не был установлен ранее) docker через унифицированный инсталлятор (проверялся на CentOS7 и Ubuntu).

Последний аргумент в команде — желаемая версия PHP. В настоящий момент доступны версии PHP: 5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2 и 7.3. Скрипт создаст шаблон для Vesta и два сервисных файла: docker.httpd и docker.php.56.

Все сервисы выполняют установку/обновление образов, в связи с чем первый запуск (например, подключение шаблона в “Весте”) либо перезапуск при наличии обновлений может занять некоторое время.

PHP запускается от имени www-data. На хосте будет создан (если еще нет) соответствующий пользователь. Владелец директории сайта будет изменен на www-data, группа останется прежняя. Также будет создана директория /opt/docker/ для хранения конфигурационных файлов.

В итоге мы потратим

700 Мб на установку самого докера и около

300Мб на образы, но получим прирост производительности. Результаты измерения производительности средствами Bitrix в 1.5-2 раза выше для связки VestaCP + Docker, чем при использовании аналогичной версии PHP в качестве модуля Apache.

Установка на одноядерный процессор

Далее перезапустить докер:

systemctl stop docker
systemctl start docker

После чего переключить на нужную версию PHP в панели VestaCP. В случае если нужная версия уже выбрана, то необходимо переключить на дефолтную, сохранить и снова переключить на нужную версию PHP.

Схема работы

Схема работы выглядит следующим образом:

Apache потребовалось запаковать в контейнер (

80mb) из-за различий версий между CentOS и Apache. Версия в Centos не позволяет корректно проксировать запросы на fpm.

Apache запускается на порту 9080, поэтому скрипт редактирует конфигурацию nginx. Переключение на стандартный шаблон Vesta (default) вернет прежний порт (8080).

PHP запускается на 9000+version, то есть 9056, 9070, 9072 и т.д.

HTTPD

httpd запускается следующим образом:

В /opt/docker/conf/web лежат хосты, httpd в контейнере с минимальным набором модулей из-за экономии ресурсов, хосты для контейнеров хранятся в /opt/docker/conf/web, в директории Vesta (/home/admin/conf/web/) создается пустой файл.

PHP запускается следующим образом:

passwd и group передаются в контейнер из-за различных требований к uname и uid в CentOS и Ubuntu.

/etc/hosts — внешние адреса доменов Vesta, они нужны в контейнере для корректной работы сокетов в Bitrix, например. Файл обновляется при каждом переключении шаблонов в Vesta.
/opt/docker/conf/php/56/php.ini — файл, с помощью которого можно повлиять на параметры PHP в контейнере.

Добавление модулей и пакетов

При необходимости можно добавить тот или иной модуль или пакет в контейнер. Образы собраны на основе alpine для экономии ресурсов. Пакеты ставятся через apk, например, создаем Dockerfile cо следующим содержимым:

Затем сохраняем файл и выполняем:

В случае, если требуется модуль для PHP, в контейнерах есть набор скриптов docker-php-ext-configure, docker-php-ext-install и docker-php-ext-enable (описание).

Установка будет выглядеть следующим образом: создаем Dockerfile в произвольной директории со следующим содержимым:

FROM kotpoliglot/php:56
RUN docker-php-ext-install zip

Затем пересоздаем образ:

Будет создан новый образ с прежним именем и установленным модулем.

сервисном файле стоит удалить ExecStartPre=/usr/bin/docker pull kotpoliglot/php:56, чтобы запускался локальный образ, а не заново скачанный с DockerHub.

Сервисные файлы доступны по пути /etc/systemd/system/.

Если инструмент показался вам полезным — дайте знать, мы подготовим подобное решение, например, для панели ISPConfig.

Источник

Установка на сервер новых PHP 7.x, MySQL, выбор версии PHP в панели VESTA на CentOS

На несколько серверов уже поставил/обновил, поэтому оставляю заметку больше для себя, чтобы не искать по закладкам, все инструкции в одной статье. Сервера были на хостингах Timeweb и FirstVDS. Vesta на CentOS 6. Также используются команды для Apache, но при использовании NGINX, PHP-FPM и прочего я думаю сами разберетесь, какие команды нужно вводить.

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

Изначально с Вестой ставится PHP 5.6 и MySQL 5.5 (они самые бесконфликтные и работают с почти любым хоть сколько-то современным движком). Далее все указанные команды вводятся в консоли, проще всего использовать программу Putty, но если вы и с этим не разберетесь, то лучше звоните Солу (профессионалам, я имею в виду, иначе потом больше заплатите для полного восстановления всех файлов и доделок, если что-то не будет в бэкапах). Так что я вас предупредил.

Проверить текущую версию PHP на CentOS можно командой:

Проверить текущую версию MySQL на CentOS можно командой:

Обновление версии MySQL до последней версии (начнем с этого).

Делаем бэкап существующих баз данных:

Устанавливаем пакет нового Мускула:

yum install http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm

Открываем файл по адресу: /etc/yum.repos.d/mysql-community.repo

Далее редактируем строку с нужной версией Мускула:

(единичку ставим после первых квадратных скобок enabled=1, если нужен Мускул версии 5.6, либо после вторых квадратных скобок, после mysql57, если нужен mysql версии 5.7). Я везде ставлю 5.7, вроде реальных проблем и несовместимости с ней ни у одного движка пока не было (была проблема с движком WebAsyst, он требовал максимум 5.6, но проблема решилась добавлением всего одной строчки в файл конфигурации движка, думаю и с другими движками можно будет также решить если что — этой строчкой нужно принудительно включить работу движка с MySQLi).

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

Ошибок быть не должно, если все гуд, запускаем обратно службу мускула:

Если возникают ошибки и Мускул не запускается, меняем файл my.cnf в папке /etc/ (а лучше старый файл просто переименовываем, например, в my.cnf.old):

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

Далее я напишу вообще читерский способ, как можно выбирать версию PHP прямо в панели управления Vesta в настройках сайта.

Установка скрипта для выбора версии PHP прямо в Vesta

Для чего это нужно — некоторые старые версии движков не работают с новым PHP, поэтому требуют старую версию PHP, под которые и писались движки (например, старые версии битрикса, Joomla, да все, в принципе). Коды для PHP в новых версиях слегка изменились, где-то упростились, где-то для безопасности усложнились, поэтому код сайтов на PHP всегда пишется под конкретные версии, старые команды с новым PHP не работают, но на новом PHP все сайты работают заметно шустрее. 5.6 на данный момент считается наиболее универсальным, но и более медленным и, возможно, менее безопасным, так как более не поддерживается и вроде уже не обновляется (крайняя версия 5.6.40 что ли или около того).

После установки скрипта будут доступны для выбора следующие версии php — 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3 и бета-версия 7.4. Изначально скрипт писался только до 7 версии (и в интернете везде написаны инструкции по старому скрипту), я же нашел более новый скрипт, который также устанавливает новые версии PHP. Кстати, выложен был на GitHub всего 2 недели назад, так что держите свежачок.

bash sk-php-selector2.sh all

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

bash sk-php-selector2.sh php56 php71 php73

Дальше консоль пишет какие версии PHP поставила. После завершения команды (на всякий случай можно еще перезагрузить весь сервер или только Apache командой service httpd restart) в настройках Web каждого сайта появится несколько строк в пункте Шаблон Web HTTPD:

смена версии php vestacp. Смотреть фото смена версии php vestacp. Смотреть картинку смена версии php vestacp. Картинка про смена версии php vestacp. Фото смена версии php vestacp

default — это бывший по умолчанию php5.6, последние соответственно 5.4, 5.5, 7.0 и так далее. Изменения сразу же работают после сохранения.

UPD. Изначально писал статью со старой версией скрипта, а в последующем обновил её под новую версию скрипта.

Если вы уверены, что все Ваши сайты будут без проблем работать на последней стабильной версии PHP (на момент написания это PHP7.3), то вводим следующие команды.

Обновляем PHP до версии 7.3 (только если не используется предыдущий пункт с выбором PHP из панели. )

Если у вас CentOS 7

Если у вас CentOS 6

Далее одинаковые команды для CentOS 6 и 7:

yum-config-manager —enable remi-php73

в последней строке (я думаю) при появлении более новых версий PHP просто меняются цифры на соответствующие.

Дальше собственно устанавливаем выбранный PHP:

Далее перезапускаем сервер или только Apache командой

Если в процессе установки возникли ошибки и новая версия PHP не заработала (у меня их не было), отключаем лишние пакеты PHP соответствующими командами:

yum-config-manager —disable remi-php56

yum-config-manager —disable remi-php70

yum-config-manager —disable remi-php71

yum-config-manager —disable remi-php72

А затем возвращаемся к команде yum-config-manager —enable remi-php73 и продолжаем дальше.

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

А если совсем все плохо, можно попробовать сделать:

Даунгрейд версии PHP обратно до 5.6.

Также я думаю этот код можно использовать при новой установке PHP, где еще не стояло Vesta, хотя лично я использовал меньшее количество пакетов (но ни хрена так и не заработало, поэтому я думаю лучше вручную все эти пакеты так и указать, как описано здесь в коде — думаю, лишним не будет).

Просто выпишу код, тут все должно быть понятно (вставляем в консоль по принципу 1 команда — 1 строка, кроме большой строки с перечислением пакетов):

yum —enablerepo=remi-php56 install php56-php php56-php-pear php56-php-bcmath php56-php-pecl-jsond-devel php56-php-mysqlnd php56-php-gd php56-php-common php56-php-fpm php56-php-intl php56-php-cli php56-php php56-php-xml php-php-opcache php56-php-pecl-apcu php56-php-pecl-jsond php56-php-pdo php56-php-gmp php56-php-process php56-php-pecl-imagick php56-php-devel php56-php-mbstring

service php70-php-fpm stop

service httpd restart

А еще, если уже совсем все плохо, сайты не открываются, сервер не работает, то пиши пропало — проще переустановить систему и заново поставить Vesta 🙂 Я один раз уже воспользовался этим, до того там все перемонстрячил, что проще было все переустановить, чем искать блин в чем же еще причина может быть 🙂

Всем удачи! Надеюсь, кому-нибудь эта довольно объемная инструкция поможет (можете поблагодарить в комментариях).

Также хочу Вам представить ДЕЙСТВИТЕЛЬНО дешевый, но при этом качественный магазин электроники, в котором я сам неоднократно покупал компьютерные комплектующие (на 20.01.16 есть ноутбуки за 13 000 руб. что ОЧЕНЬ дешево в современных взаимоотношениях курсов Рубля к Доллару).

Довольно обидно, когда делаешь добрые дела, помогаешь кому-то и за это еще и каждый месяц несешь убытки. Если статья Вам понравилась, помогла или просто сэкономила время и средства, Вы можете помочь автору хотя бы в оплате хостинга. Ведь для Вас это может быть всего 5 или 10 рублей (не деньги), но если хотя бы часть читателей будет сознательна, блог будет самоокупаться. Я на этом не заработаю, но хотя бы хостинг смогу оплатить. Очень не хочется завешивать свой труд настырной навязчивой рекламой (это как «нагадить» в собственной квартире), поэтому прошу помощи у Вас.

QIWI-кошелек: 910-083-81-10 (инструкция на сайте Qiwi, подходит любой терминал).
WebMoney-кошелек: R400441386741 (в меню выбрать «Перевести» и указать кошелёк)
Яндекс.Кошелёк: 410012164738327
Так же, можно просто положить деньги на номер телефона 8 (910) 083-81-10 (с него я могу перевести деньги на хостинг). Но звонить на него можете не пытаться, он отключен.
Огромное спасибо за понимание и помощь!

Присоединяйтесь к нам Вконтакте, чтобы получить более оперативные ответы на свои вопросы, ПЕРВЫМИ читать новые статьи и обмениваться информацией с другими участниками группы!

“ Установка на сервер новых PHP 7.x, MySQL, выбор версии PHP в панели VESTA на CentOS ”
Комментариев: 4.

Попробовал на CentOS 7 поставить выбор версии PHP прямо в Vesta, не ставится нихрена. 3 раза пытался, результата ноль.

Источник

Альтернативные версии PHP в VestaCP

Рассмотрим установку альтернативной версии php на примере установленной панели VestaCP на систему Debian 8 (jessie).

Сервер с установленной панелью VestaCP доступен для установки из настроенного шаблона, при заказе сервера нужно выбрать ОС VestaCP.

По умолчанию Debian 8 идет с версией php 5.6, в данном топике рассмотрим установку альтернативной версии php 7.2

1. Проверяем текущую версию php предварительно создав файл /home/admin/web/test.ru/public_html/phpinfo.php с содержимым:

Результат:
смена версии php vestacp. Смотреть фото смена версии php vestacp. Смотреть картинку смена версии php vestacp. Картинка про смена версии php vestacp. Фото смена версии php vestacp

2. Устанавливаем необходимые пакеты командой:

3. Для компиляции разных версий PHP воспользуемся менеджером PHP версий PHPBrew.

Скачивание и установка в систему менеджера php версий PHPBrew:

Проверка установленной версии PHPBrew

phpbrew — 1.26.0
cliframework core: 2.5.4

4. Компиляция PHP 7.2 с помощью PHPBrew

Спустя 15 минут компиляция PHP будет завершена о чем будет свидетельствовать вывод консоли:

4.1 Для компиляции PHP 7.4 нужно установить дополнительные пакеты командой:

5. Добавление символической ссылки для установленной версии PHP 7.2 на /usr/local/php

6. Включение CGI модуля Apache2

7. Добавление шаблона и bash сценария в панель VestaCP для переключения версий PHP.

7.1 Добавление bash сценария для версии php 7.2 в файл /usr/local/vesta/data/templates/web/apache2/php72.sh

7.2 Добавление шаблона для создания панелью VestaCP конфигурационного файла apache2.

Протокол http, файл /usr/local/vesta/data/templates/web/apache2/php72.tpl

Протокол https, файл /usr/local/vesta/data/templates/web/apache2/php72.stpl

8. Устанавливаем права на шаблоны, перезапускаем вебсервер Apache2 и проверяем.

В настройках домена в разделе Шаблон Web APACHE2 появится новый шаблон с названием PHP72, выбрав его и сохранив изменения можно проверить версию PHP (см. пункт 1).

смена версии php vestacp. Смотреть фото смена версии php vestacp. Смотреть картинку смена версии php vestacp. Картинка про смена версии php vestacp. Фото смена версии php vestacp

Версия php 7.2 включена

смена версии php vestacp. Смотреть фото смена версии php vestacp. Смотреть картинку смена версии php vestacp. Картинка про смена версии php vestacp. Фото смена версии php vestacp

Аналогичным способом повторяя пункты 4-8 можно установить другие версии PHP и создать для них шаблоны в панели VestaCP.

Источник

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

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