投稿日:2004年07月27日 作成鷹の巣

No.16881 バーチャルホストでCGIを使用するには?



バーチャルホストでCGIを使用するには?

No.16881 投稿時間:2004年07月27日(Tue) 15:57 投稿者名:初心者です URL:

いつも、このサイトを拝見させていただき勉強させていただいています。
小生、自宅サーバー(IP非固定)にてを立てておりますが、バーチャルホストにてCGIを
使用したく、下記のように設定したのですが、うまく動かないようです。(OS はFedora Core1です)
何が悪いのか良くわからず、いきずまってしまいました。ご存知の方よろしくお願いします。


<VirtualHost *:80>
DocumentRoot /var/www/html/aaa
ServerName aaa.com
ScriptAlias /cgi-bin/ "/var/www/html/aaa/cgi-bin/"
<Directory /var/www/html/aaa/cgi-bin>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


<VirtualHost *:80>
DocumentRoot /var/www/html/bbb
ServerName bbb.com
ScriptAlias /cgi-bin/ "/var/www/html/bbb/cgi-bin/"
<Directory /var/www/html/bbb/cgi-bin>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

と記述しています。
その後、var/www/html/aaa/cgi-bin/内にtest.cgiを置きエクスプローラーで呼び出しますと


The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, root@aaa.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


--------------------------------------------------------------------------------

Apache/2.0.49 (Fedora) Server at www.aaa.com Port 80


とメッセージが表示されます。

よろしくお願いいたします。


追記。

No.16882 投稿時間:2004年07月27日(Tue) 16:00 投稿者名:初心者です URL:

追記です。

/var/www/html/aaa/cgi-bin/フォルダの属性は755
test.cgiの属性も755です。


何でエラーログの内容をここに示さないのですか。

No.16886 投稿時間:2004年07月27日(Tue) 21:42 投稿者名:ふぁらだ URL:

> DocumentRoot /var/www/html/aaa
> ServerName aaa.com
> ScriptAlias /cgi-bin/ "/var/www/html/aaa/cgi-bin/"

http ://aaa.com/cgi-bin/
で呼び出すならScriptAlias定義する必要ないです。
それと先頭の方のScriptAliasは無効にしていますか。

> Please contact the server administrator, root@aaa.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
> More information about this error may be available in the server error log.
> とメッセージが表示されます。

とメッセージが表示されていて何でエラーログの内容をここに示さないのですか
この程度の英文はいくら何でも意味ぐらい取れるでしょう。

それと先日の誰かのようにsuexecを使っては無いですよね。suexec使うとパーミッション設定が
それでは動きませんから。


どのディレクトリにでもCGIを置けるようにして使いやすくしています。

No.16932 投稿時間:2004年07月30日(Fri) 23:44 投稿者名:聞疑始 URL:http://homeserver-streaming.com/

バーチャルホストは最初は難しいものですね。
http://homeserver-streaming.com/Trouble/Apache-PHP.html
↑これは私がそれを導入した時のメモですが、悲しいかなWindowsバージョンです。
ひょっとして参考になるかもと恥ずかしながらご紹介します。
いろいろと勉強させて頂いたサイトも記載していますので・・・

それとCGIですが、ScriptAliasを使われるのかも知れませんが、
この方式はいろんなユーザーさんに公開されている場合(プロバイダなど)なら必須かも知れませんが、
私のように自分だけのサイトなら、どのディレクトリにでもCGIを置けるようにして使いやすくしています。
http://homeserver-streaming.com/server/server.html#Apache
の《CGI》の実行をどのディレクトリでも可能にする
とhttpd.conf ファイルの修正で、
560行目付近の
ScriptAliasの行頭に#を付けてコメントアウト(無効に)します。
するとバーチャルにしようがなんだろうが、CGIは動きます。
但し、CGIの初歩部分はクリアーしている条件ですがね。
↓初歩だけではないですが参考になります。
http://sakaguch.com/LinkCGI.html

的を外していたらごめんなさい(゚゚)(。。)ペコッ

