インストール
プロバイダー、サーバー管理者に確認
- ダウンロードする前に以下の項目についてプロバイダー、サーバー管理者に確認します。
- Perlの存在するパス(例:/usr/bin/perl)
- CGI プログラムファイルをアップロードするパス(例:/home/httpd/html/cgi-bin/)
- CGI プログラムの呼び出し方(例:/cgi-bin/xxxx.cgi)
- ホームページのトップページindex.htmlが存在するディレクトリまでのパス(例:/home/httpd/html)
- ホームページの呼び出し方URL(例:https://www.xxxx.co.jp/)
CGIプログラムをダウンロードします
- 専用のダウンロードページを呼び出します。
- ダウンロードします。
- ダウンロードしたファイルはLZH形式で圧縮されたファイルです解凍プログラムで解凍して下さい
Macでダウンロードされた方は石崎 一明さんが作られたフリーソフト MacLHA 等を入手して解凍して下さい。
解凍されたテキストファイルの改行コードはUnix(LF)になっています。(かっこ内はパーミッションを表しています)
guruguru をインストールする
ダウンロードして解凍すると以下の構成で解凍されます。(かっこ内はパーミッションを表しています)
guruguru (755 rwxr-xr-x) or (777 rwxrwxrwx)
|
|-- readme.html このファイルです
|-- index.html (644 rw-r--r--)
|-- guruguru.cgi (755 rwxr-xr-x)
|-- kaizyo.cgi (755 rwxr-xr-x)
|-- jcode.pl (644 rw-r--r--)
|-- g_settei.cgi (644 rw-r--r--)
|-- Log_guru.txt (777 rwxrwxrwx)
|-- LOC_guruguru (777 rwxrwxrwx)
|-- guruguru.gif (644 rw-r--r--)
|-- banner.gif (644 rw-r--r--)
|
|-- _help/ (644 rw-r--r--)
| |
| |-- xxx.html (644 rw-r--r--)
| |-- 〜
| |-- xxx.gif (644 rw-r--r--)
|
「guruguru.cgi」「kaizyo.cgi」のプログラムの以下の部分をご自分の環境に合わせて変更して下さい。(テキストエディターで開いて変更後保存してください)
1行目 perlのパスを指定します
#!/usr/bin/perl
必要があれば guruguru.cgi の注釈に従ってご自分の環境にあった設定に変更します。
#!/usr/bin/perl
# Copyright Shigeru Uchida 2004/8/10
$ver='guruguru Ver1.27';
# jcode.pl の存在する場所を指定します、このファイルと同じ場所にあれば変更は不要
require 'jcode.pl';
# サーバーOS設定 自動認識しますが、できない場合は(Unix系) $OS=1; (Windows系)$OS=0;
$OS= $ENV{'PATH'}=~/\\/ ? 0:1;
# ハイライト表示の説明コメントを 1=出力する 0=出力しない
$HT=1;
# ログファイル 1=出力する 0=出力しない
$SLOG=1;
# 検索するホームページのURLを指定します、最後の/は不要です(例 https://www.xxx.co.jp)
# $ENV{'HTTP_HOST'} で取得できる場合は変更する必要はありません。
$url="https://$ENV{'HTTP_HOST'}";
# ドキュメントルート=トップページ index.html があるディレクトリをサーバーの最初から指定します。
# 例:$doc_root='/dir1/dir2'; $doc_root='C:/dir1/dir2';
# $ENV{'DOCUMENT_ROOT'}変数で取得できる場合は変更不要
$doc_root=$ENV{'DOCUMENT_ROOT'};
# 検索を開始するディレクトリ https://www.xxx.co.jp 以下を指定します
# (トップページからの場合は変更なし、例: $start='/dir3/dir4/'; )
$start='';
# 下位のフォルダを回帰的に検索する場合は 1 以外は 0
$kaika_sw=1;
# 検索するHTMLファイルの漢字コード sjis=SHIFT_JIS euc=EUC
$code='sjis';
# 検索経過ログファイルを書き出す場合はファイル名を指定、ログが必要ない場合は $log_kfile='';
# 経過ログファイルには検索したディレクトリとファイル数が記録されます
# 設定ファイルを指定する場合に役立ちますが、実際に運用する場合は、$log_kfile=''; にして下さい
$log_kfile='KLog_guru.txt';
# 検索ログファイルを書き出す場合はファイル名を指定、ログが必要ない場合は $logfile='';
# どのようなキーワードで検索されたかを知りたい場合はログを取ります
$logfile='Log_guru.txt';
# うまく動作するようになれば $DEB_sw=0; に変更します(エラーメッセージにファイル名を表示しません)
$DEB_sw=1;
# 以上が必須設定項目です ------------------------------------------------
# 検索設定ファイル名(このプログラムと同じディレクトリに置きます、全てのディレクトリに有効です)
# それぞれのディレクトリに置くと両方の設定がそのディレクトリに有効です。
$defname='g_settei.cgi';
# 1ページの中にキーコードがたくさん存在する場合にこの件数以上は表示しません。
$more=10;
# 検索キー前後に表示する文字数(バイト数)
$before=30;
$after=30;
# 検索結果を表示するために使うテンプレートHTMLファイル名(このプログラムと同じディレクトリに置きます)
# 指定がないと標準で出力します。
$html='guruguru.html';
# リンクさせる文言
$bg_link='Highlight';
# 検索キー、ハイライト表示のバックグラウンドカラー(5つ以上のキーワードを想定するときは追加)
@k_bgcolor=('#A0FFFF','#FFC0CB','#98FB98','#FFE4B5','##C0C0C0');
# 検索経過を*で表示します $keika_sw=1; しません $keika_sw=0;
$keika_sw=1;
# 結果表示の見出しテンプレート
$kekka_t='<hr><span style="font-size:95%">サイト内検索結果(検索には少々時間がかかります)</span>';
# タイトル表示のテンプレート(#1 の位置に連番、#2=キー、#3=マッチ数、#4=ハイライトリンクが挿入されます)
# #?を省略するとその項目は表示されません
$tit_fmt='<div style="font-size:95%">[#1] #2 <span style="font-size:87%">【#3】#4</span></div>';
# 本文要約表示のテンプレートと中のキー項目を表示させるテンプレート( # の位置に要約、キーが挿入されます)
$honb_fmt='<div style="font-size:85%; margin: 0.2em 1em">#</div>';
$key_fmt='<b><font color=blue>#</font></b>';
# URLを表示させるタグ( #1 の位置にURL、#2 の位置にファイルサイズが挿入されます)
# #2 がないとサイズは表示されません、$url_fmt=''; はURLが表示されません
$url_fmt='<div style="font-size:95%; color:green">#1 - #2 Byte</div>';
# URLを表示する時にドキュメントルート以下のみを表示したい場合は $d_url=0;
$d_url=1;
# 検索終了後に結果件数を表示するフォーマット( #1 の位置に全件数、#2-該当件数 #3=CPU使用時間 #4=処理時間)
$rpt_fmt='<div style="font-size:95%">検索終了 #1 件の内 #2 件が該当しました ( CPU=#3 / #4 )</div>';
# 検索結果を表示する最大件数と件数に達した時に表示するメッセージ
$lmax=50;
$lmax_mes='<div style="font-size:95%; color:red">50件以上の該当するページがあります。ご希望の項目が見つからない場合は検索キーの文字数を多くするか検索キーを増やして再検索して下さい。</div>';
全体設定ファイル( g_settei.cgi )を編集します
- 全体設定ファイルでは全ての階層において検索するディレクトリ、拡張子、検索しないディレクトリ、拡張子を指定することができます。
- 全体設定ファイルはサンプルが同梱されています。テキストエディターで開いてご自分の環境に合わせて変更します。
- 1行に1つの指定を記述します。
- 検索するディレクトリは dir ディレクトリ名 で指定します。(半角のスペースで区切ります)
- 検索しないディレクトリは !dir ディレクトリ名 で指定します。(半角のスペースで区切ります)
- 検索する拡張子は kaku 拡張子名 で指定します。(半角のスペースで区切ります、拡張子は . は不要です)
- 検索しない拡張子は !kaku 拡張子名 で指定します。(半角のスペースで区切ります、拡張子は . は不要です)
- 指定する順番は順不同です。
- その他の行はコメントとして処理されます。
各ディレクトリごとの個別設定ファイル( g_settei.cgi )を編集します
- 設定ファイル名は全体設定ファイルと同じです。全体設定ファイルは guruguru.cgi と同じディレクトリに置きますが、個別設定ファイルは有効にしたいディレクトリに置きます。
- 個別設定ファイルがディレクトリにない場合は全体設定ファイルが有効になります。
両方の設定ファイルがある場合は個別ファイル、全体ファイルの順で検査されます。
設定に該当しない場合の処理は下の表をご覧下さい。
- 個別設定ファイルではディレクトリ、拡張子の他にファイル名でも指定できます。
- 検索するファイルは file ファイル名 で指定します。(半角のスペースで区切ります)
- 検索しないファイルは !file ファイル名 で指定します。(半角のスペースで区切ります)
検索設定の優先順位(設定が重なる場合)
- 検索設定の優先順位は以下の通りです。(右=低い〜左=高い)
(高)個別設定検索 >> 個別設定検索しない >> 全体設定検索 >> 全体設定検索しない(低)
- 設定に該当しないディレクトリ、拡張子、ファイルの処理
検索する設定 | 検索しない設定 | 該当しない場合の処理 |
有 | 有 | 検索しない |
有 | 無 | 検索しない |
無 | 有 | 検索する |
ディレクトリ guruguru 以下を CGIプログラムが実行できるディレクトリにまとめてアップロードします。
(ディレクトリ guruguru も含めてアップロードしてください)
個別設定ファイルは有効にしたいディレクトリにアップロードしてください
アップロードはテキストファイルはASCIIモードで画像ファイルはBINARYモードでアップロードしてください。
テキストファイルのアップロード後の改行コードはUnix(LF)でアップロードしてください。
(ほとんどのFtpソフトは自動的に変換してアップロードしてくれますが注意が必要です)
ディレクトリ guruguru のパーミッションは書込権限のある 777 に設定してください。
ファイルのパーミッションが 644 とあるファイルは読み込み権限があればいいので特に変更する必要はないはずです。
パーミッションはご自分の環境に合わせて適宜変更してください。
特に777はどの環境でも問題なく使えるパーミッションですがセキュリティーレベルは一番甘い設定です。
もしご自分の環境で707などもっとセキュリティーレベルを上げても書き込み可能ならそちらに変更してください。
ブラウザのアドレス入力欄にメニュー画面を呼び出すプログラム名をフルパスで入力し実行させます。
(例:https://www.xxxx.co.jp/cgi-bin/guruguru/guruguru.cgi)
このURLは今後、呼び出すのに必要ですので「お気に入り」に登録しておきます。
実行の結果、検索キーを入力する画面が表示されればOKです。
エラーが表示される場合はもう一度手順に間違いがないか、パーミッションの設定は正しいか確認してください。
パーミッションはプロバイダー、サーバーによっては上記と異なる場合がありますので環境に合わせて変更してください。
使用講習会、説明会をご指定の場所で開催させていただきます
本サイトの CGI は高機能で何でもできますが、高機能のため使用方法を完全に理解するためには説明を受けた方が解りやすいと思います。京阪神奈の制作会社様には使用講習会、説明会をご指定の場所で開催させていただきます。最下段のメールアドレスまでお問い合わせ下さい。(場所が京阪神奈以外の場合は実費交通費が必要です)
インストール、CGI制作の請け負い
本サイトのプログラムは今までに CGI をインストールされた方なら簡単にインストールしていただけますが、設定も含めたインストール、サイト構築作業、CGI制作を請け負うことも可能です。お問い合わせページからご連絡ください。
GOiGOi Projectではフォームメール、WhatsNew(汎用データベース)、ページ自動生成、ページ更新、空き情報・予約など、ホームページを管理、運営する上でどうしても必要になってくるCGIをプロ仕様で提供しています。全てのプログラムは汎用CGIとして開発されていてどのようなサイトでもご使用いただけます。また、CGI制作も承ります。