お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

ハワイ島 情報・観光ガイド

ブログ(Blog)

その他

関連サイト

: 日付別 アーカイブ :

2007年6月 7日

2007年6月 7日

Apacheを 2.0 から 2.2 へアップデートすると SSLが無効になるトラブル

既に、Apache 2.0 で 走っているサイトを 、Apache 2.2 にバージョンアップしてみた。 その時のトラブルと、その解決方法について。

以前のブログでもふれたとおり、通常Apacheを起動するためには、
# /usr/local/apache2/bin/apachectl start
のようなコマンドで起動することになる。 一方、今回バージョンアップしたこのサイトには、 https: つまり SSL でアクセスするページが含まれていた。 Apache 2.0 では、SSLを有効とするために、 「start」オプションではなく、
# /usr/local/apache2/bin/apachectl startssl
のような「startssl」オプションを指定する必要があった。

ところが、Apache 2.2 からは、この「startssl」というオプションが廃止され、 SSLを起動する場合でも「start」オプションでよくなった。 これについては、マニュアルの 「Upgrading to 2.2 from 2.0」に
The apachectl option startssl is no longer available. To enable SSL support, you should edit httpd.conf to include the relevant mod_ssl directives and then use apachectl start to start the server. An example configuration to activate mod_ssl has been included in conf/extra/httpd-ssl.conf.
と記述されている。

Apacheを 2.0 から 2.2 にアップグレードした後、 従来の httpd.conf と ssl.conf のままに 「apachectl start」として起動してみた。 ちなみに、httpd.conf から ssl.conf をインクルードする設定にしてあり 今まで問題なく起動してきているモノだ。 その結果、通常のページ、 つまり、ポート80 の「http://」のページには 問題なくアクセスできるのだが、 SSLページ、つまり、ポート443 の「https://」のページには アクセスできないトラブルにハマッてしまった。 いろいろ 試してみた結果、ssl.conf は キチンとインクルードされていることは確認できた。

その後も いろいろ調査した結果、 結局この問題の解決策として、ssl.conf の中に記述されている <IfDefine SSL> と <IfDefine> を コメントにすることによって、 従来どおりにSSLのページが動作するようになった。

推測であるが、Apache 2.0 の apachectl は 「startssl」オプションで起動すると、 おそらく、SSLという変数を定義してから、 httpd.conf (ssl.conf) を読み込んでいた、と考えられる。 ところが、Apache 2.2 になって それがなくなったために <IfDefine SSL> 〜 <IfDefine> の内部が解釈されなくなったようだ。

それから、今回のようなケースでは、 /usr/local/etc/rc.d/apache2.sh 等の Apacheの自動起動スクリプトの記述にある、 「apachectl startssl」を 「apachectl start」 に書き換えるのもお忘れなく!

【参考リンク】

カテゴリー: Apache     22:20 | コメント (0) | トラックバック (0)

 
ハワイ島での遊覧飛行ツアーとB&Bのスペシャリスト、スカイメリカ
Copyright © 2003,2009 Skymerica Corp. All rights reserved.