apache1.3系へmod_rewriteをインストール
とあるサイトのリリースにあたり
開発環境から本番環境へファイルを適用する上で
本番環境にmod_rewriteモジュールが入っていないことに気付いた
httpd.confでRewriteRuleを設定している手前、コレが無いとマズい
むしろエラーが出ました
そんなワケで
解らないコトだらけのままインストールをしてみる
まず mod_so の確認
# /usr/local/apache/bin/httpd -l
実行結果
Compiled-in modules:
http_core.c
mod_env.c
…
mod_so.c // これがあればOK
rewrite_moduleのソースファイルを検索
# find / -name "*mod_rewrite.c*"
実行結果
/usr/local/src/install/apache/src/apache_1.3.34/src/modules/standard/mod_rewrite.c
次、apxsを使用してコンパイルとインストールをします
# cd /usr/local/src/install/apache/src/apache_1.3.34/src/modules/standard
# /usr/local/apache/bin/apxs -ic mod_rewrite.c
実行結果
In file included from mod_rewrite.c:50:
mod_rewrite.h:90:18: ndbm.h: No such file or directory
・
・
・
apxs:Break: Command failed with rc=1
エラーが出ちゃいました
「そんなファイルねーよ」ってコトなので
パスが通っていないっぽいです
オプション等を付加して再度実行
/usr/local/apache/bin/apxs -ic -I /usr/include/gdbm -l gdbm mod_rewrite.c
実行結果
gcc -shared -o mod_rewrite.so mod_rewrite.o -lgdbm
cp mod_rewrite.so /usr/local/apache/libexec/mod_rewrite.so
chmod 755 /usr/local/apache/libexec/mod_rewrite.so
今度はうまくいった模様
最後にhttpd.confに下の1行を追加して
LoadModule rewrite_module libexec/mod_rewrite.so
apacheを再起動
/usr/local/apache/bin/apachectl graceful
これでOK
自分はこの手順でできましたが
環境によって多少の差異はあるかと思います
突っ込み・ダメ出しは歓迎です
まぁこんなん誰も読まんわな