dポイントプレゼントキャンペーン実施中!

CentOS5.8でSNIを使おうと思っています。

そのためのOpenSSL1.0.1eはインストールできました

そのOpensslをApacheに適用させるために既存のApacheのリビルドをしたいと思っています
ですが、現在のApacheの設定をそのままにリビルドする方法はありますか?

現在1日はまってしまい、非常に困っています。

下記OpenSSLの更新作業
=====================================================
# wget http://www.openssl.org/source/openssl-1.0.1e.tar …
# tar zxvf openssl-1.0.1e.tar.gz
# cd openssl-1.0.1e
# ./config enable-tlsext -fPIC shared
# make
# make test
# make install

※デフォルト/usr/local/ssl/にインストールされるみたいです。

・まずはパスを認識させます
# echo /usr/local/ssl/lib > /etc/ld.so.conf.d/openssl.conf
# ldconfig


・既存のopensslの実行ファイルを今回インストールした物と変更します。
# cd /usr/bin
# mv openssl openssl.old
# ln -s /usr/local/ssl/bin/openssl

・シェアードライブラリが正しくリンクできているか確認
# ldd /usr/local/ssl/bin/openssl
linux-vdso.so.1 => (0x00007fff49bf2000)
libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0 (0x00002b5327442000)
libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0 (0x00002b53276a7000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003f36000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f35400000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f34c00000)

===================================================================================

宜しくお願い致します。

A 回答 (2件)

CentOSのsrc.rpmは、以下から取得できます。



 http://vault.centos.org/5.8/os/SRPMS/

specファイルの --enable-ssl のあたりを書き換えて、rpmbuild -bb すると良いかも?(自信なし)

設定は、現在の設定ファイルをバックアップしといて、rpmbuild したパッケージをインストールした後に戻せば良いでせう。

この回答への補足

回答いただき有難う御座います

早速下記の手順で作業を行いました。
========================================================
# wget http://vault.centos.org/5.8/os/SRPMS/httpd-2.2.3 …
# rpmbuild --rebuild httpd-2.2.3-63.el5.centos.src.rpm
警告: グループ mockbuild は存在しません - root を使用します
エラー: ビルド依存性の失敗:
xmlto >= 0.0.11 は httpd-2.2.3-63.x86_64 に必要とされています
expat-devel は httpd-2.2.3-63.x86_64 に必要とされています
apr-util-devel >= 1.2.0 は httpd-2.2.3-63.x86_64 に必要とされています
distcache-devel は httpd-2.2.3-63.x86_64 に必要とされています

・依存関係があるようなのでyumでインストール、ちゃんと指定のバージョン以上なのをチェックしながら
# yum install xmlto
# yum install expat-devel
# yum install apr-util-devel
# yum install distcache-devel

・気を取り直してリビルド
# rpmbuild --rebuild httpd-2.2.3-63.el5.centos.src.rpm
/usr/src/redhat/BUILD

・specファイルの修正
# rpm -ivh httpd-2.2.3-63.el5.centos.src.rpm
# vim /usr/src/redhat/SPECS/httpd.spec

425 --enable-ssl --with-ssl --enable-distcache \

425 --enable-ssl --with-ssl=/usr/local/ssl --enable-distcache \

・specファイルからビルド
# rpmbuild -ba /usr/src/redhat/SPECS/httpd.spec

========================================================

ここまで良い感じでRPMを作れたのですが、既存のhttpdと入れ替えるには
これからどうすればよいのでしょうか。。
設定ファイルはコピーを取ったのですが
# cp -R /etc/httpd /etc/httpd.bak

補足日時:2013/07/16 11:53
    • good
    • 0
この回答へのお礼

大変申し訳ありません、Apacheを再インストールせずともできました。

恐らく、

OpenSSLを既存のものとは別のディレクトリにインストールして
下記の作業をした時点でできていたようです。
ブラウザの証明書のキャッシュか何かで、勘違いしていた模様です。

=============================================================================
・既存のopensslの実行ファイルを今回インストールした物と変更します。
# cd /usr/bin
# mv openssl openssl.old
# ln -s /usr/local/ssl/bin/openssl

・シェアードライブラリが正しくリンクできているか確認
# ldd /usr/local/ssl/bin/openssl
linux-vdso.so.1 => (0x00007fff49bf2000)
libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0 (0x00002b5327442000)
libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0 (0x00002b53276a7000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003f36000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003f35400000)
/lib64/ld-linux-x86-64.so.2 (0x0000003f34c00000)
=============================================================================


ご迷惑をお掛けしました、有難う御座います。

お礼日時:2013/07/16 14:03

わざわざコンパイルしなくとも mod_ssl をインストールすれば良いと思います。



ちなみにリビルドするにはソースのRPM(SRPM)ファイルを取得して行えばよいです。

# yum install yum-utils
$ yumdownloader --source apache

この回答への補足

mod_sslはインストール済です、再度入れ直せばいけますか?

yumdownloaderコマンド使ってみましたが、ソースが見つからなかったようです。。
==================================================================
$ yumdownloader --source httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* epel: ftp.iij.ad.jp
* extras: www.ftp.ne.jp
* rpmforge: ftp.riken.jp
* updates: www.ftp.ne.jp
Excluding Packages in global exclude list
Finished
Enabling epel-source repository
Excluding Packages in global exclude list
Finished
No source RPM found for httpd-2.2.3-74.el5.centos.x86_64
==================================================================

httpdのconfiguer時に「--enable-ssl --with-ssl=/usr/local/ssl」をつけてコンパイルしたいです
しかも、現在のVirtualHostの設定などそのままで。。というのが希望です。

その他、もっと簡単で安全な方法があればご教授お願い致します。。

補足日時:2013/07/12 18:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!