Установка OpenSSL в Debian/Ubuntu Linux
В некоторых случаях необходимо установить специальную версию OpenSSL без использования пакетного менеджера.
Если после обновления репозиториев и пакетов, входящих в состав репозитория
apt update && apt upgrade
версия OpenSSL не соответствует ожидаемой,
openssl version
то можно установить из исходников.
Подготовка
Установка необходимых пакетов для сборки:
apt install -y build-essential checkinstall zlib1g-dev
Загрузка OpenSSL исходных кодов
Можно скачать с официального сайта OpenSSL необходимую версию в папку /usr/local/src/
и распаковать:
cd /usr/local/src wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz tar zxvf openssl-1.1.1l.tar.gz cd openssl-1.1.1l
Сборка OpenSSL из исходных кодов
Сконфигурируем OpenSSL так, чтобы можно было легко подключить или отключить в дальнейшем и установим все в папку /usr/local/src
:
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
Компиляция, тестирование и установка:
make make test make install
На этапе тестирования отобразятся все поддерживаемые варианты шифрования.
Подключение общих библиотек OpenSSL
Для подключения общих библиотек необходимо создать файл конфигурации в /etc/ld.so.conf.d/
, указав внутри путь и выполнить перезагрузку:
echo '/usr/local/ssl/lib' > /etc/ld.so.conf.d/openssl-1.1.1l.conf ldconfig -v
Замена бинарных исполняемых файлов OpenSSL
Для корректной работы новых библиотек, нужно добавить путь к исполняемым файлам OpenSSL /usr/local/ssl/bin
в переменную PATH
окружения
vi /etc/environment
например такPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
и переименовать предыдущие файлы:
mv /usr/bin/c_rehash /usr/bin/c_rehash.b mv /usr/bin/openssl /usr/bin/openssl.b
source /etc/environment echo $PATH which openssl openssl version
curl -v https://ya.ru/