![]() |
LINUX |
OpenSSLのインストール 4 Xen
・各アプリケーションで独自のSSLを使う
・fedoraのパッケージをCentOS用にアレンジします
・CentOS 5を使い続ける場合は、無理して入れ替えない方が良いです
・fedoraのサポート期間が短いので、更新できなくなる時期がきます
・openssl-1.0.0d-1.fc14を使います
・certsファイルが別パッケージになっています
・make はメンテナンスマシンで行っています
・既存を使う場合は十分調査して下さい
・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します
・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :ca-certificates-2010.63-3.fc14.src.rpm | (ftp.riken.jp/Linux/fedora/releases/) |
| :openssl-1.0.0d-1.fc14.src.rpm | (ftp.riken.jp/Linux/fedora/updates/) |
| :perl-WWW-Curl-4.11-1.el5.1.i386.rpm | (ftp.riken.jp/Linux/fedora/epel/) |
参照ファイル
インストール環境| :OS | CentOS 5.6 |
| :selinux | disabled |
| :インストール先 | /usr/local |
| :作業 | /usr/src |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
・メンテナンスの場合は一般ユーザから行います
openssl-1.0.0d
opensslの関連するソースファイル・旧バージョン(0.9.8)のlibraryは上書きされます
・新バージョン(1.0.0)のlibraryを使うには、下記の再構築をして下さい
curl, httpd, php, mod_security, samba, tripwire, Net_SSLeay, etc.
ソースの展開・ビルド・md5チェックができないので、--nomd5オプションでインストールします
・libcrypto.a、libssl.a が devel から staticパッケージ に移されています
・全てのパッケージがi686で作成されます(CentOS6以降のデフォルト)
# cd /usr/src
[root@earth:/usr/src]
# mkdir openssl
# rpm -ivh --nomd5 openssl-1.0.0d-1.fc14.src.rpm
・パッチを当てます (下記参照)
・パッチファイルは/usr/src/ディレクトリに置きます
# patch -p0 < openssl-100-soversion.patch
# cd redhat/SPECS
[root@earth:/usr/src/redhat/SPECS]
# rpmbuild -ba --clean --rmsource --target i686 \
--define 'dist .C56' openssl.spec
# mv openssl.spec /usr/src/openssl
# cd /usr/src/redhat/RPMS/i686
[root@earth:/usr/src/redhat/RPMS/i686]
・作成されたパッケージ
oepnssl-1.0.0d-1.C56.i686.rpm
openssl-devel-1.0.0d-1.C56.i686.rpm
openssl-perl-1.0.0d-1.C56.i686.rpm
openssl-static-1.0.0d-1.C56.i686.rpm
# rm *debuginfo*
# mv *.rpm /usr/src/openssl
# cd ../../SRPMS
[root@earth:/usr/src/redhat/SRPMS]
・作成されたパッケージ
oepnssl-1.0.0d-1.C56.src.rpm
# mv *.rpm /usr/src/openssl
・patch52(aes-niのサポート)はgcc-4.4以上が必要なので無効にしています
・CentOS 5.6に合わせるためライブラリのバージョンを修正します
・CentOSに必要なlibssl.so.6はlibssl.so.1.0.0dへのリンクとして作られます
ca-certificates-2010.63-3
javaの調整・java-openjdkの代わりにjre-6u24を使います
・jre-6u24のインストールはclientを参照して下さい
・keytoolのリンクを作ります
# cd /usr/bin [root@earth:/usr/bin] # unlink keytool # ln -s /usr/lib/jre1.6.0_24/bin/keytool keytool
ソースの展開・ビルド・md5チェックができないので、--nomd5オプションでインストールします
# cd /usr/src [root@earth:/usr/src] # mkdir ca-certificates # rpm -ivh --nomd5 ca-certificates-2010.63-3.fc14.src.rpm # cd redhat/SPECS [root@earth:/usr/src/redhat/SPECS]
・specファイルを修正します (下記参照)
# vi ca-certificates.spec
# rpmbuild -ba --clean --rmsource ca-certificates.spec
# mv ca-certificates.spec /usr/src/ca-certificates
# cd ../RPMS/noarch
[root@earth:/usr/src/redhat/RPMS/noarch]
・作成されたパッケージ
ca-certificates-2010.63-3.noarch.rpm
# mv *.rpm /usr/src/ca-certificates
# cd ../../SRPMS
[root@earth:/usr/src/redhat/SRPMS]
・作成されたパッケージ
ca-certificates-2010.63-3.src.rpm
# mv *.rpm /usr/src/ca-certificates
# cd ../BUILD
[root@earth:/usr/src/redhat/BUILD]
# rm -rf ca-certificates
:ca-certificates.spec
・省略
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: perl, python, rcs
BuildArch: noarch
・省略
インストール・certsファイルが別パッケージになっています
・旧バージョンとコンフリクトするので、--force オプションを付けます
・CA.plやtsgetを使用しないのならopenssl-perlは必須ではありません
・tsgetスクリプトにはperl-WWW-Curlパッケージが必要です
# cd /usr/src [root@earth:/usr/src] # rpm -Uvh perl-WWW-Curl-4.11-1.el5.1.i386.rpm # cd /usr/src/ca-certificates [root@earth:/usr/src/ca-certificates] # rpm -Uvh --force ca-certificates-2010.63-3.noarch.rpm # cd /usr/src/openssl [root@earth:/usr/src/openssl] # rpm -Uvh openssl-devel* openssl-perl* openssl-static* \ openssl-1.0.0d-1.C56.i686.rpm
キャッシュ情報とファイルの確認
# cd ~
[root@earth:~]
# ldconfig -p | grep libssl
# ldconfig -p | grep libcrypto
・ファイルの確認
# cd /usr/lib
[root@earth:/usr/lib]
# ls -al | grep libssl
# ls -al | grep libcrypto
openssl-0.9.8eの依存関係・rpmに --test オプションを付けて削除を実行してみます
・表示は、インストールされているrpmパッケージのみです
# cd ~
[root@earth:~]
# rpm -e --test openssl
libcrypto.so.6 is needed by (installed) cyrus-sasl-2.1.22-5.el5_4.3.i386 sendmail-8.13.8-8.el5.i386 pam_ccreds-3-5.i386 stunnel-4.15-2.el5.1.i386 wget-1.11.4-2.el5_4.1.i386 tcpdump-3.9.4-15.el5.i386 trousers-0.3.1-4.el5.i386 ecryptfs-utils-75-5.el5.i386 fipscheck-1.2.0-1.el5.i386 nmap-4.11-1.1.i386 net-snmp-libs-5.3.2.2-9.el5_5.1.i386 net-snmp-5.3.2.2-9.el5_5.1.i386 net-snmp-utils-5.3.2.2-9.el5_5.1.i386 gnupg-1.4.5-14.el5_5.1.i386 ipsec-tools-0.6.5-14.el5_5.5.i386 iscsi-initiator-utils-6.2.0.872-6.el5.i386 python-libs-2.4.3-43.el5.i386 openldap-2.3.43-12.el5_6.7.i386 bind-libs-9.3.6-16.P1.el5.i386 curl-7.15.5-9.el5_6.2.i386 m2crypto-0.16-7.el5.i386 bind-utils-9.3.6-16.P1.el5.i386 libssl.so.6 is needed by (installed) sendmail-8.13.8-8.el5.i386 stunnel-4.15-2.el5.1.i386 wget-1.11.4-2.el5_4.1.i386 nmap-4.11-1.1.i386 gnupg-1.4.5-14.el5_5.1.i386 python-libs-2.4.3-43.el5.i386 openldap-2.3.43-12.el5_6.7.i386 curl-7.15.5-9.el5_6.2.i386 m2crypto-0.16-7.el5.i386 quota-3.13-4.el5.i386 openssl is needed by (installed) libpcap-0.9.4-15.el5.i386 sendmail-8.13.8-8.el5.i386 openssl-devel-0.9.8e-12.el5_5.7.i386 openssl-perl-0.9.8e-12.el5_5.7.i386 curl-7.15.5-9.el5_6.2.i386
![]() |
Copyright(c) 528p.com All Rights Reserved. |

