Re: バーチャルホストの件で ( No.1 ) このメッセージに返信する |
- 日時: 2006/04/24 12:45
- 名前: 愚者
- このサイトの説明では、バーチャルホストのドキュメントルートを「/var/www/html/virtual」にしてます。
「/var/www/html/virtual」に対するアクセス制御は、メインサイトのドキュメントルート「/var/www/html」にて設定した内容で制御されています。 設定内容は以下のとおり
<Directory "/var/www/html"> Options Includes ExecCGI FollowSymLinks AllowOverride All </Directory>
なので、同じ事を「/home/userdir/public_html」にやってあげればOKです。 (例) #以下、追加ホスト情報(example.jp) <VirtualHost *:80> ServerName example.jp DocumentRoot /home/examplejp/public_html ErrorLog logs/example.jp-error_log CustomLog logs/example.jp-access_log combined env=!no_log <Directory "/home/examplejp/public_html"> Options Includes ExecCGI FollowSymLinks AllowOverride All </Directory> </VirtualHost>
ただし、質問内容から判断すると、ユーザーには「/home/userdir/public_html/cgi-bin/」以下でのみ cgiの実行を許可し、それ以外では実行を許可させないようにもとれます。この場合は、上の記述だけでは 不足します。
|
Re: バーチャルホストの件で ( No.2 ) このメッセージに返信する |
- 日時: 2006/04/24 21:18
- 名前: あきです
- URL: http://b180snow.or.tp/index.cgi
- ありがとうございます。
早速設定してみたのですが エラーがでます。 上記のURLです。
私が設定したのは、バーチャルホストを記載している部分を このサイトの通り書いているところを教えて頂いた内容に 書き換えましたが表示が出来ません。
すいませんが教えていただけないでしょうか?
それとpublic_html/cgi-bin/index.cgi も設置しているのですが 表示されません。 htmlファイルも置いてみたのですが public_html から下のフォルダーのファイルが 表示されません。どうしてなのでしょうか?
http://b180snow.or.tp/cgi-bin/index.html このファイルが存在しないと出ますが 申し訳ありませんが 教えていただけないでしょうか?
|
Re: バーチャルホストの件で ( No.3 ) このメッセージに返信する |
- 日時: 2006/04/25 00:06
- 名前: 愚者
- >それとpublic_html/cgi-bin/index.cgi
>も設置しているのですが 表示されません。 >htmlファイルも置いてみたのですが >public_html から下のフォルダーのファイルが >表示されません。どうしてなのでしょうか? > >http://b180snow.or.tp/cgi-bin/index.html >このファイルが存在しないと出ますが >申し訳ありませんが 教えていただけないでしょうか?
以下のような記述がメインホスト設定部分にありませんか?
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
# # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory "/var/www/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
「/cgi-bin/」 のエイリアスとして 「/var/www/cgi-bin/」が設定されていると、バーチャルホスト側で Directoryディレクティブを使ってもメインホスト側が優先されてしまいます。 上記をコメントアウトすれば解決すると思います。
cgiのエラーに関しては、まずerror_logを見てください。cgiのパーミッション等も確認してみて下さい。
|
Re: バーチャルホストの件で ( No.4 ) このメッセージに返信する |
- 日時: 2006/04/25 00:56
- 名前: あきです
- URL: http://b180snow.or.tp/index.cgi
- すいません
コメントアウトしてみたのですが 出来ませんでした。
ログを見たのですが サーバー初めて間もないので 書いてることが分かりません。
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
# # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory "/var/www/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
の部分をすべてコメントアウトしました。 パーミッションも755にしてありますが 表示されません。 コメントアウトしたら public_html から下の フォルダー でのhtmlファイルの表示は、出来ました。 でもcgiファイルは、表示されません
すいませんが どうしてもクリアしたいのですが 教えていただけないでしょうか? 宜しくお願いします。
|
Re: バーチャルホストの件で ( No.5 ) このメッセージに返信する |
- 日時: 2006/04/25 07:39
- 名前: 愚者
- /var/log/httpd/error_log
これがメインホストのエラーログ
#以下、追加ホスト情報(example.jp) <VirtualHost *:80> ServerName example.jp DocumentRoot /home/examplejp/public_html ErrorLog logs/example.jp-error_log CustomLog logs/example.jp-access_log combined env=!no_log <Directory "/home/examplejp/public_html"> Options Includes ExecCGI FollowSymLinks AllowOverride All </Directory> </VirtualHost>
のうち、ErrorLogで指定したファイルがバーチャルホストのエラーログ 実際には、/var/log/httpd/example.jp-error_log
自分でアクセスして、エラーログに何と書いてあるか見てみてください。
|
Re: バーチャルホストの件で ( No.6 ) このメッセージに返信する |
- 日時: 2006/04/30 22:45
- 名前: you
- URL: http://nect.or.tp/cgi-bin/test.cgi
- いろんなサイトを調べてみたのですが
やはり分かりませんでした。
エラーログには Premature end of script headers: test.cgi 書いていましたが。
すいません。なんせ初心者で意味が分かりません。 すいませんが教えていただけないでしょうか?
|
Re: バーチャルホストの件で ( No.7 ) このメッセージに返信する |
- 日時: 2006/04/30 23:01
- 名前: Hiroki
- こんにちは。
ログが見えないので断言はできませんが、状況的にSuexecが影響しているように思えます。
Suexec実行ファイルをリネームして無効化、あるいはモジュールリストからはずして無効化してしまうか、 バーチャルホストの設定の中に SuexecUserGroup 実行ユーザ名 実行グループ と記述してみてください。 詳細はこちら(http://httpd.apache.org/docs/2.0/ja/mod/mod_suexec.html#suexecusergroup)です。
それでもダメならこちら(http://httpd.apache.org/docs/2.0/ja/howto/cgi.html#troubleshoot)で なにが悪いのか確かめてください。
#ちなみに解らないエラーに追い込まれたときは "エラーメッセージ" などで調べると比較的ヒットしやすいですよ。
|
Re: バーチャルホストの件で ( No.8 ) このメッセージに返信する |
- 日時: 2006/05/01 08:44
- 名前: ZED
- そのエラーであれば
cgiの一行目 #! /usr/bin/perl -- に変更すれば動くかも・・・。
|