apacheを普通にインストールしていたんだけど、SSL(https)を使う必要が出てきたのでDSOを利用して動的にmod_sslを組み込んでみた。apache2からmod_sslも同梱されてるし、後から入れるのもそんなに難しくないだろうと思っていたら超ハマったorz
Webで調べたやり方だとどうしてもエラーになって動かない。ちなみにエラーの内容をコピーするの忘れちゃった…必要なヘッダファイルが足りないときに良く出るエラーです。
で、試行錯誤の末、こんな感じで解決しました。
$ cd APACHE_SRC/modules/ssl/
$ /usr/local/apache2/bin/apxs -c -I /usr/local/ssl/include/openssl/ -I /usr/local/ssl/include/ -I ./ *.c
$ su
# /usr/local/apache2/bin/apxs -i -A mod_ssl.la
opensslのヘッダファイルを読み込む部分(-Iオプション)で、1つじゃなく2つ指定する必要があることに気付くまでかなり時間がかかった。というか、そりゃないよーという感じが若干するのだけど、気のせいだろうか。
あとモジュール作るとき/modules/ssl/以下の*.cファイルを全部含めないとダメみたい。最初mod_ssl.cだけ指定してもsoファイルが出来たのでapacheにSSLの設定を追加したんだけど、こんなエラーが出てきた。
Cannot load /usr/local/apache2/modules/mod_ssl.so into server: /usr/local/apache2/modules/mod_ssl.so: undefined symbol: ssl_cmd_SSLMutex
…なんて言うんですかね、こんなにハマるんなら素直にapache入れなおしたほうが全然早かったですねorz
まぁなんだかんだで無事に設定する事が出来たのでよしとしますか。
作成日:2009/11/26 02:36:37