メモ綴りなり~ぃ ( = ̄+∇ ̄=)v キラッ

2009/07/22(水)19:40

mod_rewriteをインストール

Apache1.3系に、理由があって「rewrite」をインストールする。 1.モジュールチェック # ./httpd -l Compiled-in modules: http_core.c mod_env.c mod_log_config.c mod_mime.c mod_negotiation.c mod_status.c mod_include.c mod_autoindex.c mod_dir.c mod_cgi.c mod_asis.c mod_imap.c mod_actions.c mod_userdir.c mod_alias.c mod_access.c mod_auth.c mod_so.c mod_setenvif.c suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec へーぇ。mod_soはいっているんだぁ。 DSOでインストすんべぇ。 2.ソースコンパイルする ディレクトリを移動して、モジュールをコンパイルする。 ついでにインストール反映も。 /usr/local/apache/bin/apxs -i -c mod_rewrite.c あれっ?エラーだぁ。  : mod_rewrite.c:51 から include されたファイル中: mod_rewrite.h:91:18: ndbm.h: そのようなファイルやディレクトリはありません  : ndbm.hが無いのねぇ・・・ 3.Includeファイルを探して再コンパイル find / -name ndbm.h -print /usr/include/gdbm/ndbm.h /usr/share/man/man0p/ndbm.h.0p.gz ndbm.hみーっけ。 それでは再コンパイルだぁ!! で -a もつけてファイルインストール更新も!! /usr/local/apache/bin/apxs -i -c -a I /usr/include/gdbm mod_rewrite.c  : cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak cp /usr/local/apache/conf/httpd.conf.new /usr/local/apache/conf/httpd.conf rm /usr/local/apache/conf/httpd.conf.new  :   4.httpd.confのチェック ちょっと手抜きでチェック service httpd configtest Syntax error on line 27 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/libexec/mod_rewrite.so into server: /usr/local/apache/libexec/mod_rewrite.so: undefined symbol: dbm_fetch げぇ!!・・・シンタックスエラーだぁ。。。 宣言がされていない!? ライブラリーリンクか!? 5.コンパイル時にライブラリ取り込み /usr/local/apache/bin/apxs -i -c -a -I /usr/include/gdbm mod_rewrite.c -lgdbm ポイントは、最後の方の「-lgdbm」です。 もちろん個別にインストールされていない場合はちゃんと入れるべし。 gcc -DLINUX=22 -DHAVE_SET_DUMPABLE -DMOD_SSL=208123 -DUSE_HSREGEX -DEAPI -fpic -DSHARED_MODULE -I/usr/local/apache/include -I/usr/include/gdbm -c mod_rewrite.c gcc -shared -o mod_rewrite.so mod_rewrite.o -lgdbm [activating module `rewrite' in /usr/local/apache/conf/httpd.conf] cp mod_rewrite.so /usr/local/apache/libexec/mod_rewrite.so chmod 755 /usr/local/apache/libexec/mod_rewrite.so cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.bak cp /usr/local/apache/conf/httpd.conf.new /usr/local/apache/conf/httpd.conf rm /usr/local/apache/conf/httpd.conf.new # service httpd configtest Syntax OK 今度はうまく行ったみたい。 後は、httpd.confを再調整し、実際に動く所を確認するべし。

続きを読む

総合記事ランキング

もっと見る