> いつも、このサイトを拝見させていただき勉強させていただいています。
> 小生、自宅サーバー(IP非固定)にてを立てておりますが、バーチャルホストにてCGIを
> 使用したく、下記のように設定したのですが、うまく動かないようです。(OS はFedora Core1です)
> 何が悪いのか良くわからず、いきずまってしまいました。ご存知の方よろしくお願いします。
>
> >
> <VirtualHost *:80>
> DocumentRoot /var/www/html/aaa
> ServerName aaa.com
> ScriptAlias /cgi-bin/ "/var/www/html/aaa/cgi-bin/"
> <Directory /var/www/html/aaa/cgi-bin>
> AllowOverride None
> Options ExecCGI
> Order allow,deny
> Allow from all
> </Directory>
> </VirtualHost>
>
>
> <VirtualHost *:80>
> DocumentRoot /var/www/html/bbb
> ServerName bbb.com
> ScriptAlias /cgi-bin/ "/var/www/html/bbb/cgi-bin/"
> <Directory /var/www/html/bbb/cgi-bin>
> AllowOverride None
> Options ExecCGI
> Order allow,deny
> Allow from all
> </Directory>
> </VirtualHost>
>
> と記述しています。
> その後、var/www/html/aaa/cgi-bin/内にtest.cgiを置きエクスプローラーで呼び出しますと
>
>
> The server encountered an internal error or misconfiguration and was unable to complete your request.
>
> Please contact the server administrator, root@aaa.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
>
> More information about this error may be available in the server error log.
>
>
> --------------------------------------------------------------------------------
>
> Apache/2.0.49 (Fedora) Server at www.aaa.com Port 80
>
>
> とメッセージが表示されます。
>
> よろしくお願いいたします。


参考にさせていただき、がんばってみます。

No.16942 投稿時間:2004年08月01日(Sun) 14:46 投稿者名:初心者 URL:

みなさんありがとうございました。
まだ、今ひとつ動かない部分がありますが、書き込んでいただいた
内容を参考にさせていただき、がんばってみます。


引き続き質問

No.17004 投稿時間:2004年08月11日(Wed) 11:12 投稿者名:初心者 URL:

みなさんのおかげで、VSFTPの設定でアスキーファイルファイルのアップロードが出来ていないことに気がつきました。
ありがとうございました。
で、引きつづきサーバーエラーは無くなったのですが、今度はそのCGIを実行するとファイルのダウンロードになってしまうのですが、設定等々でお気づきの方いらっしゃいますでしょうか?
なにせ初心者の為、説明不足と思いますが、よろしくお願いいたします。(何か情報が必要であればおっしゃってください)


エラーログ&設定を再度載せますのでお願いします。

No.17006 投稿時間:2004年08月11日(Wed) 14:18 投稿者名:初心者 URL:

下記がエラーログと設定です。ご存知の方お教えください

<エラーログ>
Wed Aug 11 13:21:41 2004] [error] [client 192.168.1.2] script not found or unable to stat: /var/www/html/testhtml/cgi-bin/test/$imgurl, referer: http://www.test.com/main.htm

<設定>
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#


<VirtualHost *:80>
DocumentRoot /var/www/html/test
ServerName www.test.com
AddHandler perl-script .cgi .pl
ScriptAlias /cgi-bin/ /var/www/htmltesthtml/cgi-bin/
Options ExecCGI
</VirtualHost>

<Directory /var/www/html/testhtml/cgi-bin>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

<VirtualHost *:80>
DocumentRoot /var/www/html/test2
ServerName www.test2.com
AddHandler perl-script .cgi .pl
ScriptAlias /cgi-bin/ /var/www/html/test2/cgi-bin/
Options ExecCGI
</VirtualHost>

<Directory /var/www/html/test2/cgi-bin>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>


解決しました

No.17013 投稿時間:2004年08月11日(Wed) 18:15 投稿者名:初心者 URL:

四苦八苦して設定をいじっていたら解決しました。
お騒がせしました


原因とかは何も分からず?

No.17020 投稿時間:2004年08月12日(Thu) 22:24 投稿者名:聞疑始 URL:http://homeserver-streaming.com/server/

> 四苦八苦して設定をいじっていたら解決しました。
> お騒がせしました
ということは、原因とかは何も分からずに・・・
ということでしょうね。(~ヘ~;)ウーン


|目次|掲示板|過去ログ目次|▲頁先頭|