はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 質問掲示板

 このスレッドはクローズされています。記事の閲覧のみとなります。

 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 
--------------------------------------------------

メンテ

Page:  [1] [2] [3]

■ コンテンツ関連情報

 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'
----------------------------------------------------------------------------------------

たびたび、申し訳ございませんがどうぞ宜しくお願いいたします。



メンテ

Page:  [1] [2] [3]

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.