- 弊社のWEBサーバーにはSuExec対応させたApacheを採用しています。各ユーザースクリプトは各ユーザー権限で動作いたしますのでセキュリティ面も安心です。
- CGIスクリプトは拡張子を .cgi に設定して、ファイルを テキストモード でアップロードすることで利用することが出来ます。 CGIスクリプトはどのフォルダでも動きます。
- .htaccess ファイルはなくてもCGIスクリプトは動作します。アクセス制限をかけたい時は.htaccess ファイルを設置してください。
|
|
|
1.ご利用できないcgi
|
- 任意のコマンドを実行できるようなプログラム
WEB上でアクセスしている人がUNIX上の危険なコマンドを実行できないように制限を加えて下さい。
- サーバーに負荷をかけるもの
箱庭諸島やアドベンチャーなどのゲーム系やシステムのリソースを占有してしまうようなものは、サーバーに負荷をかけますので使用しないでください。
- 他人に迷惑をかけるもの
サーバーは各ユーザーが共有しています。サーバーをダウンさせるようなものは、絶対に使用しないで下さい。
|
2.パス情報
|
- PERL
/usr/bin/perl (5.24.1)
/usr/local/bin/perl (5.24.1)
- SENDMAILl (qmailによるwrapperです)
/usr/sbin/sendmail
メール送信がうまくいかない場合
sendmailのコマンドラインオプションを全て消して下さい。
- NKF
/usr/bin/nkf
/usr/local/bin/nkf
- UUENCODE
/usr/bin/uuencode
- UUDECODE
/usr/bin/uudecode
|
3.ホームディレクトリーの位置及びそこまでのパス指定について
|
- cgiプログラムの中でホームディレクトリーの位置は、
/ftp/home/ご自分のログイン名/public_html/ になります。
public_htmlフォルダの中がご自分のフォルダです。従って全てのデータ及びプログラムは、このフォルダ以下に置いて下さい。
例) ログイン名が taro という場合
/ftp/home/taro/public_html/ になります。
※ SuExecはpublic_htmlフォルダ内でないと機能しません。
|
4.パーミッションについて
|
|
弊社WebサーバーはSuExec対応です。従って、CGI等はユーザー権限で動作いたしますのでパーミッションについてはセキュリティ面で下記のようにして下さい。
ロックファイルを使う場合でも、CGIを置くフォルダのパーミッションを777にする必要はありません。
言い換えれば、755以下にしなければ動きません。
|
|
種別
|
拡張子
|
一般的
|
SuExec対応※1
|
HTMLファイル
|
html,htm
|
644
|
604
|
CGIファイル
|
cgi,pl
|
755
|
700
|
データファイル
|
dat,log等
|
777
|
600
|
フォルダ
|
-
|
777
|
701
|
※1このーミッションは一番厳しいパーミッションですがセキュリティ上このパーミッションにすることをお勧めします。
|
5.cgi-binというフォルダ名について (サブドメインと独自ドメインの方)
|
|
レンタルホームページのサブドメインと独自ドメインをご利用の方はCGIスクリプトを入れるフォルダ名に
cgi-bin という名称はご利用できません。 代わりに cgi-bin 以外の例えば cgi
という名称をご利用ください。
これは、cgi-bin フォルダはWEBサーバーのCGIスクリプトの置いてあるフォルダを差しますのでユーザーの
public_html 内に作成された cgi-bin フォルダにはアクセスしないからです。
サブディレクトリー型をご利用の方は、cgi-bin フォルダという名称はご利用できますが、将来サブドメインや独自ドメインに移行される場合、そのままでは
cgi スクリプトが動作しなくなりますのでなるべく使用されないようお勧めします。
(但し、SuExec環境でなくても良いという方はこの限りではありません。)
|
6.動かない場合のよくある間違い
|
- cgiスクリプトの実行属性がついていない。
サーバー上に転送するだけでは実行できません。パーミッションを700とかに変更する必要があります。お使いのFTPソフトなどで変更して下さい。
- cgiスクリプトの改行コードが間違っている。
UNIX と DOD及びWindowsでは、改行コードが違います。スクリプト作成時に改行コードを変更されるかFTP転送されるときにASCCIIモードで転送して下さい。
- cgiスクリプトまでのパスの間違い。
cgiスクリプトまでのパス指定の間違いがよくあります。インターネット上で公開されているcgiスクリプトをそのまま転送されてもほぼ100%動きません。ホームディレクトリーの位置及びそこまでのパス指定についての説明をご覧になりご自分の環境に合わせて設定していただく必要があります。
- cgiスクリプトを置くフォルダのパーミッションが間違っている。
cgiを置くフォルダのパーミッションが777になっていませんか? 755か705や701に変更してください。
- cgiからのメール送信について
弊社のメールプログラムはsendmail互換のqmailを使用しております。従って、cgiプログラムからsendmailコマンドでメール送信を行った場合、一部正常に送信できない場合があります。
正常に送信できなかった場合は、sendmailコマンドラインのオプションを全て消して下さい。
「例」
open(MAIL, "| $sendmail -t -n -oi $mailto")
↓
open(MAIL, "| $sendmail $mailto")
|
7.どうしてもご自分でうまくいかない場合
|
|
マンボウネットでは、会員様に代わって設置サービスを行います。ご希望の会員様は ご連絡ください。
設置代行料 \2,000〜
|
|
|