5. メンテナンス・トラブルシュート - SSL - openssl か openssl-devel か - 当面の運用(2018年7月)

 
5.1 概要
5.2 苦し紛れ

5.1 概要

 2018年7月24日現在、openssl-devel をチョイスしているものの。  悩ましい問題がありまして・・・。  インストールしているプログラムで openssl-devel に依存するものと openssl に依存するものとがありまして・・・。  apache24 の pkg_tree を見ますと

> pkg_tree -v apache24
apache24-2.4.34
|\__ libnghttp2-1.32.0
|\__ libxml2-2.9.7
|\__ expat-2.2.5
|\__ openssl-1.0.2o_4,1	←	これ
|\__ perl5-5.26.2
|\__ pcre-8.42
|      \__ readline-7.0.3_1
|            \__ indexinfo-0.3.1
 \__ apr-1.6.3.1.6.1_1
      |\__ expat-2.2.5
      |\__ gdbm-1.13_1
      |     |\__ indexinfo-0.3.1
      |     |\__ readline-7.0.3_1
      |     |      \__ indexinfo-0.3.1
      |      \__ gettext-runtime-0.19.8.1_1
      |            \__ indexinfo-0.3.1
       \__ db5-5.3.28_6
 openssl-1.0.2o_4,1 は openssl-devel のものですな。  かといって、mod_ssl を ldd で見ますと

> ldd /usr/local/libexec/apache24/mod_ssl.so
/usr/local/libexec/apache24/mod_ssl.so:
        libssl.so.9 => not found (0)	←	これ
        libcrypto.so.9 => not found (0)
        libcrypt.so.5 => /lib/libcrypt.so.5 (0x801238000)
        libthr.so.3 => /lib/libthr.so.3 (0x801457000)
        libc.so.7 => /lib/libc.so.7 (0x800824000)
 となっておりまして、libssl.so.9、libcrypto.so.9 は openssl のものなのです。  この状態で apache24 の configtest を行うと

> service apache24 configtest
Performing sanity check on apache24 configuration:
httpd: Syntax error on line 144 of /usr/local/etc/apache24/httpd.conf: Cannot load libexec/apache24/mod_ssl.so into server: Shared object "libssl.so.9" not found, required by "mod_ssl.so"
 でなことになっちまうのです。

5.2 苦し紛れ

 苦し紛れで、安定するまで当面の運用として

cd /usr/ports/security/openssl
make
 しちゃいます。

===>  openssl-1.0.2o_4,1 conflicts with installed package(s):
      openssl-devel-1.1.0h_2

      They install files into the same place.
      You may want to stop build with Ctrl + C.
 てなメッセージが出ますが・・・我慢。  make が終わったらインストールせずに

cd /usr/ports/security/openssl/work/stage/usr/local/lib/
cp libssl.so.9 /usr/local/lib/.
cp libcrypto.so.9 /usr/local/lib/.
 これでとりあえず

> service apache24 configtest
Performing sanity check on apache24 configuration:
Syntax OK
 になりますので、当面はこれで凌ごうかと思います。