Пересборка GD c поддержкой WebP и Freetype для php 7.4 на Debian и Ubuntu
Пересборка openssl модуля php 5.4 на Ubuntu 18.04¶
Подготовительные работы перед сборкой¶
Логинимся под рута, чтобы не вбивать перед каждой командой sudo
sudo -i
apt update
apt install wget php build-essential libcurl4-openssl-dev libmcrypt-dev libssl-dev autoconf
Установка кастомной версии openssl в отдельный каталог¶
Получаем исходники openssl 1.0.2¶
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
tar -xzvf openssl-1.0.2o.tar.gz
pushd openssl-1.0.2o
Собираем openssl 1.0.2 в /opt/openssl102¶
mkdir -p /opt/openssl102
./config -fPIC shared --prefix=/opt/openssl102 --openssldir=/opt/openssl102/openssl
make
make test
Устаналиваем openssl 1.0.2¶
Устанавливаем собранную нами версию openssl 1.0.2 в кастомный каталог /opt/openssl102
sudo make install
popd
Устанавливаем модуль openssl для php 5.4.45¶
Качаем исходники php 5.4¶
Качаем исходники нужной нам версии php 5.4.45
wget https://www.php.net/distributions/php-5.4.45.tar.gz
Распаковываем php 5.4¶
tar -vzxf php-5.4.45.tar.gz
Настраиваем нужный нам модуль перед сборкой¶
cd php-5.4.45/ext/openssl
cp config0.m4 config.m4
/opt/php54/bin/phpize
./configure --with-openssl=/opt/openssl102 --with-php-config=/opt/php54/bin/php-config
Собираем модуль openssl¶
make
make test
Устанавливаем модуль openssl¶
make install
Включаем собранный модуль openssl¶
echo "extension=openssl.so" > /opt/php54/etc/mods-available/openssl.ini
ln -s /opt/php54/etc/mods-available/openssl.ini /opt/php54/etc/php.d/openssl.ini
Проверяем, корректность установки собранного нами модуля openssl¶
/opt/php54/bin/php -m|grep -i openssl
Видим в выхлопе
openssl
Значит мы собрали модуль верно, а это значит, самое время устроить перерыв, и пойти пить кофе...