人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Apacheで、RewriteEngineを使いたいのですが、モジュールが入っていません。
途中から、mod_rewriteを入れる方法はあるでしょうか?

●質問者: minase_n
●カテゴリ:コンピュータ
✍キーワード:Apache mod_rewrite モジュール
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● jouno
●35ポイント

http://www.atmarkit.co.jp/flinux/rensai/apache2_04/apache04b.htm...

@IT:mod_deflateによるコンテンツの圧縮転送(2/3)

apacheを再コンパイルせずに追加ということであれば、1.3以降ではDSO対応がされているので、リンク先の手続きで可能です。ここではmod_deflateですが、httpd.confの設定の手前までは基本的に同じです。

http://httpd.apache.org/docs/2.0/ja/dso.html

???????????????? (DSO) ??????? - Apache HTTP ??????

詳細はこちら。

◎質問者からの返答

回答ありがとうございます。

できるだけ再コンパイルせずに追加したいのです。

URLありがとうございます。とても参考になりました。

が、mod_rewrite.cをビルドしようとすると、

>>

mod_rewrite.c:93 から include されたファイル中:

mod_rewrite.h:133:18: ndbm.h: そのようなファイルやディレクトリはありません

>>

のようなエラーが出て、failedしてしまうようです……


2 ● @~/かける/にょも
●15ポイント

http://www.tim.hi-ho.ne.jp/eta2/tips/apache.htm

C'sGallery apache2

mod_rewriteをソースからコンパイルする必要があるのですが、こちらのサイトが詳しいです。


もっと単純な方法だと現在使っているapacheと同じバージョンのソースコードを用意して展開します。

展開したディレクトリにmodules/mappersというディレクトリがあるのでそこへ移動

apxs -c mod_rewrite.c

apxs -i -a -n rewrite mod_rewrite.la(こちらは管理者ユーザでないとエラーがでます)

を実行します。


ServerRoot以下のmodulesにmod_rewrite.soがあるのを確認し

httpd.confにLoadModule rewrite_module modules/mod_rewrite.so

が追記されているのを確認したら利用できるようになっているはずです

◎質問者からの返答

回答ありがとうございます。

mod_rewrite.cをビルドしようとすると、ヘッダーがない旨のエラーが出て、ビルドできないんですよね…何か回避策はないものでしょうか。


3 ● jouno
●0ポイント

http://mm.apache.or.jp/pipermail/newbie/2001-November/001531.htm...

[Newbie 1538] Re: mod_rewrite?Υ?? ◎質問者からの返答

回答ありがとうございます。

これも試してみたのですが、rpmパッケージ自体のインストールは問題なく終えられましたが、mod_rewrite.cのビルドは、同じエラーにより通らないようです。


4 ● @~/かける/にょも
●35ポイント

http://dev.sleepycat.com/downloads/releasehistorybdb.html

Sleepycat Software Developer Zone: Downloads: Berkeley DB Release History

apacheのソースディレクトリ中のsrc/modules/standard以下で

apxs -c mod_rewrite.c

apxs -i -a -n rewrite mod_rewrite.so(こちらは管理者ユーザでないとエラーがでます)

を実行します。


apacheのディレクトリのlibexec以下にmod_rewrite.soがあるのを確認し

httpd.confにLoadModule rewrite_module libexec/mod_rewrite.so

が追記されているのを確認したら利用できるようになっているはずです

(無ければ追記してください。LoadModuleのサンプルが書いてあるあたりが良いでしょう)


ndbm.hというファイルが無いというエラーがでたならリンク先からdb.1.86.tar.gzをダウンロードし展開するとdb.1.86というディレクトリができるのでその中のPORT/include/ndbm.hを/usr/includeあたりにコピーしてから試行してみてください

(最初の回答はapache2の物でしたのでディレクトリ位置などが違います)

◎質問者からの返答

解凍ありがとうございます。

無事、mod_rewrite.soができました。

httpd.conf等を書き換えて、Apacheを起動すると、

Cannot load /usr/local/apache/libexec/mod_rewrite.so into server: /usr/local/apache/libexec/mod_rewrite.so: undefined symbol: dbm_fetch

のようなエラーが出て、起動できないのですが、何かまだ足りないものがあるのでしょうか……


5 ● cyanora
●35ポイント

http://www.nagoyan.net/tips/linux/044.html

追加すべきパッケージはgdbm-develです。

db1には確か大きなセキュリティホールになりうるバグが存在しているはず(ちょっと昔の記憶なので確かでは無いかもしれません)

なので、他で使っていなければ消された方が良いとおもいます。

あとはこちらのサイトの手順通りです

◎質問者からの返答

回答ありがとうございます。

無事いけました!

ありがとうございました、とても助かりました。

>セキュリティホール

なるほど……消して置くようにいたします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