http://server.sakura.ad.jp/dedicated/entry/index.html
CentOS5で、標準構成のまま使っています。
しかし、引越し前のサーバで動いていたcgiが新しい専用サーバでは動きません。
何か必要な設定があるのでしょうか?
すべてのcgiが動かないわけではなく、テスト用に作ったカンタンなものは問題なく動きます。
また、下記に掲載されているcgi利用許可の手順については既に対応済です。
http://vine-linux.ddo.jp/linux/apache/cgi.php
全てのディレクトリで動くようにしています。更新後のapache再起動も済です。
他に必要な手順があればご教示ください。よろしくおねがいします。
エラーログなどは出ていませんか?
エラーログにしたがって,足りないライブラリなどをインストールしないといけないと思います
CGI が Perl なら,足りない Perl module がいくつかあると推測されます
そののサーバにssh等で接続が可能でしたら、シェルで
> locate httpd.conf
でApacheの設定ファイルの場所が、
> grep ErrorLog /path/to/httpd.conf
で、エラーログの出力先がわかると思います。
(たぶん/var/log/ か /var/log/httpd/ あたりに有ると思います。)
そちらを見れば、エラーの内容が表示されるかもしれません。
もう一つ、実際にCGIをコマンドラインで動かすと、エラーがわかる場合が多いです。
たとえば、動かしたいCGIが /www/bbs/bbs.cgi だと、sshで
> ./bbs.cgi
> perl ./bbs.cgi
などを行うと、本来ブラウザが表示するhtml文が標準出力に表示されます。
その際、エラーが有る場合はエラーの内容と行が表示されます。
perlのモジュールが足りない場合、root権限でcpanというコマンドでインストールが出来ます。
アドバイスを元に調べたら、エラーログが見れました!ありがとうございます。
内容は下記のとおりです。jcode.pmが無いのが問題なんでしょうか。
[Thu Dec 25 20:42:23 2008] [error] [client 58.1.233.89] Can't locate Jcode.pm in @INC (@INC contains: ./lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /var/www/html/index.cgi line 24.
[Thu Dec 25 20:42:23 2008] [error] [client 58.1.233.89] BEGIN failed--compilation aborted at /var/www/html/index.cgi line 24.
[Thu Dec 25 20:42:23 2008] [error] [client 58.1.233.89] Premature end of script headers: index.cgi
[Thu Dec 25 20:42:27 2008] [error] [client 58.1.233.89] Can't locate Jcode.pm in @INC (@INC contains: ./lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /var/www/html/index.cgi line 24.
[Thu Dec 25 20:42:27 2008] [error] [client 58.1.233.89] BEGIN failed--compilation aborted at /var/www/html/index.cgi line 24.
[Thu Dec 25 20:42:27 2008] [error] [client 58.1.233.89] Premature end of script headers: index.cgi
[Thu Dec 25 21:34:26 2008] [error] [client 12.163.239.198] Can't locate Jcode.pm in @INC (@INC contains: ./lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /var/www/html/index.cgi line 24.
[Thu Dec 25 21:34:26 2008] [error] [client 12.163.239.198] BEGIN failed--compilation aborted at /var/www/html/index.cgi line 24.
[Thu Dec 25 21:34:26 2008] [error] [client 12.163.239.198] Premature end of script headers: index.cgi
ですね、Jcode.pmが無いのが原因のようです。
CPANが入っていれば、root権限で
# cpan install Jcode
でインストール出来ると思います。
もしくは、ちょっと自信は無いですが、jcode.pm(と、関連ファイルが有ればそれら一式)をcgiと同じディレクトリに入れても良いかもしれません。
まぁ好きな物を好きなだけ入れられるのが専用サーバの醍醐味なんで、cpanで入れてしまうのがおすすめです。
cpanでインストールしてみました。無事動いております。
CUIに苦手意識がありましたが、問題解決できて感激です。
これからも頑張って勉強していきたいと思います。
皆様、大変ありがとうございました!
なるほど、確かにそうですね。ありがとうございます!
よろしければエラーログの見方を教えて頂けませんでしょうか。。
検索していますが関連記事が見つけられません。