Ruby を使用して Web サーバー上で CGI アプリケーションを作成する方法を研究しています。CGI ライブラリを使用して、次のコードを用意しました。
#!usr/bin/ruby
require 'cgi'
#print "Content-type: text/html\r\n\r\n" << Not needed with cgi.out?
cgi = CGI.new('html3')
cgi.out do
cgi.html do
cgi.head do
"\n" + cgi.title {"This is a test"}
end
+ cgi.body do "\n" +
cgi.form do "\n" +
cgi.hr +
cgi.h1 { "A form: " } + "\n" +
cgi.textarea("get_text") + "\n" +
cgi.br +
cgi.submit
end
end
end
end
私は apache2 Web サーバーを使用して Kubuntu 13.04 を使用しています。ファイルは /usr/lib/cgi-bin ディレクトリにあり、chmod は次のとおりです。
richard@Senjai:~/projects/pickaxe/mini-projects/cgi-bin$ ls -l /usr/lib/cgi-bin/
total 12
-rwxr-xr-x 1 richard richard 170 May 27 13:30 cgi_escape.rb
-rwxr-xr-x 1 richard richard 395 May 27 13:30 cgi_htmlgen.rb
-rwxr-xr-x 1 richard richard 126 May 27 13:30 cgi_test.rb
cgi_test.rb と cgi_escape.rb は問題なく動作するため、パーミッションが問題だとは思いません。
これにより500内部サーバーエラーが発生する理由を知っている人はいますか? これはオフラインの web 開発環境のみであるため、誰かがそれに興味を持っている場合、ページへのリンクを提供することはできません.
Apache2 エラー ログ:
richard@Senjai:/var/log/apache2$ cat error.log
[Mon May 27 14:06:57 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.6-1ubuntu1.2 configured -- resuming normal operations
[Mon May 27 14:07:04 2013] [error] [client 127.0.0.1] (2)No such file or directory: exec of '/usr/lib/cgi-bin/cgi_htmlgen.rb' failed
[Mon May 27 14:07:04 2013] [error] [client 127.0.0.1] Premature end of script headers: cgi_htmlgen.rb
[Mon May 27 14:07:04 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico