人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

共用サーバ(heteml)が手狭になり、初めて専用サーバを借りました(さくらのエントリープラン)。
http://server.sakura.ad.jp/dedicated/entry/index.html
CentOS5で、標準構成のまま使っています。

しかし、引越し前のサーバで動いていたcgiが新しい専用サーバでは動きません。
何か必要な設定があるのでしょうか?

すべてのcgiが動かないわけではなく、テスト用に作ったカンタンなものは問題なく動きます。

また、下記に掲載されているcgi利用許可の手順については既に対応済です。
http://vine-linux.ddo.jp/linux/apache/cgi.php
全てのディレクトリで動くようにしています。更新後のapache再起動も済です。

他に必要な手順があればご教示ください。よろしくおねがいします。

●質問者: にらたま
●カテゴリ:インターネット ウェブ制作
✍キーワード:Apache CGI さくら エントリー カンタン
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● goodvn
●27ポイント

エラーログなどは出ていませんか?

エラーログにしたがって,足りないライブラリなどをインストールしないといけないと思います

CGI が Perl なら,足りない Perl module がいくつかあると推測されます

◎質問者からの返答

なるほど、確かにそうですね。ありがとうございます!

よろしければエラーログの見方を教えて頂けませんでしょうか。。

検索していますが関連記事が見つけられません。


2 ● matsuoki
●27ポイント

そののサーバに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


3 ● matsuoki
●26ポイント

ですね、Jcode.pmが無いのが原因のようです。

CPANが入っていれば、root権限で

# cpan install Jcode

でインストール出来ると思います。

もしくは、ちょっと自信は無いですが、jcode.pm(と、関連ファイルが有ればそれら一式)をcgiと同じディレクトリに入れても良いかもしれません。

まぁ好きな物を好きなだけ入れられるのが専用サーバの醍醐味なんで、cpanで入れてしまうのがおすすめです。

◎質問者からの返答

cpanでインストールしてみました。無事動いております。

CUIに苦手意識がありましたが、問題解決できて感激です。

これからも頑張って勉強していきたいと思います。

皆様、大変ありがとうございました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