以下、ソースからコンパイルしてインストールする場合の備忘録になります。
LibreSSL のアップグレード
./configure
make
sudo make install
sudo ldconfig
でインストールできます。
openssl version
LibreSSL 2.8.1
となるでしょう。
NGINX に LibreSSL を組み込んでアップグレード
ここでやったようなおまじないを libressl ソース側でしておく必要があります。
/usr/local/src/nginx-1.15.5
/usr/local/src/libressl-2.8.1
でそれぞれソースを展開していたと仮定します。
./configure
...
...
--with-openssl=../../libressl-2.8.1 \
--with-ld-opt="-lrt"
touch ../../libressl/libressl-2.8.1/.openssl/include/openssl/ssl.h
のように、--with-openssl で libressl のソース場所を指定します。
libressl はすでに make install までは完了しているものとします。
そして本当に組み込まれているかを
- /usr/local/src/nginx-1.15.5/objs/nginx -V
の出力結果にある、
built with LibreSSL 2.8.1
でもってチェックしてください。
あとは、置き換えるだけです。いろいろありますが、
/usr/local/nginx 以下に nginx があるように /etc/init.d/nginx 等を設定しているので、
/etc/nginx 等 nginx の設定群は念の為バックアップした上で、
sudo/etc/init.d/nginx stop
sudo rm /usr/local/nginx
sudo ln -s /usr/local/nginx-1.15.5 /usr/local/nginx
sudo /etc/init.d/nginx start
のような形で置き換えます。これなら、前のバージョンに戻すことも簡単です。
POSTFIX に LibreSSL を組み込んでアップグレード
ここにあるようなおまじないを posfix ソースにします。
これは OpenSSL が前提で、そのバージョンによって#ifdef している postfix ソースをごまかすためです。
make makefiles CCARGS="-DUSE_TLS -I/usr/local/include" AUXLIBS="-L/usr/local/lib -lssl -lcrypto -lz -ldl"
make
とした上で、
ldd src/postfix/postfix | grep ssl
libssl.so.46 => /usr/local/lib/libssl.so.46
のように、libressl 2.8.1 のライブラリが読み込まれていることを確認します。
これが libressl 2.8.1 かどうかは、そのソースにある
/usr/local/src/libressl-2.8.1/ssl/.libs/libssl.so.46
と同じかどうかで分かります。
/etc/postfix 等 postfix の設定群は念の為バックアップした上で
sudo make upgrade
sudo /etc/init.d/postfix restart
いつもと同じ感じですが、変わらないよっていう備忘録も残す価値はあるかなということで残しておきます。
2018年10月18日 @kimipooh