○ OpenSSLのインストール 4 Xen

*各アプリケーションで独自のSSLを使う
*fedoraのパッケージをCentOS用にアレンジします
*CentOS 5を使い続ける場合は、無理して入れ替えない方が良いです
*fedoraのサポート期間が短いので、更新できなくなる時期がきます
*openssl-0.9.8n-2.fc11を使います
*certsファイルが別パッケージになっています
*ソースファイルをopenssl-0.9.8oに入れ替えます
*make はメンテナンスマシンで行っています

**以降はコメントです
*既存を使う場合は十分調査して下さい
*ソースの取得、削除は省略します
*エディタ、ファイラーの操作は省略します
*ソースを展開したら説明文 (英文) を読みましょう
*Enterキーを省略します

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

○関連サイト

:ca-certificates-2008-8.src.rpm  (http://ftp.riken.jp/Linux/fedora/)
:openssl-0.9.8n-2.fc11.src.rpm (http://ftp.riken.jp/Linux/fedora/updates/)
:openssl-0.9.8o.tar.gz (http://www.openssl.org/)

○参照ファイル

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

○インストール環境

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

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



○openssl-0.9.8o

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

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

○ソースの展開・ビルド

*md5チェックができないので、--nomd5オプションでインストールします
*libcrypto.a、libssl.a が devel から staticパッケージ に移されています

# cd /usr/src
# mkdir openssl
# rpm -ivh --nomd5 openssl-0.9.8n-1.fc11.src.rpm
# rm redhat/SPECS/openssl-0.9.8n-usa.tar.bz2
# cp openssl-0.9.8o.tar.gz /usr/src/redhat/SPECS

*パッチを当てます (下記参照)
*パッチファイルは/usr/src/ディレクトリに置きます

# patch -p0 < openssl-soversion.patch
# cd redhat/SPECS
# rpmbuild -bb --target i686 --define 'dist .C55' openssl.spec
# rpmbuild -ba --clean --rmsource --define 'dist .C55' openssl.spec
# mv openssl.spec /usr/src/openssl
# cd /usr/src/redhat/RPMS/i686

*作成されたパッケージ
 openssl-0.9.8o-2.C55.i686.rpm

# rm *debuginfo*
# mv *.rpm /usr/src/openssl
# cd ../i386

*作成されたパッケージ
 oepnssl-0.9.8o-2.C55.i386.rpm
 openssl-devel-0.9.8o-2.C55.i386.rpm
 openssl-perl-0.9.8o-2.C55.i386.rpm
 openssl-static-0.9.8o-2.C55.i386.rpm

# rm *debuginfo*
# mv *.rpm /usr/src/openssl
# cd ../../SRPMS

*作成されたパッケージ
 oepnssl-0.9.8o-2.C55.src.rpm

# mv *.rpm /usr/src/openssl

openssl-soversion.patch

*patch60は0.9.8oで修正されているので無効にします
*CentOS 5.5に合わせるためライブラリのバージョンを修正します
*CentOSに必要なlibssl.so.6はlibssl.so.0.9.8oへのリンクとして作られます



○ca-certificates-2008-8

○javaの調整

*java-openjdkの代わりにjre-6u20を使います
*jre-6u20のインストールはclientを参照して下さい
*keytoolのリンクを作ります

# cd /usr/bin
# unlink keytool
# ln -s /usr/lib/jre1.6.0_20/bin/keytool keytool

○ソースの展開・ビルド

*md5チェックができないので、--nomd5オプションでインストールします

# cd /usr/src
# mkdir ca-certificates
# rpm -ivh --nomd5 ca-certificates-2008-8.src.rpm
# cd 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

*作成されたパッケージ
 ca-certificates-2008-8.noarch.rpm

# mv *.rpm /usr/src/ca-certificates
# cd ../../SRPMS

*作成されたパッケージ
 ca-certificates-2008-8.src.rpm

# mv *.rpm /usr/src/ca-certificates
# cd ../BUILD
# rm -rf ca-certificates

:ca-certificates.spec

*省略

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: perl
BuildArch: noarch

*省略




○インストール

*certsファイルが別パッケージになっています
*旧バージョンとコンフリクトするので、--force オプションを付けます

# cd /usr/src/ca-certificates
# rpm -Uvh --force ca-certificates-2008-8.noarch.rpm
# cd /usr/src/openssl
# rpm -Uvh openssl-devel* openssl-perl* openssl-static* \
openssl-0.9.8o-2.C55.i686.rpm

○キャッシュ情報の確認

# ldconfig -p | grep ssl
# ldconfig -p | grep crypto

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