============================================================
AmigoDatabase 取り扱い説明書
============================================================
◎はじめに
------------------------------------------------------------
この度は、AmigoDatabaseをダウンロード頂き誠にありがとうございます。
このスクリプトがあなたのサイトの発展に貢献できる事を願っております。
今後共、AmigoDatabaseならびにCGI DE AMIGO!!をよろしくお願い致します。
◎以前のバージョンより移行される方へ
------------------------------------------------------------
以前のバージョンからの変更点及び
変更ファイルをver.txtにてご確認頂けます。
こちらをご覧頂きますと最小限の作業で移行できます。
途中のバージョンを飛ばして移行されたい場合は
現在ご利用のバージョンから最新(利用する)バージョンまでの
全てのバージョンでの変更ファイルをリストアップし
それらのファイルを最新(利用する)バージョンのものに差し替えて下さい。
◎AmigoDatabaseについて
------------------------------------------------------------
AmigoDatabaseは簡易リンク集から
本格的な商品/不動産のデータベース等
様々な用途に使用出来る汎用データベースです。
CGIの知識が無くても自分専用のデータベースが構築できます。
また、自由度の高いスクリプトですので
この説明書では利用法の一部しか紹介できません。
こういう風に使用したいが方法が分からない等という場合は
サポート掲示板へご投稿下さい。
http://www.cgi-amigo.com/support.html
◎ユーザー登録機能について
------------------------------------------------------------
AmigoDatabaseはユーザー登録制で
通常のデータの他にユーザー情報も別ファイルに保存します。
ユーザーは「検索のみ」と「データ登録可」のいずれかのタイプとなり
設定により登録ユーザーでなくても検索は可能となりますが
データ登録するには必ずユーザー登録が必要で
ユーザータイプが「データ登録可」である必要があります。
なお、管理者もデータ登録をする為にはユーザー登録が必要です。
ユーザー登録機能が必要でない場合には
ユーザー登録をデータ登録として見立てて
データ登録を利用しないという形でご利用下さい。
ただし、この場合カウント機能等一部の機能がご利用頂けません。
◎設置手順1(任意)
------------------------------------------------------------
ディレクトリ(フォルダ)名をデフォルトから変更します。
変更出来るのはdata,data/user,image,lockディレクトリです。
dataディレクトリ名は変更する事をお勧めします。
(data/dataディレクトリは変更しないで下さい)
※その他のディレクトリ名/ファイル名(database.cgi除く)は変更しないで下さい。
◎設置手順2
------------------------------------------------------------
database.cgiをテキストエディタで開き
1行目のPerlのパスを使用サーバーに合わせて変更します。
※ほぼ#!/usr/bin/perlか#!/usr/local/bin/perlですが
分からない場合はサーバー管理者へお問い合わせ下さい。
次に、db-setup.cgiを開き基本的な設定を行います。
■基本ディレクトリ(http://から)
database.cgiを設置するディレクトリです。
※http://から記述し最後に/は付けません。
また設置するディレクトリまでですので
最後にdatabase.cgiは付けません。
[設定例]
設置URL:http://www.cgi-amigo.com/cgi-bin/database/database.cgi
設定値:http://www.cgi-amigo.com/cgi-bin/database
■データディレクトリ〜ファイルアップロードディレクトリ
各ディレクトリへのパスです。
ディレクトリ名を変更した場合等に設定を変更して下さい。
※最後に/は付けません。
■ロックタイプ(1=flock式/2=標準/3=symlink式/4=mkdir式/5=open式)
ファイルロックのタイプをご利用の環境等に合わせて選択します。
通常は、標準タイプをご利用頂く事をお勧め致します。
※database.cgi?cmd=ltとしてアクセスすると
ロックテストを行い利用可能なロックタイプを表示します。
■メインスクリプト名
database.cgiのファイル名を変更した場合のみ変更が必要です。
■バックアップファイル名
バックアップファイルの名称です。
そのままでも構いませんがバックアップファイルを
他者にダウンロードされる恐れがあるのでなるべく変更して下さい。
■設置サイトの最短URL
設置したサイトとして認識できる最短のURLです。
他のサイトからCGIを不正使用されるのを防止する為の設定です。
http://www.cgi-amigo.com/ と設定した場合
http://www.cgi-amigo.com/****.html等の
サイト内から呼び出されないとエラーとなるページがあります。
URLを''で囲んで複数設定する場合は,で区切ります。
※未設定としたい場合は@MyUrl=();として下さい。
(例1)@MyUrl=('http://www.aaaaa.com/');
(例2)@MyUrl=(
'http://www.aaaaa.com/',
'http://www.bbbbb.com/',
'http://www.ccccc.com/'
);
■リンク制限(ON=1/OFF=0)
他サイトからデータ登録ページ等へのリンクを制限する機能です。
ONにすると「サイトの最短URL」で設定した
サイト内からのアクセスでないとエラーとなります。
※ブックマークやURLの直接入力によるアクセスも不可となります。
■保存パスワードの暗号化(ON=1/OFF=0)
ファイルに保存するパスワードを暗号化する機能です。
■カウントアップタイプ(0=リンク式/1=投票式)
カウントアップのタイプを選択します。
0は通常のリンク式で1は登録ユーザー限定の投票式となります。
■誤2重送信防止機能(ON=1/OFF=0)
誤2重送信を防止する機能です。
通常はONのまま利用される事をお勧め致しますが
ご利用環境によっては正常に動作しない場合がありますので
その場合はOFFにしてご利用下さい。
■日本語処理設定(いずれか使用しない方の行頭に#を付加)
設置サーバーにてJcode.pmが使用可能な場合には
設定を変更してご利用される事をお勧め致します。
■ジャンプタイプ(0=Location/1=META)
設置サーバーがLocation使用不可の場合は1にしてご利用下さい。
※通常は0のままで問題ありません。
■携帯からの利用の可能性(有り=1/無し=0)
携帯からデータベースを利用される可能性が
無い場合には「無し」の設定でご利用下さい。
※AmigoDatabaseは携帯からの利用に完全対応は致しておりませんが
表示デザインを調整する事で携帯からの検索利用等は可能となります。
◎設置手順3
------------------------------------------------------------
ファイルをサーバーへ転送します。
画像ファイルはバイナリ、それ以外はテキストモードで転送します。
転送したらパーミッションを以下のように変更します。
※()内は主な設定値です。
※設定すべきパーミッションが分からない場合
左(700〜755なら700)から順に試してみて下さい。
[700]〜[755] (700,705,755)
data/config
data/data
data/mail
data/user
lib
lib/template
lib/template/complete
lib/template/result
lib/template/data-part
lib/template/data-part/data
lib/template/data-part/user
database.cgi
[701]〜[755] (701,705,755)
image
js
[700]〜[777] (700,705,755,707,777)
data
access
lock
file
file/tmp
[600]〜[666] (600,606,666)
*****.dat
access.log
data/config/*****.cgi
data/data/*****.cgi
data/user/*****.cgi
lock/*****.loc
[604]〜[666] (604,644,606,666)
js/*****.js
[604]〜[644] (604,644)
*****.gif
lib/*****.pl
lib/*****.cgi
[600]〜[644] (600,604,644)
*****.html(テンプレートファイル)
lock/*****.lk2
◎設置手順4
------------------------------------------------------------
基本的な環境設定を行います。
管理者認証ページ(database.cgi?cmd=ac)へアクセスします。
初期状態ではパスワードは未設定の為
何も入力せず認証ボタンを押して入室します。
環境設定を選択します。
以下のリストに無いもの(データ項目設定等)は後の手順にてご説明致します。
また、いくつかの項目はデータ項目等が確定していない段階では
設定できないものもあるかと思われますので
必ずしもこの手順の段階で全てを設定する必要はございません。
■パスワード
必ず設定して下さい。
■ホームURL
戻り先のURL(トップページ等)です。
■検索フォームURL
検索フォームのあるページのURLです。
■データベース名称
データベースの名称です。
各ページのタイトル表示等に反映されます。
■登録名称
ユーザー登録、データ登録の
それぞれの登録名称を設定します。
各ページの表示に反映されます。
(ユーザー:会員,利用者、データ:商品,物件等)
■アクセスログ
アクセスログを何件・何ファイルまで保存するかを設定します。
※アクセスログを記録しない場合は0件と設定して下さい。
■最低投票間隔
カウント機能(投票式)において
同一ユーザーが同一データに再投票を出来るようになるまでの時間です。
■カウントリセット間隔
カウント機能のカウント数を何時間毎にリセットするかを設定します。
※リセットしない場合は0として下さい。
■新着期間
データの登録から何時間まで新着期間として
NEWマーク表示対象とするかを設定します。
■更新期間
データの最終更新から何時間までを更新期間として
UPマーク表示対象とするかを設定します。
■データ(ユーザ)登録時更新日時記録
チェックするとデータ及びユーザー登録の際に
最終更新日時にも現在日時を記録するようになります。
■クッキー設定
クッキー名称、保存期間を設定します。
■制限設定
データ登録等のファイルへの書きこみを
Proxy経由や特定ドメインのみ制限したい場合は
チェックボックスをチェックします。
制限解除機能とは特定のドメインの制限を解除する機能で
Proxy制限や特定ドメイン制限で引っ掛かっても
制限解除ドメインに設定されていれば制限が解除されます。
■制限ドメイン/制限解除ドメイン
制限したい/解除したいドメインをホスト名やIPアドレスで設定します。
複数の場合「,」で区切って設定します。
※IPアドレスで123.と設定すると123.**.**.**のパターンを制限できます。
※IPアドレスで設定する場合必ず.を付けて下さい(×123 ○123.)
■データ関連制限設定
複数データ登録制限は同一ユーザーの複数データ登録を制限します。
ユーザーのデータ登録制限はユーザーのデータ登録を一切制限します。
(登録は管理者のみ可能となります)
■管理者審査
管理者の審査を必要とするものをチェックします。
■閉じるタグ
許可しているタグの中で
閉じるタイプのタグ(A,B,FONT等)を設定します。
複数の場合「,」で区切って設定します。
■使用可能タグ属性
使用出来るタグの属性をタグ毎に設定します。
A==href|targetのようにタグ名==属性(複数は|で区切る)
の形式で複数の場合「,」で区切って設定します。
※タグ名は必ず大文字にします。
■アップロード可能ファイル形式
アップロード可能なファイル形式をデータ種類毎に設定します。
データ種類==拡張子
の形式で設定し1つのデータ種類で複数許可する場合は「&」で区切ります。
データ種類==拡張子&拡張子
各データ種類は「,」で区切ります。
(例) DFile==txt,File==gif&jpg
※この設定は[ユ][デ]共通となります。
■アップロード一時ファイル最大数
ファイルアップロードを利用した登録時にプレビューを行った場合
アップロードファイルは一時ファイルとして保存されますので
この一時ファイルの最大数を設定します。
最大数を超えた場合には古いファイルから自動的に削除されます。
利用者の登録頻度が高い場合には最大数を多めに設定して下さい。
※この設定は[ユ][デ]共通となります。
■アップロードファイルサイズ制限
アップロードするファイルのサイズ制限をデータ種類毎に設定します。
データ種類==上限サイズ(KB)
の形式で設定し各データ種類は「,」で区切ります。
(例) DFile==30,File==10
※この設定は[ユ][デ]共通となります。
■登録/更新日時表示形式
検索結果/詳細ページでの
登録/更新日時の表示形式を設定します。
以下のような形式で自由に形式を設定できます。
※()内は表示例
{yyyy} 年-西暦(2005)
{yy} 年-西暦下2桁(05)
{y} 年-平成(17)
{mmm} 月-英語表記(Aug)
{mm} 月-2桁揃え(07)
{m} 月-通常(7)
{dd} 日-2桁揃え(05)
{d} 日-通常(5)
{ww} 曜日-日本語(金)
{w} 曜日-英語(Fri)
{HH} 午前午後-日本語(午後)
{H} 午前午後-英語(PM)
{hhhh} 時-24時間2桁揃え(16)
{hhh} 時-24時間(16)
{hh} 時-12時間2桁揃え(04)
{h} 時-12時間(4)
{nn} 分-2桁揃え(06)
{n} 分-通常(6)
{ss} 秒-2桁揃え(09)
{s} 秒-通常(9)
■カウント後のジャンプ先
カウントアップ用リンクをクリックした後の
ジャンプ先をデータ詳細ページにしたい場合はチェックして下さい。
■検索条件未指定時
こちらをチェックした場合は
検索時に全く検索条件が指定されていない場合には
検索条件を指定するようにエラーが表示されます。
■検索精度設定
高精度検索をONにすると
文字コードの誤認による誤った一致を軽減します。
(※検索フォームでの指定も必要となります)
英数字/カナの全半角を区別しないをONにすると
登録値とキーワードの全角半角の違いを
区別せずに一致するようになります。
■検索結果が1件のみの場合
こちらをチェックした場合は
検索時に該当するデータが1件のみだった場合には
一覧画面を省略し詳細画面を表示するようになります。
※テンプレートはdefault.htmlとなります。
■検索結果表示件数
検索結果の表示件数のデフォルトと最大値を設定します。
■自動リンクTarget
自動リンク機能で貼られたリンクのTarget属性を設定します。
■カウントアップ制限設定
カウントアップを制限したいパターンの
チェックボックスをチェックします。
■チェックボックス/セレクトメニューの区切り文字
チェックボックス(セレクトメニュー)項目で
複数選択して登録した場合の検索結果表示時の区切り文字を設定
■ユーザーデータからの検索
データファイルベース検索時に
ユーザーファイル(user.cgi)のデータを
検索対象として指定できるようにする場合はチェックします。
※通常ONのままで問題ありませんが
ユーザーデータを検索条件として使用&検索結果で表示しない場合は
OFFにしておいた方が検索速度が向上します。
■sendmailのパス
メール送信用のsendmailのパスです。
サーバーに合わせて設定を変更して下さい。
■管理者メールアドレス
管理者のメールアドレスです。
■CCメールアドレス
管理者以外へ同内容のメールを送信したい場合に設定します。
◎データベースの構築
------------------------------------------------------------
テンプレートファイルを編集/設定し
データベースを構築していきます。(手順5〜)
編集したものを順次サーバーへ再転送します。
◎設置手順5
------------------------------------------------------------
ユーザー登録関連部を設定します。
まずユーザーの情報として保存するデータ種類を決めます。
例えば名前,住所,年齢,性別など必要なデータをリストアップします。
※データ種類はいくつあっても構いません。
管理室から環境設定を選択します。
"全データ種類[ユ]"に先程リストアップしたデータ種類を設定します。
この際データ種類には半角英数字のみ使用可能となります。(-や_等も利用不可)
例えば名前というデータならName,住所ならAddressのようにします。
複数の場合「,」で区切ってデータ種類を設定します。
※Pass,Mail,UserTypeは必ず必要なデータ種類です。
削除しないようにして下さい。
"全データ名称[ユ]"に"全データ種類[ユ]"に設定した
データ種類の名称を設定します。
これは例えばユーザー登録時にNameという種類のデータの
入力が不正だった場合にエラー画面で
Nameの入力が不正です。と表示しても登録する人には意味が分かりません。
その為Nameは名前のデータであると設定して
名前の入力が不正です。と表示する為のものです。
Name==名前のようにデータ種類==データ種類名称
の形式で複数の場合「,」で区切って設定します。
※Pass,Mail,UserTypeは必ず必要なデータ種類です。
削除しないようにして下さい。
"入力必須項目[ユ]"に入力を必須とするデータ種類を設定します。
複数の場合「,」で区切って設定します。
※Pass,Mail,UserTypeは削除しないようにして下さい。
"同一確認項目[ユ]"にユーザー登録時に
入力が同一である必要があるデータ種類2つを1組で設定します。
Pass==Pass2のようにデータ種類==データ種類
の形式で複数の場合「,」で区切って設定します。
"文字数制限項目[ユ]"にユーザー登録時に
入力文字数を制限するデータ種類を設定します。
Name==20のようにデータ種類==文字数(半角)
の形式で複数の場合「,」で区切って設定します。
※Pass==8は文字数は変えても削除しないようにして下さい。
"有効書式項目[ユ]","無効書式[ユ]"にユーザー登録時に
入力データの書式をチェックするデータ種類を設定します。
Pass==\wのようにデータ種類==正規表現
の形式で複数の場合「,」で区切って設定します。
※正規表現については(◎正規表現について)を参照
"数値上限項目[ユ]","数値下限項目[ユ]"にユーザー登録時に
数値をチェックするデータ種類を設定します。
Age==100のようにデータ種類==数値
の形式で複数の場合「,」で区切って設定します。
"確認時自動リンク項目[ユ]"にユーザー登録プレビュー時に
自動リンクされるデータ種類を設定します。
複数の場合「,」で区切って設定します。
※プレビュー時のみで保存されるデータには影響しません。
"自動リンク項目[ユ]"にユーザー登録時に
自動リンクされるデータ種類を設定します。
複数の場合「,」で区切って設定します。
※自動リンクされたデータが保存されます。
"改行可能項目[ユ]"にユーザー登録時に
改行が可能なデータ種類を設定します。
複数の場合「,」で区切って設定します。
"タグ使用項目[ユ]"にユーザー登録時に
タグが使用出来るデータ種類を設定します。
Comment==FONT&B&Iのようにデータ種類==使用可能なタグ(複数は&で区切る)
の形式で複数の場合「,」で区切って設定します。
※タグはかならず大文字で記述して下さい。
"チェックボックス項目[ユ]"にユーザー登録時に
チェックボックス,ラジオボタンのデータ種類を設定します。
UserType==h&vのようにデータ種類==value(複数は&で区切る)
の形式で複数の場合「,」で区切って設定します。
※valueとはのhの部分です。
※同じデータ種類で全く同じ値を複数設定(データ種類==A&Aのように)する事はできません。
"セレクトメニュー項目[ユ]"にユーザー登録時に
セレクトメニューのデータ種類を設定します。
Address==北海道&青森県のようにデータ種類==value(複数は&で区切る)
の形式で複数の場合「,」で区切って設定します。
※valueとはの北海道の部分です。
※同じデータ種類で全く同じ値を複数設定(データ種類==A&Aのように)する事はできません。
"ファイルアップロード項目[ユ]"に
ファイルアップロードのデータ種類を設定します。
複数の場合「,」で区切って設定します。
"未入力時の表示値[ユ]"に
登録者が未入力としたデータ種類の検索結果での表示値を設定します。
File==space.gifのようにデータ種類==表示値
の形式で複数の場合「,」で区切って設定します。
※空白の表示で構わないデータ種類は設定の必要はありません。
※ここでの設定はあくまでも検索結果表示時のもので
データファイルにこの値が記録されるものではありません。
"単位自動表示項目[ユ]"に
検索結果で単位を付けて表示をしたい項目を設定します。
Price==円のようにデータ種類==単位
の形式で複数の場合「,」で区切って設定します。
※登録値が空のデータの場合には単位は表示されません。
※ここでの設定はあくまでも検索結果表示時のもので
データファイルにこの値が記録されるものではありません。
"表示を省略する項目[ユ]"に
検索結果一覧で表示を指定文字数までに
省略したい項目を設定します。
Name==30のようにデータ種類==最大文字数(半角)
の形式で複数の場合「,」で区切って設定します。
※HTMLタグを許可している項目については
タグの途中で文字が切れないように設定値を調整して下さい。
"3桁毎にカンマを入れる項目[ユ]"に
検索結果表示時に3桁毎に自動的にカンマを入れたい項目を設定します。
複数の場合「,」で区切って設定します。
※登録値が半角数字でなければカンマは入りません。
"管理者のみ登録可能な項目[ユ]"に
管理者のみが登録可能としたい項目を設定します。
管理者以外の登録時にはこの項目の登録値は空になります。
複数の場合「,」で区切って設定します。
"管理者のみ編集可能な項目[ユ]"に
管理者のみが編集可能としたい項目を設定します。
管理者以外の編集時にはこの項目の登録値を変更しても反映されません。
複数の場合「,」で区切って設定します。
"非公開(検索・表示除外)項目[ユ]"に
検索時に検索や表示の対象としない非公開項目を設定します。
こちらに設定された項目は、検索時に検索や表示が出来なくなります。
複数の場合「,」で区切って設定します。
※管理者権限での検索・閲覧時は制限は解除されます。
※UserNum(ユーザ番号)、DataNum(データ番号)は設定できません。
また、Pass(パスワード)、TempPass(仮パスワード)は
標準で設定済みの為、設定の必要はございません。
"データ保存項目[ユ]"にユーザー登録時に
ファイルに保存するデータ種類を設定します。
複数の場合「,」で区切って設定します。
※Pass,Mail,UserTypeは自動的に保存されるので
必ずしも設定の必要はありません。
"CSVインポート項目[ユ]"にCSVインポート機能で
登録・更新を行う場合の登録項目名を設定します。
複数の場合「,」で区切って設定します。
※こちらは、必ずしも設定の必要はありません。
※詳しくは「◎CSVファイルインポート/エクスポート機能について」の項を参照
ユーザー登録時等にメールを送信する場合は
"管理者宛送信[ユ]"と"ユーザー宛送信[ユ]"の
チェックボックスの必要なものをチェックして下さい。
メールを送信する設定にした場合メールのサブジェクトと本文を設定します。
設定はlib/db-mail.cgiを編集して行います。
詳しくは(◎メール文章設定法)をご覧下さい。
user-regist.htmlをHTMLエディタ等で開き
フォームに必要な部品を追加する等の編集を行います。
この際のように
name="データ種類"の書式で設定していきます。
user-regist-preview.htmlを開き編集します。
プレビュー画面で表示したいデータを自由に設定します。
フォームに入力されたデータを表示する為には
$PREFORM{Pass}のように$PREFORM{データ種類}の形式で設定します。
user-edit.htmlを開き編集を行います。
この際のように
name="データ種類" value="$DATA{データ種類}"の形式で
現在の登録値を反映させる為の設定を行います。
ただしチェックボックス(ラジオボタン)の場合は
のように
の形式で設定します。
※環境設定で設定したvalueの順番とは例えば
UserType==h&vと設定していた場合hは1vは2となる。
またセレクトメニューの場合は