Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: 18.04 сервер. Откатить openssl до 1.0 и установить php5.3  (Прочитано 1137 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн pulchra

  • Автор темы
  • Участник
  • *
  • Сообщений: 135
    • Просмотр профиля
Требуется установить на сервер 18.04 php5.3.

Глобально задача состоит в переносе серверного ПО (web2project https://web2project.net + модуль, который еще в 2014 году, нам писал хороший программер). Сейчас это w2p+модуль крутится на старом NAS, работает жутко медленно и всех в контре это раздражает, на NAS версия php 5.3.14.

Без танцев с бубном на 18.04 сервер ставится php5.6: sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt install php5.6
sudo a2dismod php7.2
sudo a2enmod php5.6
sudo /etc/init.d/apache2 restart
На php5.6 работает w2p, но не работает дополнительно написанный модуль, который нужен в конторе.

С php5.3, сложности: sudo add-apt-repository ppa:ondrej/php5-oldstable
Cannot add PPA: 'ppa:~ondrej/ubuntu/php5-oldstable'.
The user named '~ondrej' has no PPA named 'ubuntu/php5-oldstable'
Please choose from the following available PPAs:
 * 'apache2':  PPA for Apache 2.x
 * 'apache2-qa':  PPA for Apache2 (QA builds; experimental)
 * 'autotools':  PPA for autotools (not-supported; build-dependency; experimental)
 * 'bind9':  PPA for BIND 9
 * 'cmake':  PPA for CMake (not-supported, experimental)
 * 'common':  Common PPA packages
 * 'cyrus-imapd':  PPA for Cyrus IMAP
 * 'debhelper':  PPA for Debhelper (and friends)
 * 'golang':  PPA for Go (experimental, build-dependency)
 * 'llvm':  PPA for LLVM
 * 'mariadb-10.0':  PPA for MariaDB 10.0 (don't use, broken)
 * 'mysql-5.5':  PPA for MySQL 5.5 (don't use, broken)
 * 'mysql-5.6':  PPA for MySQL 5.6 (don't use, broken)
 * 'mysql-5.7':  PPA for MySQL 5.7 (don't use, broken)
 * 'nginx':  PPA for NGINX with HTTP/2
 * 'nginx-mainline':  PPA for NGINX Mainline with HTTP/2
 * 'nginx-qa':  PPA for NGINX Mainline (QA builds; experimental)
 * 'pelican':  PPA for Pelican
 * 'php':  ***** The main PPA for supported PHP versions with many PECL extensions *****
 * 'php-qa':  PPA for PHP (QA builds; experimental)
 * 'php-zts':  PPA for PHP ZTS (experimental, unsupported)
 * 'php5-compat':  PPA with dummy compatibility php5* packages
 * 'pkg-dpkg':  dpkg and friends (very experimental)
 * 'pkg-gearman':  PPA for Gearman
 * 'pkg-nlnetlabs':  NLNetLabs Backported Packages
 * 'sandbox':  Sandbox for preparation of various packages (DON'T USE)
 * 'seafile':  PPA for Seafile
 * 'unbound':  PPA for Unbound (mainly a build-dep)
 * 'zonemaster':  PPA for Zonemaster

Также пытался собрать из исходников, скачивал с сайта http://php.net/releases/ пакет php-5.3.14.tar.gz, делал все обычные для этого манипуляции, на этапе make вылазит ошибка:/home/pmserver/mountf/php-5.3.14/ext/dom/node.c: In function ‘dom_canonicalization’:
/home/pmserver/mountf/php-5.3.14/ext/dom/node.c:1898:21: error: dereferencing pointer to incomplete type ‘xmlBuf {aka struct _xmlBuf}’
    ret = buf->buffer->use;
                     ^~
Makefile:549: recipe for target 'ext/dom/node.lo' failed
make: *** [ext/dom/node.lo] Error 1

Также пробовал вариант с с phpbrew: phpbrew install 5.3.14 +default
===> phpbrew will now build 5.3.14
PHP 5.3 requires +intl, enabled by default.
===> Loading and resolving variants...
Checking distribution checksum...
Checksum mismatch: 7caac4f71e2f21426c11ac153e538392 != 370be99c5cdc2e756c82c44d774933c8
Re-Downloading...
Downloading http://museum.php.net/php5/php-5.3.14.tar.bz2 via php stream
===> Distribution file was successfully extracted, skipping...
Found existing Makefile, running make clean to ensure everything will be rebuilt.
You can append --no-clean option after the install command if you don't want to rebuild.
===> Running make clean: /usr/bin/make -C '/home/pmserver/.phpbrew/build/php-5.3.14' --quiet 'clean'
===> Checking patches...
Checking patch for replace apache php module name with custom version name
Found existing build.log, renaming it to /home/pmserver/.phpbrew/build/php-5.3.14/build.log.1551335251
===> Configuring 5.3.14...


Use tail command to see what's going on:
   $ tail -F /home/pmserver/.phpbrew/build/php-5.3.14/build.log


===> Checking patches...
Checking patch for php5.3.29 multi-sapi patch.
Checking patch for php5.3.x on 64bit machine when intl is enabled.
3 changes patched.
Checking patch for openssl dso linking patch
===> Building...
Error: Make failed:
The last 5 lines in the log file:
/usr/include/openssl/rand.h:44:1: note: declared here

 DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num))

 ^

Makefile:480: recipe for target 'ext/openssl/openssl.lo' failed

make: *** [ext/openssl/openssl.lo] Error 1

Please checkout the build log file for more details:
tail /home/pmserver/.phpbrew/build/php-5.3.14/build.log
В сети пишут, что это из-за openssl и libssl-dev, в системе они 1.1, а для сборки php ниже 5.6 нужны 1.0. Я пытался осуществить даунгред в т.ч. sudo apt-get install openssl=1.0.2*/
sudo apt-get install libssl-dev=1.0.2*/
пытался поставить из deb, скачал пакеты libssl-dev_1.0.2l-1~fwp9+2_amd64.deb и openssl_1.0.2l-1~fwp9+2_amd64.deb, но вываливается такое: sudo dpkg -i libssl-dev_1.0.2l-1~fwp9+2_amd64.deb
dpkg: предупреждение: снижение версии libssl-dev:amd64 с 1.1.1a-2+ubuntu18.04.1+deb.sury.org+1 до 1.0.2l-1~fwp9+2
dpkg: относительно libssl-dev_1.0.2l-1~fwp9+2_amd64.deb, содержащего libssl-dev:amd64:
 libcurl4-openssl-dev:amd64 конфликтует с libssl-dev (<< 1.1)
  пакет libssl-dev:amd64 версии 1.0.2l-1~fwp9+2 будет установлен.

dpkg: ошибка при обработке архива libssl-dev_1.0.2l-1~fwp9+2_amd64.deb (--install):
 конфликт пакетов — libssl-dev:amd64 не будет установлен
При обработке следующих пакетов произошли ошибки:
 libssl-dev_1.0.2l-1~fwp9+2_amd64.deb

Существует и радикальное решение задачи, перейти на облачный сервис, где имеется требуемый функционал и цена приемлемая, но это связано с переносом всей базы в облако в другое ПО, в общем директор на это не решается. Вариант запуска w2p c нашим модулем на 18.04 сервере пока насущная задача.

Можно попробовать переписать синтаксис модуля, чтоб работал на php5.6 (на php7.0 и выше наитивный w2p уже не пашет), но пока хочется просто запустить 18.04 сервер и php5.3, а для этого нужно сделать даунгред openssl до 1.0.

Вопрос: как это сделать, а именно на 18.04 сервере понизить версию openssl c 1.1 до 1.0. Есть простое решение?
 

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27665
    • Просмотр профиля
Ставьте 5,6 и не компостируйте мозг.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4485
    • Просмотр профиля
Цитировать
хочется просто запустить 18.04 сервер и php5.3, а для этого нужно сделать даунгред openssl до 1.0.
Чисто теоретически, самое место для snap или flatpack. Но, во что это выльется практически, не берусь предположить.

 

Страница сгенерирована за 0.079 секунд. Запросов: 25.