マソム自宅サーバ構築の記録

  • CGIの設置
  • 作成日:05/10/19    更新日:09/08/07

CGIプログラム内のパス

perlへのパスが合っていることを確認します。大抵は/usr/bin/perl か usr/local/bin/perl です。
CGIプログラムの1行目に以下のような記述があります。
  #!/usr/bin/perl
それと perl のパスが同じならOKです。パスは以下のようにして確認できます。
$ which perl
/usr/bin/perl
違っていた時は、 CGIプログラムの1行目を変更して同じパスにしておきます。

環境の設定

任意のディレクトリでCGIを使うには、そのディレクトリでのCGI実行をApacheが許可する必要があります。
Apache設定ファイルhttpd.confのAllowOverrideディレクティブにOptionsを指定しておきます。以下は例です。

<Directory "ドキュメントルートのディレクトリパス">
AllowOverride FileInfo AuthConfig Limit Options
Options SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

.htaccessファイルの設定

.htaccessファイルに以下を追加します。
Options +ExecCGI

FTPサーバがvsftpdの時

FTPでCGIファイルをアップロードすると思いますが、FTPサーバがvsftpdの時は設定ファイルvsftpd.confでaschiiモードの転送を可能にするようにしておく必要があります。そうしないと改行コードの処理で問題が起こり、Internal Server Errorになります。
 ascii_upload_enable=YES
 ascii_download_enable=YES

CGIファイルの設置

CGIファイルには実行権限を与えておく必要があります。
$ chmod 755 xxxxxxx.cgi


紆余曲折Tips