トップページ サービスご案内 お知らせ お申込み お問い合わせ コミュニティ サポート オンラインマニュアル

さくらウェブ

CGIプログラムの使い方

CGIは自由に使えるようになっていますが、間違った設置方法やパーミッション設定などでは動作しませんので 下記を参照に正しく設定してください。

ファイル拡張子 ***.cgi
パーミッション 755(又は rwxr-xr-x
.htaccess ファイル 不要
※ パーミッションについて、CGI付属の説明書で 777 と指定されているものがありますが、 弊社のサーバでは suexec という機能により 755 の設定で安全にCGIを動作させることができます。

パーミッションはFTPソフトで設定するか、TELNETで接続して chmod コマンドを使って設定してください。 (chmodについての詳細

CGIファイルの改行コードはUNIXの形式(LFのみ)になっている必要があります。 WindowsやMacintoshで編集されたファイルはあらかじめ改行コードを変更してから転送するか、 FTPソフトの設定でアスキーモードで転送するようにしてください。(fetchなどの自動判別は失敗することがあります)

多数のチャットCGIなどを置くにはあまり向いていません。 (禁止ではありませんが BUSY メッセージが比較的多く出るようになることがあります)
フリーソフトのCGIなど、個々のソフトウェアについては製造元へお問い合わせください。弊社へお問い合わせいただいてもお答えしかねます。


各種コマンドのパス

Perl
(バージョン5)
/usr/local/bin/perl
又は /usr/bin/perl
sh /bin/sh
csh /bin/csh
Sendmail /usr/sbin/sendmail
gzip /usr/bin/gzip
nkf /usr/local/bin/nkf
uuencode
uudecode
/usr/bin/uuencode
/usr/bin/uudecode
Procmail /usr/local/bin/procmail

この他にも多数のコマンドがありますが、コマンドのパスはTELNETで接続し
  which コマンド
と入力すれば自動的に検索され表示されます。


ワンポイント

  • CGIを設置したがCGI Permission/Execute Errorというエラーが出る

    CGIのファイルかそのディレクトリのパーミッションが正しくありません。 そのエラーの内容も表示されていますのでエラーメッセージを確認し、パーミッションを修正してください。

  • CGIを設置したがInternal Server Errorというエラーが出る

    CGI自体のエラーです。(パーミッションは正常です) CGIプログラムの文法ミスや文字コード、必要なファイルなどを確認してください。

  • アクセスするとService Temporarily Unavailable又はCGI Execute BUSY!!というエラーが出る

    アクセスが多すぎるか、CGIが動作不良を起している可能性があります。 (後者のほうが確率が高いようです)

  • 掲示板(チャット)のファイルロック機構は flock と link(又はopen)のどちらが良いか?

    flockはファイルロック専用の関数なのでこちらが確実です。 linkなどは疑似的なファイルロックに使えるというだけで、動作不良の原因となります。
    一部のCGIでは疑似的ロックしか使えないものがありますが、アクセスが多いサイトでは頻繁に動作不良を起こす原因となります。


カウンタCGI

CGIを設置できない方のためにあらかじめカウンタCGIを使える状態にご用意していますのでご利用ください。
例文のHTMLを参考に、HTMLファイル内にタグを書くだけで簡単にカウンタを使うことができます。(例文をそのままコピーしてパラメータを変えれば使えます)
また、パラメータを指定することにより、色やフォントなどを変えることができます。パラメータは「&」で区切って複数書くことができます。
Count.cgiは同じアクセス元から連続でアクセスされたときはカウントしません。 (携帯電話などからのアクセスでもカウントしないことがありますので、かわりにnpc.cgiをお使いください)

(さくらウェブとバーチャルドメインでは設置方法が違いますので、ご覧になっているページが正しいかあらかじめご確認ください。このページはさくらウェブ用です)

Count.cgi の使い方例

<IMG SRC="/cgi-bin/Count.cgi?パラメータ">
例 

<IMG SRC="/cgi-bin/Count.cgi?df=sample.dat&md=5&dd=C&ft=2&frgb=FFA040">
例 

《Count.cgiのパラメータの一例》

パラメータ省略時の値説明
df=文字列 必須 カウント値を識別するエントリ名
(例えば df=hogehoge01 など、アカウント名などを使って他の人と同じにならないように名前を付けてください)
st=数値 1 カウント値を初期設定する
(初めて使用するときのみ指定できます)
md=数値 6 カウンタの桁数(5〜10)
ft=数値 4 カウンタの周りのフレームの太さ
frgb=RRGGBB
(16進)
648BD8 カウンタの周りのフレームの色
dd=文字列 A カウンタの文字フォントを指定(1〜5 又は A〜E)
srgb=RRGGBB
prgb=rrggbb
なし RRGGBB の色を rrggbb で置き換える
他のパラメータについては作者様のページに掲載されています。 (このCGIについて作者様への問い合わせはご遠慮ください)


npc.cgi の使い方例

<IMG SRC="/cgi-bin/npc.cgi?パラメータ">
例 

<IMG SRC="/cgi-bin/npc.cgi?L=test&W=7&C=00FF00,FF4080&P=ON&INIT=1">
例 

《npc.cgiのパラメータの一例》

パラメータ省略時の値説明
L=文字列 省略不可 カウント値を識別するエントリ名
(ユーザーIDなどを使って他の人と同じにならないように)
INIT=数値 1 カウント値を初期設定する
(初めて使用するときのみ指定できます)
W=数値 5 カウンタの桁数(1〜10)
P=ON OFF GIFアニメーションをONにする
A=[G|S] G A=G でGIF98aのアニメーションモード、
A=S でserver pushによるアニメーション
DI=数値 0 カウンタの文字フォントを指定(0〜3)
C=RRGGBB,rrggbb
(16進)
000000,FFFFFF 文字の色をRRGGBB、背景をrrggbbに指定
他のパラメータについては作者様のページに掲載されています。 (このCGIについて作者様への問い合わせはご遠慮ください)


Island無料掲示板サービス

高速動作の掲示板が無料で作れるサイト「Island(アイランド)」もご利用ください。
(さくらインターネットのサービスとは直接関係はありませんので、誰でも自由にご利用いただけます)



(C)Copyright 1996-2000, SRS SAKURA Internet Inc.