|
■独自CGIを利用する場合■
|
|
■使用可能な言語
|
CGIとして利用可能な言語は、以下の3種類です。
|
Perl(Ver.5.00503) /usr/bin/perl |
|
Perl(Ver.5.8.4) /usr/local/bin/perl |
|
Bourneシェル /bin/sh |
|
Cシェル /bin/csh |
※上記以外の言語(C言語など)で記述されたプログラムはご利用いただけません!
|
|
|
■スクリプトの1行目(各スクリプトのパス)
|
CGIとして動作させるスクリプトを記述する際には、必ず1行目に『#!*********(***は処理系のパス)』を入れなくてはいけません。
例えば、Perlで記述したスクリプトであれば、1行目は
#!/usr/bin/perl
となります。
なお、1行目に上記以外の物が記入されていると(改行、スペースなど)、正常に動作しませんのでご注意ください。
|
|
|
■スクリプトのファイル名
|
|
CGIスクリプトのファイル名に関しては、半角英数と言う制約以外はありません。拡張子等も自由です。パーミッション(後述)が正しく設定されている限り、どのようなファイル名でも実行可能です。
|
|
|
■設置先ディレクトリ
|
CGIスクリプトは、以下のディレクトリ以外では動作しません。ご注意ください。
●動作するディレクトリ
・/cgi-bin
・/cgi-bin-s(SSLをお申し込みの場合)
|
|
■パーミッション
|
各ディレクトリ毎に、設定可能なパーミッションがあらかじめ指定されています。
設定可能なパーミッションは、以下の通りです。
| | /cgi-bin | パーミッション777 |
|
| /cgi-bin-s | パーミッション777 | SSL契約時のみ存在 |
| /cgi-data | パーミッション700 | 使用できません |
| /cgi-data-s | パーミッション777 | SSL契約時のみ存在。使用できません |
| /htdocs | パーミッション644 |
|
| /htdocs-s | パーミッション644 | SSL契約時のみ存在 |
●スクリプトのパーミッション
各スクリプトは、パーミッションが「700」に設定されていないと実行できません。また、サポートWebの『CGI構文チェック』を利用する場合、パーミッションが「704」に設定されていないと、『ファイルが見つかりません』とエラーになってしまいますのでご注意ください。
●サブディレクトリのパーミッション
「/htdocs」「/cgi-bin」(SSLご契約時は「/htdocs-s」「/cgi-bin-s」も含む)ディレクトリは、必要に応じてサブディレクトリを任意に設定することが可能です。その際、以下の制約がございますのでご注意願います。
・/htdocs(/htdocs-s)内のサブディレクトリ
作成したときのままのパーミッションでご利用いただけます。
・/cgi-bin(/cgi-bin-s)内のサブディレクトリ
ディレクトリパーミッションが「705」に指定されていない場合、そのサブディレクトリ以下のCGIは、パーミッション設定が正しくても動作しません。
|
|
|
●具体的なパーミッションの例
|
| |
☆CGIのパーミッション |
| /cgi-bin(または/cgi-bin-s) |
| |--- test.cgi(パーミッション700) | ・・・実行可能 |
| |--- check.cgi(パーミッション704) | ・・・実行可能 |
| |--- sample.cgi(パーミッション644) | ・・・実行不可 |
| | |
| |--- subdir(パーミッション705)・・・実行可能サブディレクトリ |
| | |--- subtest.cgi(パーミッション700) | ・・・実行可能 |
| | |--- subcheck.cgi(パーミッション704) | ・・・実行可能 |
| | |--- subsample.cgi(パーミッション644) | ・・・実行不可 |
| | |
| |--- subdir2(パーミッション644)・・・実行不可サブディレクトリ |
| |--- sub2test.cgi(パーミッション700) | ・・・実行不可 |
| |--- sub2check.cgi(パーミッション704) | ・・・実行不可 |
| |--- sub2sample.cgi(パーミッション644) | ・・・実行不可 |
|
|
| |
☆HTML(SSL)のパーミッション |
| /htdocs(または/htdocs-s) |
| パーミッション644以外変更不可能 |
|
|
※独自CGIでのご注意
●使用可能なモジュールについて
ホスティングサービスでご利用いただけるPerlモジュールは、以下の物だけです。
| | CGI.pm |
| Time/Local.pm |
| 上記モジュールに相関した以下のモジュールも利用可能です |
| Carp.pm |
| Exporter.pm |
| Strict.pm |
| Overload.pm |
| Shellwords.pm |
●CGIからhtdocs内のコンテンツ操作に関して
| |
独自CGIから/htdocs(/htdocs-s)フォルダ内のファイルを直接書き換えることは不可能です。これは、/htdocs(/htdocs-s)フォルダのアクセス権限による物で、CGIでは書き込み権限が無いため、ファイルを作成・更新・削除しようとするとエラーになります。
/cgi-bin(/cgi-bin-s)内であれば、適切なパーミッション設定を行うことで上記のファイル操作は可能ですが、htmlファイルを表示させることが出来ません。ですので、そうしたCGIの利用を検討されている場合は、十分ご注意ください。
|
●CGI稼働制限に関して
| |
ホスティングサービスでは、独自CGIによるサーバーへの負荷軽減、及び不慮の事故によるサーバ停止等の影響を未然に防ぐため、1プロセス毎の利用可能メモリ容量を4MBまでに制限しています。このため、一部CGIがホスティングサーバでは稼働しない場合があります。ご注意ください(特に、処理に時間がかかるCGIやサイズの大きなファイルを扱う様なプログラムは中途で強制終了される可能性が高くなります)。
|
|