Top過去ログ目次掲示板

作成日:2006年12月15日 作成:おやじ
掲示板で過去に質問された内容です。

No.6591 Apacheのモジュール追加


No.6591 投稿時間:2006年12月15日(Fri) 10:41 投稿者名:e-koba URL:
タイトル:Apacheのモジュール追加

RPMパッケージで稼働中のApacheにmod_rewriteモジュールを追加したいのですが、方法(もしくはお勧めのホームページ)を教えてください。自分が調べた範囲では、ソースからインストールされた場合の方法しか見つからなくて、困っています。


No.6595 投稿時間:2006年12月15日(Fri) 19:31 投稿者名:おやじ URL:
タイトル:1箇所コメントを外せば大丈夫なはずです。

> RPMパッケージで稼働中のApacheにmod_rewriteモジュールを追加したいのですが、方法(もしくはお勧めのホームページ)を教えてください。自分が調べた範囲では、ソースからインストールされた場合の方法しか見つからなくて、困っています。

デストリやApacheのバージョンが書いてないので正確には言えませんが、通常RPMから入れたものならどのデストリでもDSOでモジュールを組み込んでいるはずです。なので、どこにも書いていない?下記コマンド(SuSEならhttpd2)で、「mod_so.c」があれば間違いないです。

# httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

DSOで組み込んでいるなら、httpd.confに下記のようなLoadModuleディレクティブがたくさん並んでいるところがあるはずで、その中のrewrite_moduleのところ(xxxxxのところはデストリで異なる)がコメントアウトされているので、それを外してApacheをreloadすればおしまいです。(SuSEならYaSTで設定)他のモジュールも同じです。

#LoadModule rewrite_module xxxxx/mod_rewrite.so


No.6601 投稿時間:2006年12月15日(Fri) 23:15 投稿者名:e-koba URL:
タイトル:Re: 1箇所コメントを外せば大丈夫なはずです。

ディストリビューションはたぶんCentOS4.3です。たぶんというのは、1台丸ごと専用サーバーでレンタル(さくらインターネット)しているのです。初期運用のためのインストール作業は、業者の方で行っています。運用開始に際し多少構築経験のある私が頼まれたため、同じRPMパッケージでも細かく違っているようです。(suExecのディレクトリが通常は/varディレクトリのはずなのに、/homeになっていたりします。)
> #LoadModule rewrite_module xxxxx/mod_rewrite.so
この行のコメントは外してあり、mod_rewrite.soも/etc/httpd/modulesにあります。
しかし、レンタルサーバーの担当者はmod_rewriteは使えないというのです。自分より向こうの方が詳しい(^_^;)ですから、あちこち調べているわけです。
httpd -lでmod_so.cはありますし、LoadModuleのコメントの#も外してあるとすれば、使えると考えていいんでしょうか?


No.6612 投稿時間:2006年12月18日(Mon) 22:52 投稿者名:おやじ URL:
タイトル:やってみないことにはわからないのでは?

> ディストリビューションはたぶんCentOS4.3です。たぶんというのは、1台丸ごと専用サーバーでレンタル(さくらインターネット)しているのです。初期運用のためのインストール作業は、業者の方で行っています。運用開始に際し多少構築経験のある私が頼まれたため、同じRPMパッケージでも細かく違っているようです。(suExecのディレクトリが通常は/varディレクトリのはずなのに、/homeになっていたりします。)
> > #LoadModule rewrite_module xxxxx/mod_rewrite.so
> この行のコメントは外してあり、mod_rewrite.soも/etc/httpd/modulesにあります。
> しかし、レンタルサーバーの担当者はmod_rewriteは使えないというのです。自分より向こうの方が詳しい(^_^;)ですから、あちこち調べているわけです。
> httpd -lでmod_so.cはありますし、LoadModuleのコメントの#も外してあるとすれば、使えると考えていいんでしょうか?

考えたら、即、実行がおやじの信条です。確実な解決策が見つからなくても、可能性があるならやってみる。やってみないことにはわからないですから。というより、これはできないという理由がよくわからないですが?


No.6617 投稿時間:2006年12月18日(Mon) 23:23 投稿者名:e-koba URL:
タイトル:Re: やってみないことにはわからないのでは?

