旧サーバーと新サーバーでは「よくあるご質問」「CGIについて」「アクセス権について」の一部情報が異なります。また、「アクセスカウンタ」は旧サーバーの方のみご利用いただけます。
旧サーバー情報については以下をご覧下さい。
※対象の旧サーバーIPアドレスは以下の通りです。
202.233.2.226 / 202.233.2.227 / 202.233.2.228 / 202.233.28.6~32
よくあるご質問 CGIについて アクセス権について アクセスカウンタについて
Q1~11、およびQ13、Q14は新・旧サーバー間の違いはございません。
sh → /usr/bin/shCGIプログラムの1行目に #! の後に上記のパスを半角で記述します。
csh → /usr/bin/csh
Perl version 4.036 → /usr/local/bin/perl
Perl5 version 5.003 → /usr/local/bin/perl5
Perl56 version 5.6.0 → /usr/local/bin/perl56
#!/usr/bin/shperlと書きますと、Perl version 4になります。
#!/usr/bin/csh
#!/usr/local/bin/perl
#!/usr/local/bin/perl5
#!/usr/local/bin/perl56perl
#!/usr/local/bin/perl5
print "Content-type: text/html\n\n";
.
.(怪しい部分)
. print "debug";
exit;
.
「sendmail、nkfのパスについて」「CGIプログラムの指定(呼び出し)の方法について」「フォームメールCGIプログラムについて」は新・旧サーバー間の違いはございません。
Shell(sh,csh)とPerl(version 4とversion 5)です。コマンドのパスは次の通りです。
sh → /usr/bin/sh
csh → /usr/bin/csh
Perl version 4.036 → /usr/local/bin/perl
Perl5 version 5.003 → /usr/local/bin/perl5
Perl56 version 5.6.0 → /usr/local/bin/perl56
CGIプログラムの1行目に#!の後に上記のパスを半角で記述します。
perlと記述しますと、Perl version 4になります。U-netSURFのPerl version 4ではflockが使用できないので、Perl5またはPerl56を使用してください。
CGIプログラムの拡張子は「.cgi」としてください。また、CGIプログラムの属性(パーミッション)に実行可能モードを追加してください。
注)jperl(日本語Perl)はインストールされておりません。
jcode.pl、cgi-bin.plはインストール済みですので、アップロードされる必要はありませんが、最新バージョンなどをホームディレクトリ以下にアップロードされても構いません。
Perl、Perl5 → jcode.pl version 2.3、cgi-lib.pl version 1.8l
Perl56 → jcode.pl version 2.13、cgi-lib.pl version 2.18
ホームディレクトリ以下にアップロードされた時は、require文でそのパスを指定するか、use lib文でそのパスを追加してください(@INCの先頭に追加されます)
なお、属性(パーミッション)に実行可能モードを追加する必要はありません。
例: require './lib/cgi-lib.pl'; # './lib'は、 現在のディレクトリ下にあるlibというディレクトリ。または use lib './lib'; require 'cgi-lib.pl';
CGI.pmは、Perl5ではインストールされていませんでしたので、アップロードして戴かなければなりませんでした。
Perl56では、インストールされていますので、アップロードされる必要はありません。
Perl → pm(パールモジュール)は、Perl version 4では利用できません。
Perl5 → CGI.pmはインストールされていません。
Perl56 → CGI.pm version 2.56
ホームディレクトリ以下にアップロードされた時は、use lib文でそのパスを追加してください(@INCの先頭に追加されます)。なお、属性(パーミッション)に実行可能モードを追加する必要はありません。
例:use lib './lib';
use CGI;
CGIプログラムの設置場所は、任意です。
ただし、ホームディレクトリの直下には、cgi-binというディレクトリを作成 しないでください。
cgi-bin という名前でディレクトリを作成して、そのディレクトリ下に CGIプログラムを格納されても正しく起動されません。
cgi-binというディレクトリの意味ですが、アクセスカウンタの設置例で説明しますと <IMG SRC="/cgi-bin/Count.cgi?dd=A&df=Wnamae.dat">で呼び出すcgi-binディレクトリは、お客様のホームディレクトリ下にあるcgi-binディレクトリではなく、サーバー本来の(ルートの)cgi-bin ディレクトリにあるCount.cgiプログラムを呼んでいるということです。
ホームディレクトリ直下ではなく、あるディレクトリを作られてその下に cgi-binというディレクトリを作られるのは構いません。 例えば、./board/cgi-bin/board.cgiは正しく起動されます。 掲示板のCGIプログラムを使う場合、お客様のディレクトリ名がWnamae、 CGIプログラム名が board.cgi、データファイル名が board.dat でしたら以下のような階層になります。
Wnamae ---(ホームディレクトリ)
|- index.html
|- board(掲示板用ディレクトリ)
|- board.cgi
|- data(データファイルのディレクトリ)
|- board.dat
サーバー側では大文字、小文字を区別して別の文字とみなしますので、ディレクトリ名、ファイル名を指定する際は、注意してください。
CGIプログラムの属性(パーミッション)は、FTPソフトで実行可能(x)モードを追加してください。(664から775にしてください)
7:「オーナ」のパーミッションです。
7:「グループ」のパーミッションです。
5:「その他」のパーミッションです。4bi : r 読み取り可
2bit: w 書き込み可
1bit: x 実行可
通常は、775にしますが、U-netSURFでは、CGIプログラムは「その他」のアクセス権で実行されますので、次のように設定するのがベストです。
「オーナ」のパーミッションは、アップロードのために、6または7でなければいけません。 「グループ」のパーミッションは、ftpアカウントが複数あるときのアップロードのために、6または7でなければいけません。
パーミッションは、左から3桁の組で順に、オーナ・グループ・その他のユーザに対する設定になります。パーミッションは内部的には9ビットの2進数、つまりオン(1)かオフ(0)かで現されます。例えば、パーミッションが
rw-rw-r--
の場合、これを2進数であらわすと
110110100
となりますが、通常は3ビットづつまとめて8進数であらわして、「664」のように表記します。
読み(r) | 書き(w) | 実行(x) | 読み(r) | 書き(w) | 実行(x) | 読み(r) | 書き(w) | 実行(x) |
r | w | - | r | w | - | r | - | - |
オーナ |
グループ |
その他 |
||||||
1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
アップロードしたファイルのパーミッションは664に設定されます。
通常、アップロード後ファイルの属性を変更する必要はありませんが、CGIプログラムファイルは、実行可(x)ビット、CGIプログラムが書き込みするファイルは、書き込み可(w)ビットがそれぞれ必要です。
例:
CGIプログラム:rwx rwx r-x 775
書き込みデータファイル:rw- rw- rw- 666
CGIプログラムは通常775にしますが、Webサーバー上のCGIプログラムは、「その他」のアクセス権で実行されますので、次のように設定するのがベストです。
CGIプログラムが書き込むデータファイルも同様に、次のように設定するのがベストです。
「オーナ」のパーミッションは、アップロードのために、6または7でなければいけません。 「グループ」のパーミッションは、ftpアカウントが複数あるときのアップロードのために、6または7でなければいけません。
標準のCGIプログラムとして、「アクセスカウンタ」を使用することが出来ます。カウンタをつけるページに、以下の形式の<IMG>タグを定義します。
<IMG SRC = "/cgi-bin/Count.cgi?df=ユーザディレクトリ名.dat&オプション&...">
カウンタプログラムCount.cgiを<IMG SRC="/cgi-bin/Conut.cgi ...">で呼び出します。
「?」以下は、表示タイプ(A、B、C、D)枠の幅、色などのオプションを指定することができます。オプションを指定しない場合には、デフォルト値が適用されます。
それぞれのオプションの間は「&」で区切り、その指定値を「=」以下で指定します。
例:
ユーザディレクトリ名が"Wnamae"の場合
<IMG SRC="/cgi-bin/Count.cgi?df=Wnamae.dat&dd=A">
注)Count.cgiのCは大文字です。
オプション dd で指定する表示タイプは、大文字のA、B、、Dです。SRC="(引用符)のペアになっている最後の">の"(引用符)を忘れないでください。
オプション | 指定内容 | 変数値 | デフォルト値 |
---|---|---|---|
dd | 表示タイプ | A,B,C,D | A |
df | ユーザディレクトリ名.dat | ファイル名 | - |
comma | コンマの挿入 | Y,N(Yes , No) | N |
frgb | 枠の色の指定 | RGBによる指定 | 648BD8 |
ft | 枠幅のピクセル値 | 0~6の数値 | 6 |
incr | カウンタのインクリメント | Y,N(Yes, No) | Y |
md | カウンタの最大桁数 | 5~10の数値 | 6 |
negate | イメージの色調の反転 | Y,N(Yes, No) | N |
pad | 上位桁を0で埋めるか | Y,N(Yes, No) | Y |
sh | カウンタの表示 | Y,N(Yes, No) | Y |
srgb prgb | イメージの色調の指定 | RGBによる指定 | - |
tr | イメージの背景色の透明化 | Y,N(Yes, No) | N |
RGB(色)についてはHTML書籍を参照してください。
A | B | C | D |
カウンタ値のテキスト形式を得ることはできません。
また、カウンタファイル(ユーザディレクトリ名、dat)がホームディレクトリ内に存在しないために、カウンタファイルの中身をFTPソフトで参照することはできません。