- 締切済み
CentOs5.8Apacheのリビルド
CentOS5.8でSNIを使おうと思っています。 そのためのOpenSSL1.0.1eはインストールできました そのOpensslをApacheに適用させるために既存のApacheのリビルドをしたいと思っています ですが、現在のApacheの設定をそのままにリビルドする方法はありますか? 現在1日はまってしまい、非常に困っています。 下記OpenSSLの更新作業 ===================================================== # wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz # 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) =================================================================================== 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- astronaut
- ベストアンサー率58% (303/516)
CentOSのsrc.rpmは、以下から取得できます。 http://vault.centos.org/5.8/os/SRPMS/ specファイルの --enable-ssl のあたりを書き換えて、rpmbuild -bb すると良いかも?(自信なし) 設定は、現在の設定ファイルをバックアップしといて、rpmbuild したパッケージをインストールした後に戻せば良いでせう。
わざわざコンパイルしなくとも 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の設定などそのままで。。というのが希望です。 その他、もっと簡単で安全な方法があればご教授お願い致します。。
お礼
大変申し訳ありません、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) ============================================================================= ご迷惑をお掛けしました、有難う御座います。
補足
回答いただき有難う御座います 早速下記の手順で作業を行いました。 ======================================================== # wget http://vault.centos.org/5.8/os/SRPMS/httpd-2.2.3-63.el5.centos.src.rpm # 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