????????????????????¨????°???¨??§????????°???????¨??????¬???????????°?????±??????????????§??????
バーチャルホストとユーザーディレクトリ |
|
- ????????? 2006/07/05 03:01
- ????????? LILI
-
http://fedorasrv.com/による、
ユーザーディレクトリ作成とバーチャルホストを導入しているのですが、 期待通りにCGIが動いてくれません。 (先日fedorasrvで掲示板に質問しましたが、音沙汰ないので解決済みにし、 こちらのサイトに書き込ませて頂く事をお許しください)
仮にユーザーディレクトリを /home/aaa/public_html とし、 バーチャルホスト vartual.com をこのユーザーディレクトリに指定するとします。
そしてhttpdを再起動し、vartual.comにアクセス。
すると、ちゃんとHTMLは動きます。 CGI(掲示板系)も一応動くもの、、HTML部分しか動かず、 フォームからの書き込みなどが一切できません。 (管理ページなどのログインもできないです) 処理的な部分が全く動作しないんですね。
しかしながらおかしな事に、 vartual.com/~aaa というURLからCGIを動かすと、 先ほど申し上げた点を含め、 なぜかきちんと動いてしまいます。
一応このことから、ユーザーディレクトリとバーチャルホストの関係によるものだと 察し、できることはやってみたのですが結局ダメでした。。 (ユーザーディレクトリを一旦外したり、など)
マルチ質問のような形になって申し訳ないのですが、 なにとぞご返信頂ければ幸いです。
|
■ コンテンツ関連情報
Re: バーチャルホストとユーザーディレクトリ ( No.1 ) |
|
- ????????? 2006/07/05 06:55
- ????????? 管理者
-
お聞きしたい点があります。
> ユーザーディレクトリ作成とバーチャルホストを導入しているのですが、 > 期待通りにCGIが動いてくれません。 > 仮にユーザーディレクトリを > /home/aaa/public_html > とし、 > バーチャルホスト vartual.com > をこのユーザーディレクトリに指定するとします。 > > そしてhttpdを再起動し、vartual.comにアクセス。 > > vartual.com/~aaa というURLからCGIを動かすと、 > 先ほど申し上げた点を含め、 > なぜかきちんと動いてしまいます。 ユーザホームページを公開させたいのでしょうか? それとも、バーチャルホストで「/home/aaa/public_html」のパスを設定したいのでしょうか? 投稿して頂いた文から推測すると、正常な動作に思われるのですが・・・
|
Re: バーチャルホストとユーザーディレクトリ ( No.2 ) |
|
- ????????? 2006/07/05 15:02
- ????????? LILI
-
ご返信ありがとうございます。
どちらかというとバーチャルホストでの公開を最優先にしたいと思ってます。 ユーザーディレクトリの設定はfedorasrvのものをそのまま使用し、
<VirtualHost *:80> ServerName vartual.ddo.jp </VirtualHost>
<VirtualHost *:80> ServerName vartual.com DocumentRoot /home/aaa/public_html ErrorLog logs/virtual-error_log CustomLog logs/virtual-access_log combined env=!no_log </VirtualHost>
ヴァーチャルホスト設定は以上のような感じにしています。 パスは正しく設定しているので 理論上、こんな事が起こるとは思えないのですが。。
|
Re: バーチャルホストとユーザーディレクトリ ( No.3 ) |
|
- ????????? 2006/07/05 16:54
- ????????? 管理者
-
UserDirのディレクトリ部分(以下参照)で「UserDir」が有効になっていたりしませんか?
<IfModule mod_userdir.c> # # UserDir is disabled by default since it can confirm the presence # of a username on the system (depending on home directory # permissions). # #UserDir disable ← ここがコメント化されている
# # To enable requests to /~user/ to serve the user's public_html # directory, remove the "UserDir disable" line above, and uncomment # the following line instead: # UserDir public_html ← ユーザ公開パスが指定 </IfModule>
この場合、バーチャルの設定とユーザページの設定が重複しているので矛盾を起こしているのだと思われます。 まず、上記の「UserDir」を「disable」にしてhttpdを再起動して下さい。
> そしてhttpdを再起動し、vartual.comにアクセス。 > > すると、ちゃんとHTMLは動きます。 > CGI(掲示板系)も一応動くもの、、HTML部分しか動かず、 > フォームからの書き込みなどが一切できません。 > (管理ページなどのログインもできないです) > 処理的な部分が全く動作しないんですね。 上記の件ですが、パーミッションの問題ではないでしょうか? ユーザディレクトリ(/home/aaa/public_html)なので難しい問題がありますが、Otherに書き込み権がないと書き込み出来ません。 しかし無条件に書き込み権を与えると、他の部分で弊害が出たりします。
ユーザディレクトリをバーチャルの公開ディレクトリにしないことです。 例えば「/var/www/html2」にするとか・・・
|
■ その他