.
7 сентября 2016

История добавления PHP расширения SOAP на FreeBSD 9.0

posted in NIX, Администрирование |

Всем привет!
Собственно, когда меня касаются задачи по администрированию фришки (да и линуха тоже — чего греха таить) на меня нападает печаль :)
Не являясь гуру в этих областях у меня ещё не разу не проходило всё гладко, с первой попытки. ВСЕГДА какие то проблемы вылезают...
А тут друг сидит на виртуалке с FreeBSD 9.0 на PHP 5.4 (повышать версию нельзя из за специфики проекта — пока не готов он к переезду) и нужно всего то навсего добавить soap модуль в PHP.
Вроде всё просто ... но см.выше — просто у меня не бывает
Итак, иду в порты, думаю быстренько сконфигурирую пых (который уже в даунгрейде в портах лежал т.к. 5.4 уже в портах в наличии не было).
make config и первое западло — куча ошибок, предупреждений — элементарное базовое make не работает ни для одного из портов!

make

Подумал трабла в портах — убиваю старые порты (вместе с пхп версией 5.4), ставлю новые

portsnap fetch
portsnap extract
portsnap fetch
portsnap update

хрен! не помогает!
Создаю хелп-ветку в главном русскоязычном FreeBSD форуме, где меня уже неоднократно выручали,
и сразу же получаю дельный совет

Надо идти в архив FreeBSD и искать нужный пакет
http://ftp-archive.freebsd.org/pub/Free ... -releases/

Нахожу нужный пакет
ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/9.2-RELEASE/packages/All/php5-soap-5.4.17.tbz

Для установки которого требуется собрать из портов pkg — управление портами, а у меня make не работает!
Гуглю ошибку — нахожу на этом же форуме хорошую, но печальную ветку обновление портов после 5 мая 2014,
информирующую меня о том, что нужно поднять 9.0 как минимум до 9.3 (которая пока поддерживается)

Пробую
freebsd-update upgrade -r 9.3-RELEASE
которая информирует меня о том, что 9.0 уже не поддерживается, и обновляться почему-то не хочет!

WARNING: FreeBSD 9.0-RELEASE-p4 HAS PASSED ITS END-OF-LIFE DATE.
Any security issues discovered after Mon Apr 1 06:00:00 YEKT 2013
will not have been corrected.

Читаю много жестокой инфы, одна из них http://sysadmins.ru/topic419638.html — ещё более груснею :)
Но, приходит мысль сначала обновиться до 9.1 потом дальше — и ура, срабатывает!

freebsd-update upgrade -r 9.1-RELEASE
freebsd-update install
shutdown -r now
freebsd-update install

потом уже на 9.3
freebsd-update upgrade -r 9.3-RELEASE
freebsd-update install

тут ошибка вылезла
install: ///usr/src/contrib/bind9/libtool.m4 exists but is not a directory
тупо нужно было создать эту папку!

freebsd-update install
shutdown -r now
freebsd-update install

uname -a подтвержает успешность перехода
Пересобираю порты на всякий случай после обновления.
portsnap fetch update

Далее ставлю пакет (pkg_add уже в системе)
pkg_add php5-soap-5.4.17.tbz
со слепу не тот пакет ставлю, мне нужен 5.4.7

нахожу нужный http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/9.1-RELEASE/packages/All/php5-soap-5.4.7.tbz
убираю неправильный, ставлю правильный
pkg_delete php5-soap-5.4.17
pkg_add php5-soap-5.4.7.tbz

требуется libiconv-1.14.tbz
нахожу

http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/9.1-RELEASE/packages/All/libiconv-1.14.tbz

убираю старую
pkg_delete libiconv-1.13.1_1
ставлю новую
pkg_add libiconv-1.14.tbz

ВСЁ! — проверяю расширения в конфиг файле php — есть!
service restart php-frm и ура! скрипт работает

ВНИМАНИЕ!
1. В результате обновлений система запорола конфиг файл sshd — из за чего ssh демон не стартанул после ребута, ОБЯЗАТЕЛЬНО проверяем его перед ребутом! (благо у меня виртуалка с консолью)
2. симлинк на папку с конфигом named тоже слетел, пришлось создать заново

уфф, вот такая история :)

P.S.
Если есть желание установить Ubuntu без граблей — настоятельно рекомендую ознакомиться с материалом статьи Установка Ubuntu.
В статье всё расписано доступно — пошагово, с картинками и грамотными комментариями.

Яндекс.Метрика