このスレッドはクローズされています。記事の閲覧のみとなります。
cgiの実行について |
 |
- æ¥æï¼ 2006/10/09 22:12
- ååï¼ 智樹
- ①不明点・障害内容:作成したHPの動作を確認する為、自宅でサーバーを立てたのですが、
cgiが動作しません。cgiの内容が表示されるのみで、実行はされません。 ②ログの有無 : (有:その内容):無 ③Distribution :Fedoracore3 Version: ④Service Name :httpd Version:Perl
書籍を購入したりHPで調べたのですが、どこの設定が間違っているのかよくわからず困っております。 素人で、大変申し訳ありませんが、ご教授の程宜しくお願いいたします。
(ユーザAの場合) http://xxx.xxx.xxx.xxx/~userA/cgi-bin/???.cgi
------------------------- 環境:FedoraCore3 Apache 2.0.52.3 Perl 5.8.5(/usr/bin/perl) -------------------------
--------------------------------------------------- <httpd.conf> #UserDir disable UserDir public_html
alias /cgi-bin/ "/home/*/public_html/cgi-bin/" <Directory "/home/*/public_html/cgi-bin"> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory>
#AddHandler cgi-script .cgi --------------------------------------------------
|
■ コンテンツ関連情報
Re: cgiの実行について ( No.1 ) |
 |
- æ¥æï¼ 2006/10/09 23:47
- ååï¼ おじゃま虫
- Options ExecCGI
↓ Options Includes ExecCGI FollowSymLinks (書き換える)
#AddHandler cgi-script .cgi ↓ AddHandler cgi-script .cgi .pl (#をはずす)
.pl はcgiとは関係ないけど追加しておく。
|
Re: cgiの実行について ( No.2 ) |
 |
- æ¥æï¼ 2006/10/10 00:33
- ååï¼ two
- 参照: http://www.two-wonderland.net/
- お世話になっております、twoです。
> alias /cgi-bin/ "/home/*/public_html/cgi-bin/"
上記の部分ですが、ScriptAliasで指定してみてはいかがでしょうか?
ScriptAlias /cgi-bin/ "/home/*/public_html/cgi-bin/"
また、[/home/*/public_html/cgi-bin/]配下の各種CGIプログラムのパーミッションも正しく設定されいるか確認してみて下さい。 以上、宜しくお願い致します。
|
Re: cgiの実行について ( No.3 ) |
 |
- æ¥æï¼ 2006/10/10 07:11
- ååï¼ 智樹
- おじゃま虫、two様お世話になります。
ご指摘頂きました箇所を修正させていただきました。
AddHandler cgi-script .cgi .plの部分をコメントアウトすると、cgiの中身が表示され、コメントアウトしないとInternal Server Errorになります。 パーミッションの設定ですが、cgi-binディレクトリおよびtest用cgi(Helloと単に表示するcgi)705にしてあります。755にしても現象は変わりませんでした。
何か他にも設定が必要なのでしょうか?
本当に申し訳ございませんがどうぞ宜しくお願いいたします。
|
Re: cgiの実行について ( No.4 ) |
 |
- æ¥æï¼ 2006/10/10 07:28
- ååï¼ 管理者
- 智樹さん、こんにちは。
> AddHandler cgi-script .cgi .plの部分をコメントアウトすると、cgiの中身が表示され、コメントアウトしないとInternal Server Errorになります。 おじゃま虫さんも書かれていますが、コメントアウトではありません。「#」を取って有効にしてください。 現段階では「Internal Server Error」とでる方が正解です。
次に確認する事は、CGIスクリプトのファイル自体の文字コードと、システムの文字コードは一致していますか?
以下をご参照下さい。 http://kajuhome.com/cgi-bin/patio/patio.cgi?mode=view&no=813 「 No.3 」
|
Re: cgiの実行について ( No.5 ) |
 |
- æ¥æï¼ 2006/10/10 18:51
- ååï¼ 智樹
- 管理人様ありがとうございます。
AddHandler cgi-script .cgi .plの#はとりました。 以下のcgiをWindows上のサクラエディタで作成し、UTF-8,改行コード(LF)で保存しアップしましたが、 Internal Server Errorになります。cgiファイルのパーミッションは、念のため755にしてあります。 また、ユーザのホーム、その下のpublic_htmlフォルダ、cgi-binフォルダとも755にしてあります。 ----------------------------------------------------------------------------------- #!/usr/bin/perl (Perlのパスは,whichコマンドで確認) print "Content-type: text/html\n\n"; print "<html>\n"; print "<head>\n"; print "<META http-equiv=\"Content-Type\" content=\"text/html; charset=EUC-JP\">"; print "<title>テストページ</title>\n"; print "</head>\n"; print "<body>\n"; print "CGI表示テスト\n"; print "</body>\n"; print "</html>\n"; ----------------------------------------------------------------------------------
そのcgiを実行したときのログですが、以下のメッセージが表示されました。 --------------------------------------------------------------------------------------- [error client xxx.xxx.xxx.xxx](8)Exec Format Error:exec of '/home/userA/public_html/cgi-bin/test.cgi' faild error client xxx.xxx.xxx.xxx](8)Premeture end of script 'test.cgi' ----------------------------------------------------------------------------------------
たびたび、申し訳ございませんがどうぞ宜しくお願いいたします。

|
■ その他