Internal Server Errorが出て、動作しません。
Internal Server Error の原因は多岐にわたり特定は難しいのですが、少なくとも以下の項目を確認して下さい。
- サーバの環境
-
- 独自 CGI の設置が許可されていること。プロバイダーによっては CGI 設置を許可していません。そのようなサーバに CGI
を設置したとしても動作いたしませんので、ご確認ください。
- Perl5 がサーバにインストールされていること。Perl4 では動作しません。
- サーバが Unix 系 OS であること。fuotmi's CGI Cafe で公開している CGI はすべて UNIX サーバを前提に作成されております。
Windows 系サーバでは動作しません。
- CGI の設置
-
- サーバへファイルを転送する際に、転送モードを正しく設定して下さい。
ファイルごとに転送モードを指定する必要があります。FTP ソフトによっては自動認識するものがありますが、
ファイルの拡張子によってはバイナリーモードで転送する場合があります。マニュアルで指定して転送することをお勧めします。
- CGI ファイルの 1 行目の Perl のパスを正しく設定してください。サーバによって Perl のパスは異なります。
ご自分の環境に合わせて修正してください。配布された状態では、1 行目は
#!/usr/bin/perl
となっております。
- ファイルパーミッションを正しく設定して下さい。
サーバによってファイルパーミッションは異なります。
必ずプロバイダーやレンタルサーバ業者から指定されたパーミッションに設定して下さい。
- CGI 設置の注意事項は、「CGIセッティングの7ヶ条」コーナーにまとめてありますので、
ご覧下さい。
other 権限で CGI が実行されるサーバですが、動作しません。
ohter 権限で実行される環境においては、パーミッションを変更することで動作する場合が多いです。
基本的に、other 権限で CGI が実行される場合には、ログファイルなどのような CGI が書き込むファイルは、other に対して書き込み権限が必要となります。
また、CGI がファイルを自動生成する場合には、格納ディレクトリ自体に、other に対して書き込み権限が必要となります。
ご利用のサーバー環境にもよりますが、一例として、
- ログファイル: 606
- ログ格納ディレクトリ: 707
とすると動作することがあります。なお、格納ディレクトリのパーミッションは other に書き込み権限があっても「706」では動作しませんのでご注意ください。
Windows サーバでも利用できますか?
当サイトで配布している CGI は、UNIX サーバを前提に作成されております。
そのため、Windows サーバでは動作しない場合がありますので、ご注意下さい。
特に、WWW サーバソフトとして IIS が採用されている場合には、動作いたしません。
Apache for Windows をご採用の場合には、ほとんどの CGI が動作しますが、保証の限りではございませんので、ご了承下さい。