金子さん、レスをありがとうございました。色々調べていましたので遅くなって しまいました。 実はまだ解決していません。ご指摘のScriptAliasもダメでした。 ただエラーが起きる原因というのがはっきりしましたので、また皆様にアドバイ スをお願いしたく思います。 http://www.aaa.com/ 直下にはindex.cgiファイルがありこれによりトップページ を表示させています。 このディレクトリにはCGIのパーミッションが与えられていますので、動作もして おります。 ではどこでエラーが起きるのかというと、CGIにより同ディレクトリ内に新規ファ イル生成をさせるタイミングで起きます。 一時的にディレクトリ(public_html)のパーミッションを777にして試してみる と、エラー無く新規ファイルが生成されますが、そのファイルの所有者はnobody となっていました。 WEB上から実行したCGIは実行ユーザがnobodyとなるので、生成ファイルの所有者 もnobodyになるのはわかりますし、それを防ぐため(私はまだ詳しくないです が)setuidやsbitやsuExecなど手法があるところまではわかってきました。 ただ、わからないのは、http://www.aaa.com/でアクセスしたindex.cgiは(生成 ファイル所有者がnobodyとなって)パーミッションエラーが起きるのに対し、 http://www.aaa.com/~aaa/でアクセスしたindex.cgiは生成ファイルの所有者が aaaとなってパーミッションエラーが起きないことです。 もちろん双方のURLは、結果的に全く同じディレクトリにアクセスしているので、 使っているもCGI(index.cgi)も同じものです。 ちなみにCGIはperlで書いていますが、バーチャルホストで走らせるCGIの場合、 CGI内で記述するディレクトリパスの書き方も、何かコツのようなものがあってこ のようなことが起きてるのでしょうか? できるならこの謎を明かしてsbinなどとは関係なく問題をクリアにしたいのです が、心当りのあるかたのアドバイスをお待ちしております。 よろしくお願いします。 Kenji Okamoto okamotok _at_ tcp-ip.or.jp > 金子です。 > > 間違っているかもしれませんが > > > <VirtualHost 111.222.333.444> > > ServerAdmin admin _at_ domain.com > > DocumentRoot /home/aaa/public_html > > ServerName wwww.aaa.com > > ErrorLog logs/aaa-error_log > > TransferLog logs/aaa-access_log > > </VirtualHost> > > > > ScriptAliasをつければいいのでは? > > <VirtualHost 111.222.333.444> > ServerAdmin admin _at_ domain.com > DocumentRoot /home/aaa/public_html > ScriptAlias / /home/aaa/public_html > ServerName wwww.aaa.com > ErrorLog logs/aaa-error_log > TransferLog logs/aaa-access_log > </VirtualHost> > > こんなかんじかな? > 試してないので判りませんが・・・。 > それでは、 > > >
References:
- [linux-users:72003] バーチャルホスト上のCGIエラーKenji Okamoto
- [linux-users:72005] Re: バーチャルホスト上のCGIエラーmitsunobu kaneko
- Prev by Subject: [linux-users:72110] [ANNOUCE]ALUGインストールセミナー開催のお知らせ
- Next by Subject: [linux-users:72112] Re: FWサーバーを入れると、クライアントがインターネットにつながらなくなりました。
- Previous by thread: [linux-users:72005] Re: バーチャルホスト上のCGIエラー
- Next by thread: [linux-users:72004] Symbios 53C1010 is working?
- Indexes:[Main][Thread]