どうもありがとうございました。一応試行錯誤でやってみて結果的には、使えるようでした。なぜ、レンタルサーバの担当者ができないと言ったのかは分かりません。ただ、自分が勘違いしていたせい(というかこの要望を出した人の言葉を鵜呑みにして)で、欲しい結果がmod_rewriteのモジュールを使うことでは得られないということでした。

こちらのやりたかったことは、「MovableTypeのサイト内検索の結果を静的URLで表示したい」ということで、それにはmod_rewriteではなくRedirectかなと考えています。その場合の記述内容をどうしたらいいかいま検討しているところです。

P.S.おやじ様の言う通り、やってみないことには分からないのですが、今回の場合はやり方自体が今ひとつ分からず、まるっきりゼロからの出発でした。あちこちのホームページを読み直してみて、mod_rewriteでできることは、やりたいことの逆のことだとやっと気づいたのです。


No.6626 投稿時間:2006年12月20日(Wed) 19:52 投稿者名:おやじ URL:
タイトル:機能レベルでいえば、Redirect < mod_rewrite ですよ。

> どうもありがとうございました。一応試行錯誤でやってみて結果的には、使えるようでした。なぜ、レンタルサーバの担当者ができないと言ったのかは分かりません。ただ、自分が勘違いしていたせい(というかこの要望を出した人の言葉を鵜呑みにして)で、欲しい結果がmod_rewriteのモジュールを使うことでは得られないということでした。
>
> こちらのやりたかったことは、「MovableTypeのサイト内検索の結果を静的URLで表示したい」ということで、それにはmod_rewriteではなくRedirectかなと考えています。その場合の記述内容をどうしたらいいかいま検討しているところです。
>
> P.S.おやじ様の言う通り、やってみないことには分からないのですが、今回の場合はやり方自体が今ひとつ分からず、まるっきりゼロからの出発でした。あちこちのホームページを読み直してみて、mod_rewriteでできることは、やりたいことの逆のことだとやっと気づいたのです。

Apacheのドキュメントをよく見られたほうがいいです。汎用的なので、わかりにくいですが、ある目的をもって読めば大体理解できます。
因みに、機能レベルでいえば、Redirect < mod_rewrite であり、mod_rewriteはRedirectの機能を完全に包含しており、高度なURLの書換え等をするならmod_rewriteを使わないとできません。何を持って機能が逆といわれているのかわかりませんが、勘違いされている気がします。

http://httpd.apache.org/docs/2.0/ja/mod/mod_alias.html
http://httpd.apache.org/docs/2.0/ja/urlmapping.html


No.6627 投稿時間:2006年12月20日(Wed) 23:58 投稿者名:e-koba URL:
タイトル:解決しました

いちおう解決しましたので、ご報告します。
この動作をさせたい人と直接会ってやりたいことがはっきりしました。今までは電話とメールだけのやりとりだったので、詳しく分からなかったのですが、はっきりしました。
mod_rewriteについては、動作が確認できました。それとたぶんこれが理由だと思うのですが、UseCanonicalNameがOffになっていると、mod_rewriteのルールに従ってアクセスすると、窓に表示されるURLは正規のアドレスになるということをはじめて知りました(^_^;)。これをOnにすることにより、表示されるURLが入力したままで表示されるようです。(たぶん)

一応解決までの流れを書いておきます。(笑わないでください)
1.ブログ(MovableType)でホームページを作っているA氏が他のサイトに行ってサイト内検索をそこでやった際に、表示されたURLがmt-search.cgi〜〜というものではなく、スマートな表示だったので、自分の所でもできないかと思い、調べてみたらmod_rewriteという機能を使うらしいということが分かった。
2.サーバの業者に使えるか問い合わせてみたら、「標準では使えないので、インストールしないといけない(実はこれが間違いだった)。」ということで、設定を任されている自分の所に聞いてきたが、自分はそんな機能を使ったことがないので、いろいろと調べ回ってこちらを訪れて、質問した。
3.いろいろとやってみてどうも自分(A氏も)が勘違いしていて、どうしても希望としている動作ではないので、本人の所に伺ったのを機に、目の前で確認したところ、mod_rewriteの動作ではなく、MovableType内で静的なページを作成させる部分を直さなければいけないということが分かった。

というわけです。今回はもう一度Apacheについて見直す機会ができて、よかったと思っています。これを機に自分のサーバでもhttpd.confも2.0のバージョンにあわせて直してみようかと思っています。お騒がせしました。

今回はありがとうございました。



掲示板▲頁先頭