Добавление альтернативной версии PHP 8.1 на ISPmanager 5 Lite

baltun

Администратор
Сообщения
11.617
Реакции
2.793
Баллы
1.833
Чтобы добавить собственную альтернативную версию PHP в ISPmanager, нужно создать два XML-файла.

Первый файл добавляет в Настройки → Возможности новый пункт и описывает для него форму Настройки → Возможности → Изменить. Например:
/usr/local/mgr5/etc/xml/ispmgr_mod_myphp.xml
HTML:
<mgrdata>
 <lang name="ru">
   <messages name="feature">
     <msg name="dname_altphp81">Альтернативная версия PHP 8.1</msg>
   </messages>
   <messages name="feature.edit">
     <msg name="package_ispphp81">My PHP 8.1</msg>
     <msg name="hint_package_ispphp81">Использовать PHP 8.1 в режиме CGI</msg>
     <msg name="package_ispphp81_mod_apache">Модуль PHP для Apache версии 8.1</msg>
     <msg name="hint_package_ispphp81_mod_apache">Возможность использовать PHP 8.1 в режиме модуля Apache</msg>
     <msg name="package_ispphp81_fpm">PHP 8.1 для PHP-FPM</msg>
     <msg name="hint_package_ispphp81_fpm">Возможность использования PHP 8.1 сервисом PHP-FPM</msg>
     <msg name="packagegroup_altphp81gr">PHP версии 8.1</msg>
     <msg name="hint_packagegroup_altphp81gr">Возможность использовать PHP версии 8.1</msg>
   </messages>
 </lang>
</mgrdata>

Второй файл описывает пакет добавляемой версии PHP. Например:
/usr/local/mgr5/etc/xml/ispmgr_features.d/my_php.xml
HTML:
<features>
       <feature name="altphp81" featuregroup="altphp">
        <packagegroup name="altphp81gr" type="select">
            <package name="ispphp81" dispname="PHP 8.1 CGI" primary="yes" recommended="yes">
                <systemname>isp-php81</systemname>
            </package>
            <if value="turn_off" hide="package_ispphp81_mod_apache" shadow="yes"/>
            <if value="turn_off" hide="package_ispphp81_fpm" shadow="yes"/>
        </packagegroup>
        <package name="ispphp81_fpm" dispname="PHP 8.1 PHP-FPM" recommended="yes">
            <systemname>isp-php81-fpm</systemname>
        </package>
        <package name="ispphp81_mod_apache" dispname="PHP 8.1 Apache module">
            <systemname>isp-php81-mod-apache</systemname>
        </package>
    </feature>
</features>

После добавления XML-файлов, перезапустите ISPmanager:
Код:
/usr/local/mgr5/sbin/mgrctl -m ispmgr exit

Все делалось по проверено все работает, единственное в моем случае пришлось вынести службу для мониторинга и ее перезапуска. Все выкачивает из репозитория ISP поэтому предварительно альтернативная версия должна появиться у них в репозитории.
 
Последнее редактирование:
Я воспользовался вашим способом. В меню Возможности появилась версия 8.1.

При попытке установки в меню Возможности возникает ошибка.

* installing isp-php81-fpm Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.datahouse.ru * epel: ru.download.ispsystem.com * extras: centos-mirror.rbc.ru * ispsystem-5.283: ru.download.ispsystem.com * ispsystem-base: ru.download.ispsystem.com * remi: mirror.docker.ru * remi-safe: mirror.docker.ru * updates: centos-mirror.rbc.ru Пакета с названием isp-php81-fpm не найдено. Ошибка: Выполнять нечего
Техподдержка ответила следующее:
Здравствуйте! Версия панели ispmanager 5 находится в стадии EOL (31.12.2021г.). С данными репозиториями * ispsystem-5.283: ru.download.ispsystem.com * ispsystem-base: ru.download.ispsystem.com версия PHP 8 не будет установлена. После разъезда компаний адреса репозиториев изменились, download.ispsystem.com необходимо заменить на download.ispmanager.com во всех наших репозиториях. Если панель не обновлялась последовательно вместе с выходом новых версий, то в момент разъезда вы могли пропустить это обновление репозиториев.

Соответственно, вопрос: как мне "заменить на download.ispmanager.com во всех наших репозиториях"?
 
Да, уже увидел. А что делает команда dnf update?
Обновляет все пакеты в системе и читает репозитории, если хотите чтобы после изменения репозитория Centos прочитал все заново, можно сделать так:
Код:
dnf clean all
dnf update
 
