管理画面にアクセスすると CGI ファイルの内容が表示されます

現象

「すぐ使えるCGI」の管理画面( admin/admin.cgi や admin/index.cgi )にアクセスすると、管理画面でなく「#!/usr/bin/perl --」...等で始まる CGI プログラムの内容(ソース、ソースコード)がそのまま表示されてしまう。

または、CGI ファイルがダウンロードされてしまう。

原因

基本的な原因は CGI ファイルがサーバ上でプログラムとして認識されていない事です。作業上の原因は下記のようなものがあります。該当するものが無いか、確認して対応して下さい。

考えられる原因1: CGIの設置場所

サーバ管理者が指定する特定のディレクトリ( cgi-bin/ など)にプログラムをアップロードしないと CGI が稼働できない場合があります。

対応方法

サーバのマニュアル等を調べ、これに該当するようであればCGIファイルのアップロード先を変更して下さい。その際、他のファイルとの位置関係が変わりますので、環境変数も変更して下さい。

考えられる原因2: 拡張子の違い

ファイル名の拡張子を「.pl」(または他の拡張子)にしないと CGI として実行できない場合があります。

対応方法

サーバのマニュアル等を調べ、これに該当するようであればCGIファイルのファイル名を「admin.pl」など指定の拡張子のものに変更して下さい。この変更を行った場合は、管理画面にアクセスする URL が変わります。それ以外の設定変更は不要です。

考えられる原因3: 契約・設定等

CGI が使用できるサーバでも、実際にお使いになる際には別途届け出や設定が必要なサーバがあります。

対応方法

サーバのマニュアル等を調べ、これに該当するようであれば届け出や設定変更を行って下さい。特に VPS の場合は契約開始後にサーバの設定をしなければならない場合が多いですので確認して下さい。

考えられる原因4(サーバ管理者向け): IIS の設定

サーバの OS が Windows で Webサーバが IIS(Internet Information Server)の場合、CGIプログラムファイルの拡張子とそれを実行するプログラム実行エンジンの関連付けの設定が必要です。

対応方法

IIS のサイトのプロパティで、.cgi 拡張子のファイルを Perl が処理できるように設定して下さい。.cgi を既に他のプログラミング言語に割り当てている場合、拡張子を変更して設定して下さい。

広告