apache2.4.1でmod_dosdetector-fork-1.0.0をmakeする方法

hirameっす。

 

サーバの設定に明け暮れてます。飽きてきた。

 

さて今回はapache2.4.1でmod_dosdetector-fork-1.0.0をmakeする際に起こった問題と、その解決方法を書きます。

まず何もせずにそのままmakeした際は下記のようなエラーが発生します。

 

mod_dosdetector.c: In function 'is_contenttype_ignored':
mod_dosdetector.c:236: warning: implicit declaration of function 'ap_default_type'
mod_dosdetector.c:236: warning: assignment makes pointer from integer without a cast
mod_dosdetector.c: In function 'dosdetector_handler':
mod_dosdetector.c:296: error: 'conn_rec' has no member named 'remote_ip'
mod_dosdetector.c:299: error: 'conn_rec' has no member named 'remote_addr'
apxs:Error: Command failed with rc=65536

 

で、解決方法ですが、mod_dosdetector.cを開いてソースを下記のようにします。

  • remote_ipとremote_addrをそれぞれclient_ipとclient_addrに変更
  • ap_default_type(r)を”text/html”に変更

これでmake時にエラーが出なくなりました。

簡単にテストしたところとりあえず動いていることを確認しています。

 

それぞれの原因ですが、apache2.4系統になってから上のやつは名前が変更になり、下のやつは関数そのものが無くなっているそうです。

そんなわけで下の処理は本当に正しいかどうか怪しいです。apacheのモジュールとか作ったこと無いよ。

そんなわけでもし正しい対処方法をご存知の方いらしたらぜひとも教えてください。

参考URL:http://blog.konata.net/index.php?itemid=604

 

 

それでは!!


Posted in: サーバ, 技術

Comments are closed.