Не удалось установить по мануалу выше на Centos 7: не находит пакеты. Администратор baltun подсказал решение. Версии пакетов можно посмотреть и скачать отсюда через браузер:

Удалось установить так:

1. Выполнить инструкции из первого сообщения этой темы.

2. Выполнить в консоли следующие команды:

Код:
wget http://mirrors.download.ispmanager.com/repo/centos/base/7/x86_64/isp-php81-8.1.6-1203.el7.x86_64.rpm
wget http://mirrors.download.ispmanager.com/repo/centos/base/7/x86_64/isp-php81-fpm-8.1.6-1203.el7.x86_64.rpm
wget http://mirrors.download.ispmanager.com/repo/centos/base/7/x86_64/isp-php81-lsapi-8.1.6-1203.el7.x86_64.rpm
wget http://mirrors.download.ispmanager.com/repo/centos/base/7/x86_64/isp-php81-mod-apache-8.1.6-1203.el7.x86_64.rpm
rpm -i isp-php81-8.1.6-1203.el7.x86_64.rpm
rpm -i isp-php81-fpm-8.1.6-1203.el7.x86_64.rpm
rpm -i isp-php81-lsapi-8.1.6-1203.el7.x86_64.rpm
rpm -i isp-php81-mod-apache-8.1.6-1203.el7.x86_64.rpm

3. Перейти в панели ISP в разел Настройки → Возможности → Альтернативная версия PHP 8.1 → справа выбрать в меню Обновить → поставить галку Обновить список доступного ПО → Ок.

UPD:=======================================================
Подскажите, пожалуйста, как обновить версию php 8.2.0 на 8.2.20 в ISP Manager 5?

При попытке поставить поверх, возникает конфликт на определнной стадии установки. Либо как удалить php 8.2.0, чтобы потом поставить 8.2.20?
 

Вложения

  • photo_2024-12-04_05-09-48.jpg
    photo_2024-12-04_05-09-48.jpg
    190.9 КБ · Просмотры: 4
  • 2.jpg
    2.jpg
    70.9 КБ · Просмотры: 4
Последнее редактирование:
При удалении PHP он не должен быть задействован в проектах, в теории удаление пакетов должно быть такое на примере одного (три варианта удаления):
Код:
yum remove isp-php81-8.1.6-1203.el7.x86_64.rpm
rpm -e isp-php81-8.1.6-1203.el7.x86_64.rpm
rpm -e --allmatches --nodeps --noscripts --notriggers --test isp-php81-8.1.6-1203.el7.x86_64.rpm
 
А почему возникает конфликт при обновлении 8.2.0 на 8.2.20 (скриншоты)? Может можно как-то это разрешить без предварительного удаления 8.2.0?
 
yum должен варианты предложить типо --skip-broken или --nobest но не ясно нормально с ними ляжет обновление или нет, может как то эту версию скомпилировали по другому.
 
Подскажите команды взамен тех, что я выполняю. Я попытаюсь поставить поверх:
Код:
sudo yum makecache
sudo yum -y install libsodium
wget http://mirrors.download.ispmanager.com/repo/centos/base/7/x86_64/isp-php82-8.2.20-1358.el7.x86_64.rpm
wget http://mirrors.download.ispmanager.com/repo/centos/base/7/x86_64/isp-php82-fpm-8.2.20-1358.el7.x86_64.rpm
wget http://mirrors.download.ispmanager.com/repo/centos/base/7/x86_64/isp-php82-lsapi-8.2.20-1358.el7.x86_64.rpm
wget http://mirrors.download.ispmanager.com/repo/centos/base/7/x86_64/isp-php82-mod-apache-8.2.20-1358.el7.x86_64.rpm
rpm -i --replacepkgs isp-php82-8.2.20-1358.el7.x86_64.rpm
rpm -i --replacepkgs isp-php82-fpm-8.2.20-1358.el7.x86_64.rpm
rpm -i --replacepkgs isp-php82-lsapi-8.2.20-1358.el7.x86_64.rpm
rpm -i --replacepkgs isp-php82-mod-apache-8.2.20-1358.el7.x86_64.rpm
 
Ну если я не ошибаюсь такие можно еще выполнять команды:
Код:
yum install isp-php82-8.2.20-1358.el7.x86_64.rpm --skip-broken
yum install isp-php82-8.2.20-1358.el7.x86_64.rpm --nobest
 
Назад
Верх Низ