CGI・SSIの利用
- CGI
CGIは全ディレクトリで実行可能です。
ファイルの属性(パーミッション)は下記の様に設定してください。
SuExecが導入されていますのでCGIはユーザー権限で実行されます。
ファイルの種類 | 属性 |
CGIのプログラム | 700 |
CGIのプログラムを置くディレクトリ | 705 |
CGIから書き換えられるデータファイル | 600 |
※CGIのプログラム、CGIのプログラムを置くディレクトリの属性がユーザー以外が書き込み可能になっているとCGIが動作しません。
漢字コードはEUC、改行コードはLF、拡張子は.cgi又は.plにして下さい。
/public_html/cgi-bin/はCGI専用のディレクトリになっています。/public_html/cgi-bin/にはCGIのプログラム以外の画像ファイル等を置くことは出来ません。
perlのパスは /usr/local/bin/perl です。
sendmailのパスは /usr/sbin/sendmail です。
※SuExec導入後に動作しなくなった場合
SuExec導入以前にCGIで作成されたファイルはファイルの所有者がapache(48)になっていますので所有者を自分に変更する必要があります。一度FTPでファイルをダウンロードしてサーバーのファイルを削除した後、ファイルをアップロードすると所有者を自分に変更できます。
- SSI
初期状態では拡張子が.shtmlのファイルでSSIが実行されます。
.htmlでもSSIを実行したいときは下記の内容を .htaccess という名前のファイルに書いて html ディレクトリに置いて下さい。
AddHandler server-parsed .html
- 注意事項
自作のCGIを設置する際は十分にテストを行ってください。
下記のようなCGIは絶対に設置しないでください。
- CPU、メモリを長期間占有するCGI。
- 無限ループに陥る可能性のあるCGI。
- フォームから入力された文字列を直接コマンドラインに渡すなど、セキュリティー上問題のあるCGI。
- CGIの設置方法、作成方法はこちらのサイトが参考になります。