LINUX.ORG.RU
решено ФорумAdmin

Установка нескольких версий PHP на Ununtu 20.04

 


0

1

На VPS с Убунтой уже установлены какие-то версии php А мне надо добавить PHP 8.2 но так, чтоб не сломать те которые уже установлены

Тут ещё странность в том, что Убунта вообще не видит apache2

apache2ctl configtest

Command 'apache2ctl' not found

systemctl status apache2

Unit apache2.service could not be found

И т.д. Но находится вдруг httpd

sudo systemctl status httpd

httpd.service - LSB: starts Apache Web Server
     Loaded: loaded (/etc/init.d/httpd; generated)
     Active: active (exited) since Wed 2024-04-10 20:27:11 UTC; 10 months 17 days ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 0 (limit: 4662)
     Memory: 0B
     CGroup: /system.slice/httpd.service

Что посоветуте с такой конфой?

systemctl list-units | grep fpm
  php-fpm-73.service                                                                           loaded active running   LSB: starts php-fpm                                                          
  php-fpm-74.service                                                                           loaded active running   LSB: starts php-fpm                                                          
  php-fpm-80.service                                                                           loaded active running   LSB: starts php-fpm                              
★★

https://launchpad.net/~ondrej/+archive/ubuntu/php

Тут ещё странность в том, что Убунта вообще не видит apache2

А должна разве?

Но находится вдруг httpd

Apache exited, написано же.

Что посоветуте с такой конфой?

СНАЧАЛА разобраться, как у тебя уже сделано и как связывается веб-сервер с php и добавить туда нужную версию. Возможно, у тебя уже есть репозиторий от какого-нибудь ispmanager и бездумное добавление репозитория от ondrej sury всё тебе сломает нахрен.

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 3)

ну как бэ.. всегда можно скомпилять руками если уж совсем припрёт

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

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)

Что посоветуте с такой конфой?

Когда я активно говнякал сайты и приходилось иметь на машине 5-6 версий пыха в т.ч. всякую древность то докер меня весьма выручал

ya-betmen ★★★★★
()
Ответ на: комментарий от jura12

В общем ожидаемо тут наплыв предположений. В заголовке темы написано Ununtu 20.04

lsb_release -a даёт Ubuntu 20.04.5 LTS

Для кого тут рейтинги эти? Видно ж что не школьник спросил

Докер это не то что надо. Выше я показал, что есть версии пхп и apache но который откликается только на кличку для CentOS)

mirek ★★
() автор топика

В принципе можно разобраться. Апач и php запускаются скриптами в /etc/init.d

Например Апач запускает httpd Это текстовый фай с содержимым

Description: Startup script for Apache webserver on Debian

Аналогично запускаются все php Например php-fpm-80

Short-Description: starts php-fpm

А все исполняемые файлы находятся по пути /www/server/ И там папки apache, php

Только вот проблема с пониманием того как добавить в эту конфигурацию php82?

mirek ★★
() автор топика
Ответ на: комментарий от rtxtxtrx

phpenv гугли

Для чего? Там в целом всё понятно.

Касательно Докера то мне не надо конфу переделывать. Просто добавить ещё одну версию php

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

mirek ★★
() автор топика
Последнее исправление: mirek (всего исправлений: 1)
Ответ на: комментарий от mirek

Апач и php запускаются скриптами в /etc/init.d. Например Апач запускает httpd

Аналогично запускаются все php Например php-fpm-80

Ну так напусти на них dpkg -S, узнаешь, в каких пакетах лежат, потом узнай, из какого репозитория установлены, ну и посмотри, нет ли там php82.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

нет ли там php82

Точно не установлен. ПХП по путям /www/server/php

И там папки 74, 80

ls -a /www/server/php/80/
.  ..  bin  deb.pl  etc  include  lib  php  sbin  src  var  version.pl  version_check.pl

В /www/server/php/80/etc можно найти привычный php.ini

mirek ★★
() автор топика
Ответ на: комментарий от Dimez
dpkg -S php

bt-php80: /usr/share/doc/bt-php80/README.Debian
bt-php73: /www/server/php/73/lib/php/PEAR/Common.php
bt-php80: /www/server/php/80/lib/php/build/Makefile.global
bt-php80: /www/server/php/80/lib/php/build/config.sub
bt-php80: /www/server/php/80/include/php/ext/spl/spl_heap.h
bt-php80: /usr/share/doc/bt-php80/copyright

...

ну и т.д.

Вот тут непонятка

mirek ★★
() автор топика

у тебя php-fpm просто натрави nginx чтобы разные папки для php к разным сокетам php-fpm цеплялись при открытии php, если конечно у тебя крутые вещи на апачь не завязаны, вроде тоже просто, но в дебиане php в отдельный модуль-конфиг apache упаковали, дербанить.

s-warus ★★★
()
Последнее исправление: s-warus (всего исправлений: 1)
Ответ на: комментарий от mirek

Ну и из каких это репозиториев bt-php80?

Ну узнай, apt это позволяет. Система то у тебя, не у меня.

P.S. Я уже нашёл, что это. Теперь ты ищи :)

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от s-warus

php-fpm это практически свой вебсервер тебе нужно чтобы апачь при работе с разными папками обращался к разным unix-сокетам php-fpm-разных версий, а не только по расширению php

s-warus ★★★
()
Ответ на: комментарий от Dimez

P.S. Я уже нашёл, что это. Теперь ты ищи :)

apt show bt-php80

Package: bt-php80
Version: 8.0.20
Status: install ok installed
Priority: optional
Section: php
Maintainer: baota <riyoukakan@gmail.com>

Но я не понял из какого репозитория php Убунта мне не родная)

mirek ★★
() автор топика
Ответ на: комментарий от mirek

