| ■CGIのご利用について |
このページは、びわ湖キャプテンのホームページスペースにCGIを設置する際に必要になる情報を集めたコーナーです。
CGIの基本的な知識を持った方を対象とさせていただいていますので、CGIそのものがわからないという場合は、市販の入門書や、CGIについて扱ったページなどをご覧ください。
びわ湖キャプテンでは、Perlスクリプトと、ASPによるCGIをご利用いただけます。
Perlのパスは、
#f:/perl/bin/perl
となっています。
が、びわ湖キャプテンでは、書いても書かなくても、どのような内容でも通ります(無視されます)。
びわ湖キャプテンでは、ファイルをアップロードした時点で、実行と読み取りが可能な状態になっています。
したがって、実行するだけであれば、なにも設定する必要はありません。
ファイルに書き込みを行う処理をする場合は、そのファイルのパーミッションを変更する必要があります。
パーミッションの変更は、ユーザー側からは行えないようになっています。
変更を行いたい場合は、メール(bcap@po.bcap.co.jp)にて、
パーミッションを変更したいファイルの場所と名前と、変更したいタイプを送っていただくと、びわ湖キャプテン側で処理を行い、変更が完了した旨のメールを送らせていただきます。
ファイルを削除して、再びアップロードした場合、パーミッションの設定が消えてしまいます。ご注意ください。上書きの場合はパーミッションの設定は残ります。
びわ湖キャプテンでは、以下の機能はセキュリティの問題やパフォーマンス維持、およびサーバーの仕様のため解放しておりません。
・telnetの使用
・CGIからのSendmailの使用
・SSIの使用
・chmodコマンド、およびスクリプト内からのパーミッション変更
・シンボリックリンクの使用およびsymlink関数の利用
・global.asaファイルの使用
・.htaccessファイルの設置
・Apache固有の機能
Perlスクリプトを使用してCGIを利用していただく場合に、ファイルに対して読み書きを行う場合はアクセスするファイルを指定するわけですが、サーバーの仕様のため、指定する方法が少し違います。
「hogehoge」というメールIDの「muni」というフォルダにある「abc.log」 というファイルの場合、
./hogehoge/muni/abc.log
と書いていただく必要があります。1文字目のピリオドも忘れないでください。
CGIスクリプトのファイルと同じところにあるファイルを指定する場合でも、このように書いていただく必要があります。
同様に、CGIのファイルからの相対指定もできないのでご注意ください。
これは、CGIのスクリプト内でファイルを指定するときだけ適用されますので、print ステートメントで書くhtmlのリンクなどはふつうに指定してください。
「print "<a href=\"./hogehoge/index.html\">"」と書くと
http://www.bcap.co.jp/hogehoge/hogehoge/index.html
を探しに行ってしまいエラーとなってしまいます。( このようなフォルダ構成にされている場合はこの限りではありませんが。 )
| 正常に動作する例 | open(CFILE,"./hogehoge/cgi/count.dat"); | ルートからの相対パス |
| require "./hogehoge/lib/jcode.pl"; | 〃 | |
| print "<a href=\"index.html\">" | print内のHTMLなどはふつうに | |
| 正常に動作しない例 | open(CFILE,"count.dat"); | ルートからのパス指定が必要 |
| require "../lib/jcode.pl"; | こういった相対パスはだめ | |
| print "<a href=\"./hogehoge/index.html\">" | HTMLではふつうに書きましょう |