SAK ソフトウェア FAQ - CGI-Perl
CGI-Perl
■お使いのサイトで CGI の実行がサポートされている必要があります。 サイトの FAQ などで、ご確認下さい。 Perl5 が動作可能と記載されていれば、大丈夫かと思います。 Perl4 での動作は未検証です。 ■Perl へのパスは、パッケージは「#!/usr/local/bin/perl」となっています。 サイト仕様が「#!/usr/bin/perl」など、標準設定値と違えば、*.cgi の 1 行目を全て修正して下さい。 ■CGI の実行に特別な仕様のあるサイトでは、標準のままでは使えない可能性が 高いです。サイトの FAQ など、ご確認下さい。 ■CGI に広告が割り込むサイトで、クッキー(Cookie) ヘッダを破壊するタイプ では、動作に支障のでる CGI プログラムがあります。 主要 CGI は、HTML クッキーが選択設定できるようになっていますので、 「1 HTML クッキー」 $jcookie = 1; にして設置して下さい。 カウンタのテキスト表示にも広告が割り込む場合は、画像カウンタ表示を 選択してお使い下さい。 ■*.cgi、*.pl、*.txt、*.dat 等のテキストファイルは、アスキー(テキスト) 形式で FTP アップロードして下さい。 *.gif、*.jpg、*.jpeg 等の画像ファイルは、バイナリ形式で FTP アップロー ドして下さい。 お使いの FTP ツールに自動判定で拡張子の設定が正しくされているようなら、 自動判定モードで FTP アップロードすると簡単です。 ■パーミッションは、サイト仕様によって微妙に違うのが常ですが、標準的には 次の設定で動作する可能性が高いようです。 どうしてもうまく動作しない場合は、全て 777 に変更してテストして下さい。 ・掲示板系 cgi-bin/ 755 s3mb/ 755 w_img/ 755 w_s3mb/ 777 ← ファイル作成権 777 に変更 w_s3mb_b/ 777 ← ファイル作成権 777 に変更 *.pl 644 *.cgi 755 ← 実行権 755 に変更 ・カウンタ系 cgi-bin/ 755 s3cnt/ 755 *.gif 644 *.cgi 755 ← 実行権 755 に変更 w_sys/ 777 ← ファイル作成権 777 に変更 *.* 644 ■解析型カウンタや掲示板、絵日記など、ホームページ容量の消費にも注意して 下さい。カウンタが空白になってしまったり、掲示板に空の投稿となるような 場合、容量限度に到達している可能性があります。 @nifty の場合は、残り 1MB ぐらいで、実質残り 0 に限りなく近いです。 ファイルラベル容量や最小アロケーションサイズが加味されていない場合が あります。 容量限度に到達した場合、 - ホームページ容量を増やす -- @nifty では、5MB 単位で増量できます。 - 解析型カウンタでは、アクセスログ、リンクログを記録しないように 設定できます。 各設定によって、w_sys/ 内の次のファイルを削除して下さい。 -- アクセスログ w_s3alog.txt w_s3alog.old -- リンクログ w_s3llog.txt w_s3llog.old - 掲示板では容量限度を下げて「容量限度による自動整理」機能を有効に 活用して下さい。 設定変更後にテスト投稿すれば、オーバ容量分のメッセージが自動削除 されます。 ■高負荷の CGI を動作させると、CGI-Server によっては障害発生時に 動作フォルダ内に core と言う名前のログファイルが出力されます。 core ファイル対策については、次の FAQ を参考にして下さい。 Q-【CGI】 core ファイル対策(CGI 障害ログ)
■@nifty のユーザホームページは CGI をサポートしています。 そもそもが @nifty で動作するのを大前提で開発していますので、 まったく問題ありません。 ■公開パッケージは標準的なサイトイメージのフォルダ構成になっていますが、 梱包の「読んでね.txt」に従って、@nifty イメージに簡単にできます。 @nifty では、cgi-bin に HTML ファイルを置けないので、パッケージに w_img/ と言うフォルダがあるものは、これだけを homepage エリアに FTP する必要があります。 1. 解凍すると、次のフォルダイメージができます。 s3mb/ w_img/ w_s3mb/ w_s3mb_b/ *.pl *.cgi 2. w_img/ フォルダが含まれるものは、次のようにローカルで配置します。 そして、VB ツールで「アイコン画像ベース URL」が「.」となっているの を 「http://homepage2.nifty.com/???/s3mb」(最後の / はいらない) の ように自分の homepage URL に修正します。 cgi-bin/ s3mb/ w_s3mb/ w_s3mb_b/ *.pl *.cgi 755 ← 実行権 755 に変更 homepage/ s3mb/ w_img/ 3. w_img/ フォルダがないものは、次のようにローカルで配置します。 cgi-bin/ s3sr/ w_s3sr/ *.pl *.cgi 755 ← 実行権 755 に変更 4. フォルダ毎 @nifty へ自動判定 FTP して、cgi-bin/ に FTP した *.cgi のファイルだけをパーミッション 755 に変更します。 以上で、動作します。
■biglobe の CGI 環境は @nifty とほぼ同等です。 梱包の「読んでね.txt」に従って、@nifty イメージを参考に設置して下さい。 biglobe では、cgi-bin に HTML ファイルを置いても相対アクセスはできない ので、パッケージに w_img/ と言うフォルダがあるものは、これだけを通常 public_html/ エリアに FTP する必要があります。 1. 解凍すると、次のフォルダイメージができます。 s3mb/ w_img/ w_s3mb/ w_s3mb_b/ *.pl *.cgi 2. w_img/ フォルダが含まれるものは、次のようにローカルで配置します。 そして、VB ツールで「アイコン画像ベース URL」が「.」となっているの を 「http://www5?.biglobe.ne.jp/~???/s3mb」(最後の / はいらない) の ように自分の homepage URL に修正します。 フォルダとファイルの各パーミッションは、横の数値で実績があります。 public_html/ cgi-bin/ 755 s3mb/ 755 w_s3mb/ 755 w_s3mb_b/ 755 *.pl 644 *.cgi 755 s3mb/ 755 w_img/ 755 *.gif 644 3. w_img/ フォルダがないものは、次のようにローカルで配置します。 フォルダとファイルの各パーミッションは、横の数値で実績があります。 public_html/ cgi-bin/ 755 s3sr/ 755 w_s3sr/ 755 *.pl 644 *.cgi 755 4. 実際の CGI 呼び出しは、サーバが違いますので、 http://cgi.www5?.biglobe.ne.jp/~???/cgi-bin/s3mb/w_s3mbix.cgi のようになります。
■トクトクでは、広告が割り込みますので、必ず、「HTML クッキー」の設定に して設置下さい。 1. 解凍すると、次のフォルダイメージができます。 s3mb/ w_img/ w_s3mb/ w_s3mb_b/ *.pl *.cgi 2. トクトクでは、cgi-bin/ へ s3mb/ ごと FTP するだけです。 フォルダとファイルの各パーミッションは、横の数値で実績があります。 cgi-bin/ 701 s3mb/ 701 w_img/ 701 w_s3mb/ 701 w_s3mb_b/ 701 *.pl 600 *.cgi 755
■広告割り込みサイトでは、CGI によるクッキー出力が無効になる場合が多いです。 ・主要フリー CGI ソフトは、全てクッキー問題に対処可能です。 ・標準の設定で、クッキーヘッダが破壊される、または、クッキーがテキスト 文字として表示されるサイトでは、 $jcookie = 0; |_ 0 CGI クッキー(通常) 1 HTML クッキー CGI クッキーが使用できないサイトでのみ $jcookie = 1; に設定して下さい。 と、$jcookie = 1; にして下さい。 VB6 修正ツールが梱包されているソフトでは、「1 HTML クッキー」を選択 して、一括修正します。 手作業では、該当する全ての CGI を $jcookie = 1; に修正します。 ・$jcookie = 1; でも対処不能、または、$jcookie = 1; に対応していない CGI ソフトは、自力でクッキー対応修正していただいて問題ありません。
Q-【CGI】 実行できない (Internal Server Error 他)
■*.pl、*.cgi、*.txt、*.dat は、FTP のファイル転送がテキスト(アスキー)形 式か自動判定転送でないと動作しません。 バイナリ転送していないか確認して下さい。 ■パーミッションを 755 に設定して試してみて下さい。 ■Perl 開始記述が「#!/usr/local/bin/perl」でないサイトが、まれにあるよう です。サイトの説明に従って、CGI 1 行目の開始記述を「#!/usr/bin/perl」 などに全て修正して下さい。 ■「Internal Server Error」は、Perl 開始記述の「#!/usr/local/bin/perl」 をまずチェックしてみると良いです。
■各ソフト梱包の設置要項と説明書のフォルダロケーションを確認して下さい。 ■CGI で扱う画像には、単純にリンクで処理するものと、プログラムでオープン するものとがあります。 ・例えば、アクセスカウンタのカウンタ画像や画像アップ掲示板の添付画像 (w_s3mb_b/) は、CGI が直接オープンして処理しますので、標準のまま設置 して下さい。ロケーションを変更する必要はありません。 ・例えば、画像アップ掲示板のデザインアイコン(w_img/) などは、 単純リンクで表示しますので、cgi-bin/ へ HTML が置けない @nifty の ようなサイトでは、homepage/ ロケーションに変更する必要があります。
Q-【CGI】 ファイアウォール - プライバシーブロック対応済み
■ファイアウォールで、現 URL や直前の URL 情報をプロックしている場合でも 私の公開している主要フリー CGI は正常に動作します。 ・但し、アクセス解析のページカウントだけは、情報が引き取れないため、 加算されません。(エラーにはなりません。) うちの全体アクセスの 8% がプライバシーブロックを設定されているようです。 私も当然ながらプロックしています。
Q-【CGI】 企業サイト、商用サイトでの通常利用は可能です (利用規程)
■SAK 提供のソフトウェアを企業サイト、商用サイト、イントラネットで利用し ても、一般的な用途であれば、特に制限はしません。 但し、次の項目に該当する場合は、有償とさせていただきます。 (フリーCGI 利用規程 - 2002.08.06 改訂) ・企業、個人にかかわらず、私の著作権表示を削除、または、変更する場合。 (デザインの変更は、これに該当しません。) Q-【CGI】 著作権表示を外す場合は、新規開発扱いになります ・企業、個人にかかわらず、私のソフトウェアの一部コードでも使用している ものをシェアウェア、その他有償ソフトとして、配布・販売・運用する場合。 ・企業、個人にかかわらず、私のソフトウェアをレンタルサービスとして提供 する場合。(無料レンタル掲示板など) Q-【CGI】 企業、個人にかかわらず、レンタルサービスとしての利用は有償です ・企業、個人にかかわらず、私のソフトウェアを有料コンテンツとしてサイト に設置運用する場合。有料サイト内に設置運用する場合は、常識の範囲で判断 して下さい。 ・企業、個人にかかわらず、私のソフトウェアの設置設定料、カスタマイズ費用 を徴収する場合。但し、ホームページ作成請負の一部として私のソフトウェア を設置設定する場合は、実工数程度の常識範囲であれば問題ありません。
Q-【CGI】 著作権表示を外す場合は、新規開発扱いになります
■著作権表示があれば、カスタム仕様にカスタマイズしても 25,000円 〜 150,000円程度ですが、 著作権表示を外すと、新規開発扱いになってしまいます。 仕様にもよりますが、150,000円 〜 500,000円程度かかります。 ■商用サイトでも、公開フリーCGI の著作権表示をそのままにして お使いになっているサイトも多いです。 恐らく、ご予算とかけ離れているかと思いますまで、 著作権表示をそのままにして、フリーCGI としてのご利用をおすすめします。
Q-【CGI】 企業、個人にかかわらず、レンタルサービスとしての利用は有償です
■企業、個人にかかわらず、私のソフトウェアをレンタルサービス (無料レンタル掲示板など) として提供する場合は有償とさせていただきます。 尚、レンタルサービス用の機能は標準では持っておりませんので、 仕様にもよりますが、1,500,000円 〜 2,500,000円程度かかります。
■無料ホームページサイトなどで、広告割り込みが自動で行われるとき、CGI の 出力しているクッキーヘッダが無効になる場合があります。 ・主要フリー CGI ソフトは、全てクッキー問題に対処可能です。 ・標準の設定で、クッキーヘッダが破壊される、または、クッキーがテキスト 文字として表示されるサイトでは、 $jcookie = 0; |_ 0 CGI クッキー(通常) 1 HTML クッキー CGI クッキーが使用できないサイトでのみ $jcookie = 1; に設定して下さい。 と、$jcookie = 1; にして下さい。 VB6 修正ツールが梱包されているソフトでは、「1 HTML クッキー」を選択 して、一括修正します。 手作業では、該当する全ての CGI を $jcookie = 1; に修正します。 ・$jcookie = 1; でも対処不能、または、$jcookie = 1; に対応していない CGI ソフトは、自力でクッキー対応修正していただいて問題ありません。
■通常、CGI のファイルアクセスは相対パス指定で問題ないのですが、一部の サーバではファイルアクセスに絶対パス指定が必要です。 サイトの FAQ など参考にして下さい。
■最新バージョンの投稿制限機能 ・掲示板関係の個別セキュリティ機能に加えて、一般的な投稿制限が可能にな りました。 ・リロードによる再投稿やうっかり同じテキスト流し込みは、二重投稿禁止の 制限がかかります。本文が同じ投稿はできません。 ・連続投稿は、返答も含めて標準では 10 件までになります。 (管理者 ID による投稿は無制限) オーバーすると、該当ユーザは設定時間が経過しないと投稿禁止になります。 もちろん、別のユーザは投稿できます。 ・クッキーを使わない投稿を禁止にもできます。 この制限をかけると i-mode での投稿も不可能になると思います。 ・投稿制限関係の設定値は、「読んでね.txt」に従って修正して下さい。 VB 修正ツールは、画面には表示しませんが、指定 CGI に行ったこの修正を 他の CGI に一括反映します。 ・投稿総容量による自動整理機能に注意して下さい。 件数限度に満たなくても使用総容量が容量限度を超えると、自動的に削除さ れます。ホームページ容量にゆとりがあれば大きめに設定されると良いです。
Q-【CGI】 LZH 書庫を解凍するとファイルが見当たらない
■通常、LHA ツールで解凍するとサブフォルダも含めて解凍されますが、お使い のツールによっては、トップフォルダ分しか解凍されない可能性があります。 この場合、x パラメタで解凍して下さい。 【例】 lha x s3cb330e
■掲示板や絵日記などデータファイル名に「~」文字が含まれるものがあります。 お使いのサーバで「~」文字が使用できないと、該当する公開ソフトウェアは 使用できません。 一般的な UNIX、Linux、Windows サーバでの稼働実績はあります。 ・お使いの FTP ソフトがファイル名の「~」文字を許さない場合もあります。 この場合は、サンプルデータは FTP アップロードできませんが、新規投稿 に問題なければ掲示板や絵日記 CGI が利用できます。
■高負荷の CGI を動作させると、CGI-Server によっては障害発生時に 動作フォルダ内に core と言う名前のログファイルが出力されます。 これが、1MB 〜 6MB と強烈な容量で一気にホームページ容量限度に到達して、 他の CGI 動作に支障をきたします。 予想外にホームページ容量が増加したような場合、*.cgi のあるフォルダ全部 に core ファイルが出来ていないかチェックして下さい。 意図せず core ファイルができていれば削除して問題ないようです。 ■SAK Streets 公開の CGI では、「s3sh_e コンテンツ検索」が高負荷の CGI と なります。 ■core ファイル対策としては、できてしまうフォルダにサイズ 0 バイトの core ファイルをあらかじめ FTP で設置しておき、core のファイルパーミッションを 000 にしてしまう手が考えられます。 SAK Streets の s3sh_e にこの対策を実施し、ただいま検証中です。 ・サイズ 0 のファイルを作成するには、エクスポローラで、右ボタンクリック、 新規作成、テキスト文書で「新規テキスト文書.txt」を作成すると楽です。 ・この「新規テキスト文書.txt」のファイル名を「core」に同じくエクスポロ ーラで変更します。拡張子はなし、ファイル名は小文字です。 × 「core.」 × 「core.txt」 × 「CORE」 ○ 「core」 ・できた core ファイルの FTP 先は ????.cgi の設置フォルダです。 例えば cgi-bin/s3sh/w_s3shix.cgi の配置であれば、cgi-bin/s3sh/ の中 に置きます。w_s3shix.cgi と同じ場所と言うことです。 ・FTP 後に、FTP ツールで core のファイルパーミッションを 000 にします。 つまり、CGI-Server の障害が発生してサーバが core をダンプしようと した時に、既に書き換え不能の core ファイルがあるので実際の出力がされ ないと言う仕組みです。
■海外サーバに CGI を設置して、日本時間との時差を補正するには、 全ての CGI の localtime(time) を localtime(time + 補正秒) と全箇所 修正して下さい。 例えば 1 時間 30 分早ければ localtime(time + 5400) 遅ければ localtime(time - 5400) とします。
■各公開パッケージに FTP 対象のフォルダを明記していますが、一般的には、 s3mb、s3cnt、w_sys 等の CGI や データの親フォルダを FTP します。 ■読んでね.txt、設置要項.txt、rs3mb370.exe、rs3mb370.ini、crtsch.exe、crtsch.ini などのローカル PC で利用するドキュメントやツールプログラムは FTP する 必要がありません。
Q-【CGI】 VB 修正ツール - COMDLG32.OCX 実行時エラー
■CGI ソフトに梱包されている rs3mb320.exe などの VB 修正ツール実行で、 COMDLG32.OCX 関係のエラーメッセージが表示されるときは、コモンダイアロ グコンポーネント comdlg32.ocx が正しく登録されていない、または、インス トールされていない可能性があります。 1. VB6 コモンダイアログコンポーネントを次のページよりダウンロード http://sak.cool.coocan.jp/w_sak3/soft/public/vb6run/comdlg.htm 2. comdlg.lzh を解凍するとできる setup.exe を実行してインストール します。これで動作すると思います。 3. 以上でも動作しない場合、VB6 ランタイムのレベルが低すぎるか、あまり にも足りません。ベクターで「VB6基本ランタイム」で検索して、1MB 〜 3MB 程度のランタイムで試してみて下さい。 http://www.vector.co.jp/
■CGI ソフトに梱包されている rs3mb320.exe などの VB 修正ツール実行で、 文字化けして表示される場合、VB6 ランタイムが正しくインストールされて いないか、レベルが低すぎます。 ベクターで「VB6基本ランタイム」で検索して、1MB 〜 3MB 程度のランタイム で試してみて下さい。(SP3 以上が無難です。SP5 での実績あり。) http://www.vector.co.jp/