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

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

 CGIが動かない(Ruby)
日時: 2008/04/09 01:19
名前: 石井

phpやperlで書いたCGIはブラウザでみれるのですが、Rubyだけがうまくいきません。

/etc/httpd/conf/httpd.conf の設定は

<Directory /home/*/public_html>
  AllowOverride All
  Options MultiViews Indexes SymLinksIfOwnerMatch Includes
  <Limit GET POST OPTIONS>
    Order allow,deny
    Allow from all
  </Limit>
  <LimitExcept GET POST OPTIONS>
    Order deny,allow
    Deny from all
  </LimitExcept>
</Directory>

<Directory /home/*/public/cgi>
  Options +ExecCGI
  AddHandler cgi-script .cgi
</Directory>

どこがいけないのでしょうか。
Rubyの場所もあっています(念のためリンクをはって /usr/local/binと/usr/bin/rubyに置きました)。

パーミッションも確認しました。 /home/userID/public_html/以下全て755(-rwxr-xr-x)です。

ブラウザに表示されたエラーは
Internal Server Error

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

Please contact the server administrator, root@localhost 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.

エラーログは

# tail /var/log/httpd/error_log
(〜省略)
[Wed Apr 09 01:08:36 2008] [error] [client 127.0.0.1]
Premature end of script headers: amd_index.cgi, referer: http://localhost/~app_user/

とでました。amd_index.cgiがRubyで書いたCGIで、app_userはユーザ名です。

よろしくお願いします。

■ コンテンツ関連情報

 Re: CGIが動かない(Ruby) ( No.1 )
日時: 2008/04/27 17:57
名前: わかと

cgiプログラムのパスが通ってない感じがしますね。
#!/usr/bin/perl or #!/usr/local/bin/perl
これが一般的なパスですが、たまに自宅サーバーの場合
#!/usr/bin/perlの後に半角スペース −
半角でバーを一つもしくは二つつけると作動する場合があります。

#!/usr/bin/perl -
#!/usr/bin/perl --
#!/usr/local/bin/perl -
#!/usr/local/bin/perl --
原因はさだかではありませんが・・・・。
vi で作成した場合は--はなくても作動するので文字コードが絡んでいるかもしれません。
お試しください。
 Re: CGIが動かない(Ruby) ( No.2 )
日時: 2008/04/29 19:24
名前: 石井

わかと様

返信ありがとうございます。

中々うまくいかず、あきらめかけていました。

perl 、ruby のパスは調べましたのでおそらく大丈夫そうです。

$ which ruby
/usr/local/bin/ruby

のパスを指定しています。念のため、 /usr/bin/ruby にもリンクをはりました。

半角バーも試しましたがうまくいきません。


文字コードだけなら、文字化けした画面がブラウザで見ることができそうですが、

Internal Server Error ですので、もっと根本的な部分が間違っている気がします。

ちなみに、改行コードはLinuxマシンで書いたものなのでLF(ラインフィード)

です。

$ od -tc amd_index.cgi

で調べてもLFでした。


やはり、httpd.conf の設定でしょうか。

■ その他

ページ先頭へ


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