Но я не понял из какого репозитория php

APT-Sources смотри ниже. Наверняка там будет что-то типа aapanel.com

Убунта мне не родная

Ну ты либо разбирайся и делай хорошо, либо в Job тему создавай.

Dimez ★★★★★
()
Ответ на: комментарий от mirek

по простому, не удаляя php80, символическую ссылку на модуль-конфиг php82 брось и удали ссылку php80 подзреваю в папке /www/server/apache/modules и перезапусти апаче, потом если замена удалась, посмотри как тот и другой конфиг написан.

прикол если php не как fpm, а как модуль апача, то настраивай как тут советовали phpenv, я это не умею

зачем такая переделка всей умолчальной конфигурации? (риторический)

s-warus ★★★
()
Последнее исправление: s-warus (всего исправлений: 1)
Ответ на: комментарий от Dimez

APT-Sources смотри ниже. Наверняка там будет что-то типа aapanel.com

APT-Sources: /var/lib/dpkg/status
Description: server-side, HTML-embedded scripting language
  PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML

И где тут репозиторий?

mirek ★★
() автор топика
Ответ на: комментарий от mirek

И где тут репозиторий?

Поспокойнее. Пока я клещами информацию вытаскиваю из тебя и твоего сервера, а не ты из меня.

Судя по старой версии пакета (8.0.20 против актуальной на данный 8.0.26) действительно ставилось через панель без привлечения репозитория.

У тебя 2 варианта:

  1. скачать из репы вручную пакет и установить (неправильный, но имеет место быть). Или самой панелью, если ставилось из неё (посмотри, есть у тебя запущенный сервис bt?)

  2. найти, как подключается репозиторий, подключить его и использовать дальше его

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от Dimez
sudo ls -a /www/server/panel
.	  BT-Task      class   default.pl  logs    readme.md	     runconfig.py  ssl	    tools.py
..	  BTPanel      config  init.sh	   plugin  requirements.txt  runserver.py  task.py  vhost
BT-Panel  __pycache__  data    install	   pyenv   rewrite	     script	   tmp

Чё то вот такое есть. Это панель наверное

mirek ★★
() автор топика
Ответ на: комментарий от Dimez
systemctl -t service --state=active

bt.service                           loaded active running LSB: starts bt

. . .

systemctl status bt
● bt.service - LSB: starts bt
     Loaded: loaded (/etc/init.d/bt; generated)
     Active: active (running) since Wed 2024-04-10 20:27:12 UTC; 10 months 18 days ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 221 (limit: 4662)
     Memory: 642.5M
     CGroup: /system.slice/bt.service

Да Это оно Только теперь надо найти её адрес, пароли

И в общем я думаю через панель любое God установит php)

mirek ★★
() автор топика
Ответ на: комментарий от s-warus

Да у меня есть конфиг этой панели. Но по тем настройкам оно не отвечает. Меня бы устроило если б я даже нашел адрес по которому отвечает эта панель прямо на сервере

Выдает что-то вроде you have not access to this address Но возможно я пробую некорректные адреса/порты

Вообще это классическая aaPanel или BT Panel и я даже заглянул в инструкцию. Но оно не отвечает по стандартному адресу из мануала который появляется в финале установки

mirek ★★
() автор топика
Последнее исправление: mirek (всего исправлений: 1)
Ответ на: комментарий от mirek

поищи конфиг и в нём ip порт в папке /www/server/panel/ думаю вроде setting.json если там присутствует ip (bind) localhost то замени на 0.0.0.0 (слушать все интерфейсы) можно localhost (это безопасней), но тогда нужно научится пробрасывать по ssh localhost на твою машину

s-warus ★★★
()
Ответ на: комментарий от s-warus
sudo cat /www/server/panel/config/config.json
{"product": "Linux panel", "setup_path": "/www/server", "openlitespeed_path": "/usr/local", "language": "English", "title": "aaPanel Linux panel", "brand": "aaPanel", "root_path": "/www", "template": "default", "logs_path": "/www/wwwlogs", "home": "https://www.aapanel.com", "recycle_bin": true}

Нет ничего полезного

mirek ★★
() автор топика
Ответ на: комментарий от mirek

так как ты не обнаружил на каком порту админ висит ползу в https://azdigi.com/blog/en/webserver-panel-en/aapanel-en/change-the-aapanel-p... инструкцию есть способ задать его из консоли в aaPanel CLI под root запусти команду

# bt 
там в принципе всё понятно 8 задать порт да и с остальным разберёшься

s-warus ★★★
()
Последнее исправление: s-warus (всего исправлений: 2)
Ответ на: комментарий от s-warus

заработает и хорошо, но в принципе всё это можно и без aaPanel делать, выкинишь лишнию точку отказа и ускоришь развертывание и повторяймость и контролируемость, все с подобного начинают, я например webmint, потихоньку, всё нужное освоишь.

s-warus ★★★
()
Ответ на: комментарий от s-warus

В общем зашел. Но самое интересное, что из панели добавить новую версию PHP не получится

Тем не менее в комплект входит php.sh И там wget http://download.bt.cn/install/

То есть оно всё тянет с китайского сайта

И соответственно можно не надеяться поставить такое PHP вручную)

mirek ★★
() автор топика
Ответ на: комментарий от s-warus

А хотя нет. Всё устанавливается из Панели. Но это надо додуматься зайти в APP Store для того чтоб добавить версию PHP)

В любом случае ручками из командной строки такой фокус не провернуть)

mirek ★★
() автор топика
Ответ на: комментарий от s-warus

а так 5 версия 7,и 8.2 обычно этого на все варианты хватает, да 8 значительно быстрее, если ab (апачбенчмарком за досить-затестить) потихоньку на 8 переводишь всё

s-warus ★★★
()