[PHP-users 8256] Re: apacheを二つ設置したい時PHPは、、、

SATOH Fumiyasu php-users@php.gr.jp
Mon, 24 Jun 2002 19:22:00 +0900


At Mon, 24 Jun 2002 18:56:31 +0900,
JUNSIK LIM wrote:
> 最近apacheのDoS 攻撃を行われてしまう弱点が発見されたということで

DoS だけで済むのならまだ良かったのですが、任意のコードを実行可能な
もっと深刻なものです。念の為。

> PHPはDSOでインストールしております。
> apache/conf/のhttpd.confを apache2/conf/のコピしてapacheの経路を
> apache2に変更しただけですが、この時、PHPも再インストールしなければ
> いけないのでしょうか。
> <IfDefine SSL>
> LoadModule ssl_module         libexec/libssl.so
> LoadModule php3_module        libexec/libphp3.so
> LoadModule php4_module        libexec/libphp4.so
> </IfDefine>
> があるので大丈夫のかなと甘く思いましたが、やっぱり失敗でした。

mod_ssl と一緒に入れると、LoadModule されている箇所の最後に
この「<IfDefine SSL>」行と LoadModule libssl.so 付いた httpd.conf が
作成されます。このような httpd.conf の状態で apxs でモジュールを
追加すると、httpd.conf に追加されるべき LoadModule 行が<IfDefine SSL>
〜 </IfDefine> 中に入ってしまいます。これでは、`apachectl startssl`
のように SSL を有効にして起動しないと、該当するモジュールがロード
されません。

apxs のバグ(仕様?)でしょう。

> 考えてみるとインストールの時に
>   --with-apxs=/usr/local/apache/bin/apxs というオプションを指定する
> から、そのままのapache2の中ではエラーになりますね。

--with-apxs=/usr/local/apache2/bin/apxs を指定すればいいのでは?

ちなみに、/usr/local/apache2 というディレクトリは Apache 2 以降の
デフォルトのインストール先になります。

> どなたか、一つのサーバに二つ以上のapacheをインストールして使用する時
> PHPをDSOでインストールして、どのような設定をすれば、apache2の方に
> 新しくインストールしたapacheとphpを運営できるか教えていただけませんでしょ
> うか。

私なら、モジュールもそれぞれにコンパイル、インストールします。

モジュールを共有したいなら、DSO モジュールを絶対パスで指定
しればいいのでは。

LoadModule php3_module        /usr/local/apache/libexec/libphp3.so
LoadModule php4_module        /usr/local/apache/libexec/libphp4.so

-- 
SATOH Fumiyasu - fumiya @net-thrust.com, @samba.gr.jp, @namazu.org or ...
THRUST Co., Ltd. @ Fujisawa, Kanagawa, Japan - http://www.net-thrust.com
Samba-JP, aka `Samba Users Group Japan'      - http://www.samba.gr.jp
Apache-JP(?), aka `Japan Apache Users Group' - http://www.apache.jp
Namazu, a full-text search engine            - http://www.namazu.org