○ OpenSSLのインストール 4 Router

・各アプリケーションで独自のSSLを使います
・openssl-1.0.0gをオリジナルソースから構築します
・既存を残したまま、別のディレクトリにインストールします
・make はメンテナンスマシンで行っています

・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:openssl-1.0.0g.tar.gz (http://www.openssl.org/)

○参照ファイル

パッケージの追加
最初の設定 (Router)

○インストール環境

:OS CentOS 6.2
:selinux permissive
:インストール先  /usr/local
:作業 ~/src
:言語 LANG=en_US.UTF-8
:ユーザー rootで実行

・メンテナンスの場合は一般ユーザから行います



○openssl-1.0.0g

○opensslの関連するソースファイル

・旧バージョン(0.9.8)のlibraryが残されます
・新バージョン(1.0.0)のlibraryを使うには、下記の再構築をして下さい

openssh, proftpd, vsftpd, ntp, bind, mysql, postfix, dovecot, bincimap, imap,
httpd, php, mod_security, samba, tripwire, Net_SSLeay, etc.

○既存のheaderファイルの削除

[root@venus:~]
# rpm -e openssl-devel openssl-perl
# ldconfig

○ソースの展開・インストール

・no-idea no-mdc2 no-rc5 (ライセンス問題あり opensslーFAQ)

# cd ~/src
[root@venus:~/src]
# tar zxvf openssl-1.0.0g.tar.gz
# cd openssl-1.0.0g
[root@venus:~/src/openssl-1.0.0g]
# make dclean

# ./config --prefix=/usr/local \
zlib enable-camellia enable-seed enable-tlsext \
enable-rfc3779 enable-cms enable-md2 no-idea \
no-mdc2 no-rc5 no-ec no-ecdh no-ecdsa shared

# vi Makefile

・Makefileの修正 (各自のCPUに合わせて下さい)
 CFLAG= ・・・-DHAVE_DLFCN_H -march=i686 -mtune=atom -Wa,--noexecstack・・・

# make depend
# make && make test
# make install
# cd ..
[root@venus:~/src]
# tar jcvf openssl-1.0.0g-120120.tar.bz2 openssl-1.0.0g/

○openssl(rpm)コマンドのリネーム・headerファイルのリンク

# cd ~
[root@venus:~]
# mv /usr/bin/openssl /usr/bin/openssl-ORG
# ln -s /usr/local/include/openssl /usr/include/openssl

○キャッシュ情報とファイルの確認

・/usr/local/libの設定がされているなら、ldconfigのみ実行します

[root@venus:~]
# echo /usr/local/lib >> /etc/ld.so.conf.d/usrlocal.conf
# ldconfig
# ldconfig -p | grep -e libssl -e libcrypto

・ファイルの確認

# cd /usr/local/lib
[root@venus:/usr/local/lib]
# ls -al | grep -e libssl -e libcrypto

○ライブラリの動的リンクの確認

・例 ssh

# cd ~
[root@venus:~]
# ldd /usr/local/bin/ssh

○selinuxへの対応 (selinuxが有効の場合)

:新規インストールファイルのselinuxラベルを修正

# cd ~
[root@venus:~]
# restorecon -Rv /usr/local



○openssl-1.0.0の依存関係

・rpmに --test オプションを付けて削除を実行してみます
・表示は、インストールされているrpmパッケージのみです

[root@venus:~]
# rpm -e --test openssl

libcrypto.so.10 is needed by (installed)

 tcpdump-14:4.0.0-3.20090921gitdf3cb4.1.el6.i686
 wget-1.12-1.4.el6.i686
 trousers-0.3.4-4.el6.i686
 m2crypto-0.20.2-7.el6.i686
 sendmail-8.14.4-8.el6.i686
 ecryptfs-utils-82-6.el6_1.3.i686
 nmap-2:5.21-4.el6.i686
 libssh2-1.2.2-7.el6_1.1.i686
 python-2.6.6-29.el6.i686
 fipscheck-1.2.0-7.el6.i686
 cyrus-sasl-2.1.23-13.el6.i686
 net-snmp-libs-1:5.5-37.el6_2.1.i686
 net-snmp-utils-1:5.5-37.el6_2.1.i686
 net-snmp-1:5.5-37.el6_2.1.i686

libssl.so.10 is needed by (installed)
 wget-1.12-1.4.el6.i686
 trousers-0.3.4-4.el6.i686
 m2crypto-0.20.2-7.el6.i686
 sendmail-8.14.4-8.el6.i686
 nmap-2:5.21-4.el6.i686
 libssh2-1.2.2-7.el6_1.1.i686
 python-2.6.6-29.el6.i686

○ Copyright(c) 528p.com All Rights Reserved.