Zゲストブック1号とは
- Zumin ゲストブック1号機です。
- アイコン付きの楽しげなゲストブックです。
- 新規投稿にはだれでもレスが付けられます。
- クッキー対応してありますので、2回目以降の書込みが楽です。
- 管理機能が付いています。
- 管理機能で、投稿ログの検索(工事中)、編集、削除、ダウンロードがきます。
- 管理メニューは認証パスワードが必要です。
- 管理メニューは一度認証されるとクッキーに保存されるため、次回から認証パスワードを入力する手間が省けます。
こんな感じです
- ゲストブックここから
- 管理メニューここから (パスワードは guest です)
- デモ版なので、投稿ログは64個までしか蓄積しません。。
- デモ版なので、管理メニュー内の表示内容(アクセスしてきたIPアドレスなど)は一部表示していません。
- 同様に、デモ版なので、管理メニュー内の幾つかの機能(削除やダウンロードなど)は動作しないようになっています。
背景やアイコンなどのGIFファイル [img/XXX.gif]は、こちらで用意しているサンプルです。
背景は、さんぽみちさん
のものです。かわいい素材をお探しの方はここにたくさんあります。
アイコンは、ずうみん村サイトのゆうり作です。
動作条件
- ホームページがあるサーバーでPerlを使用したCGIが使えること。
- Perlのバージョンが 5(Perl5)以上であること。
- ホームページがあるサーバーのOSがLinux、UNIXであり、Web Server が Apache で動作確認しています。
- 上記以外では動作確認していません。あしからずご了承ください。
ここからダウンロードできます
- Windowsな人 自己解凍形式(EXE)
- Windowsな人 ZIP形式
- Linux、UNIXな人(準備中)
- ダウンロードしたら自分のローカルマシン上で解凍してください。
- 必ず、ディレクトリ付きで解凍してください。
ディレクトリ・ファイル構成
(注) . はカレントディレクトリ
./zguest1.cgi --- Zゲストブック1号CGI本体プログラム [GET METHOD]
./zguest1p.cgi --- Zゲストブック1号CGI本体プログラム [POST METHOD]
./zg1adm.cgi --- ゲストブック管理CGI本体プログラム [GET METHOD]
./zg1admp.cgi --- ゲストブック管理CGI本体プログラム [POST METHOD]
./userdef.pm --- ユーザー環境設定ファイル
./lib/ --- 【ディレクトリ】 ライブラリプログラム格納
./lib/zguest1.pm --- Zゲストブック1号ライブラリプログラム
./lib/zg1adm.pm --- ゲストブック管理ライブラリプログラム
./lib/zg1core.pm --- Zゲストブック1号・ゲストブック管理共通ライブラリプログラム
./lib/zcgi.pm --- CGI関連ライブラリプログラム
./lib/jcode.pl --- 日本語文字操作プログラム
./img/ --- 【ディレクトリ】 各種画像ファイル(アイコン、背景)格納
./data/ --- 【ディレクトリ】 投稿メッセージログなどのデータ格納
- 以上のディレクトリ・ファイルがあれば、うまく解凍できています。
- カウンター設置のためには、ユーザー環境設定ファイル [userdef.pm] でお好みの設定を定義します。
ユーザー環境設定ファイルの編集 [ userdef.pm ] -- ゲストブック本体向けの設定
- ユーザー環境設定ファイル [ userdef.pm ] をメモ帳などのテキストエディタで開いて編集します。
- 設定できる項目は、大きく分けて、ゲストブック本体向けと、管理メニュー向けの2種類あります。
- ここでは、ゲストブック本体向けの設定項目について説明します。
- ゲストブック本体向けに設定できる項目は次のとおりです。
$HomeURL |
あなたのホームページのHOMEへのURL |
$MaxLogCount |
投稿メッセージログ蓄積数の最大値(最高512までです)
256 以内を推奨しています。
投稿ログに蓄積されたものがこの数を超える場合、古いものから削除されます。
投稿ログのシリアル番号はこの数に関係なく継続してカウントされます。
|
$UserBgColor |
ゲストブックページ全体の背景色
<body> タグの bgcolor属性の値です。
HTML形式(#FFFFFF など)で指定します。
|
$UserBgImg |
ゲストブックページ全体の背景画像(gif)ファイル名
<body> タグの background属性の値です。
<body> タグの background属性なので上の$UserBgColor より優先されます。
画像ファイル(gif)は、皆さんでご用意ください。
画像ファイルは img ディレクトリに配置してください。
|
$UserFgColor |
ゲストブックページ全体の文字色
<body> タグの background属性の値です。
HTML形式(#4488FF など)で指定します。
|
$UserTitle |
タイトル文字
ブラウザのフレームタイトル、及び、ページの表題になります。
|
$UserTitleColor |
タイトル文字表示色
HTML形式(#4488FF など)で指定します。
|
$UserTitleImg |
タイトル画像(gif)ファイル名
ページの表題画像になります。
ページの表題としては、上のタイトル文字 $UserTitle よりも優先されます。
画像ファイル(gif)は、皆さんでご用意ください。
表示するサイズは画像ファイル(gif)自身の大きさです。
画像ファイルは img ディレクトリに配置してください。
|
$UserLogColor_1〜10 |
投稿メッセージ文字色1〜10
投稿フォームで選択可能とする文字色をHTML形式で指定します。
1〜10まで指定可能ですが、全てに指定する必要はありません。
例えば8色だけ指定する場合は、1〜8まで設定し、
あとはPerlのコメント行とする(行頭に#を入れる)とOKです。
|
$UserLogIcon_1〜30 |
投稿メッセージアイコンファイル名1〜30
投稿フォームで選択可能なアイコン(gif)ファイル名を指定します。
1〜30まで指定可能ですが、全てに指定する必要はありません。
例えば7個だけ指定する場合は、1〜7まで設定し、
あとはPerlのコメント行とする(行頭に#を入れる)とOKです。
画像ファイル(gif)は、皆さんでご用意ください。
表示するサイズは50X50ピクセルを目安に作成してください。
画像ファイルは img ディレクトリに配置してください。
|
$UserLogMailIcon |
投稿メッセージのE-Mail部分に表示するアイコンファイル名
画像ファイル(gif)は、皆さんでご用意ください。
ちなみに表示するサイズは20X15ピクセルです。
画像ファイルは img ディレクトリに配置してください。
|
$UserLogHomeIcon |
投稿メッセージのHP部分に表示するアイコンファイル名
画像ファイル(gif)は、皆さんでご用意ください。
ちなみに表示するサイズは20X15ピクセルです。
画像ファイルは img ディレクトリに配置してください。
|
$LogDisplayCount |
投稿メッセージログ 1ページあたりの表示件数(1 〜 100)
一応規定値の11くらいでよいでしょう。
|
$UserLogBgColor |
新規投稿メッセージ表示背景色
メッセージが新規投稿であれば、そのメッセージの背景色はこれです。
HTML形式(#4488FF など)で指定します。
|
$UserLogResBgColor |
返信投稿メッセージ表示背景色
メッセージが返信であれば、そのメッセージの背景色はこれです。
HTML形式(#4488FF など)で指定します。
|
- 以下は、ユーザー環境設定ファイル [ userdef.pm ] でゲストブック本体向けに設定する項目の初期状態です。
- あなたの構成に合わせて書き換えてくださいませ。
==== userdef.pm (ゲストブック本体向けに設定する項目) ====
..
..
###################################################################
#
# Guest Book カスタマイズ可能変数(お好みで書き換え可)
#
###################################################################
# ===========================================================
# HomeへのURL
# ===========================================================
$HomeURL = '/user-home/index.html';
# ===========================================================
# ゲストブックログ件数最大数 [ 1 〜 512 ]
# ----------------------------------------------------
# 投稿ログに蓄積されたものが、この数を超える場合、古い
# ものから削除されます。
# ----------------------------------------------------
# 尚、投稿ログのシリアル(通し)番号はこの数に関係なく
# 継続してカウントされます。
# ===========================================================
$MaxLogCount = 256; ===> 256 以内を推奨しています。
# ===========================================================
# ページの背景色 (<body> タグの bgcolor属性)
# ===========================================================
$UserBgColor = '#FFFFFF';
# ===========================================================
# ページの背景画像(<body> タグの background属性)
# ----------------------------------------------------
# 画像ファイルは img ディレクトリに配置してください。
# ===========================================================
$UserBgImg = 'background.gif'; ===> <body> タグなので、$UserBgColor より優先されます。
===> 画像ファイルは img ディレクトリに配置してください。
# ===========================================================
# ページ本文の文字色(<body> タグの text属性)
# ===========================================================
$UserFgColor = '#3080C0';
# ===========================================================
# ページタイトル文字列・色
# ===========================================================
$UserTitle = 'ゲストブックにようこそ';
$UserTitleColor = '#3080C0'; ===> ブラウザのフレームとページの表題になります。
# ===========================================================
# ページタイトルバナー画像
# ----------------------------------------------------
# 画像ファイルは img ディレクトリに配置してください。
# ===========================================================
$UserTitleImg = 'title.gif'; ===> ページの表題になります。尚、$UserTitle より優先されます。
# ===========================================================
# 投稿メッセージ文字表示色。1〜10色まで指定可能。
# ----------------------------------------------------
# 全てに指定する必要はない。8 色でOKの場合 1〜8まで設定し、
# あとはコメント(行頭に#を入れる)にして下さい。
# ===========================================================
$UserLogColor_1 = '#000000'; ===> 投稿フォームで選択可能な文字色をHTML形式で指定します。
$UserLogColor_2 = '#0000FF';
$UserLogColor_3 = '#4488CC';
$UserLogColor_4 = '#44CC88';
$UserLogColor_5 = '#888800';
$UserLogColor_6 = '#CC8844';
$UserLogColor_7 = '#CC4488';
$UserLogColor_8 = '#FF0000';
# $UserLogColor_9 = '';
# $UserLogColor_10 = '';
# ===========================================================
# 投稿メッセージに表示するアイコン。1〜30まで指定可能。
# ----------------------------------------------------
# 全てに指定する必要はない。7つでOKの場合1〜7 まで設定し、
# あとはコメント(行頭に#を入れる)にして下さい。
# 画像ファイルは img ディレクトリに配置してください。
# ===========================================================
$UserLogIcon_1 = 'user_icon_1.gif'; ===> 投稿フォームで選択可能なアイコンをファイル名で指定します
$UserLogIcon_2 = 'user_icon_2.gif'; ===> 画像ファイルは img ディレクトリに配置してください。
$UserLogIcon_3 = 'user_icon_3.gif';
$UserLogIcon_4 = 'user_icon_4.gif';
$UserLogIcon_5 = 'user_icon_5.gif';
$UserLogIcon_6 = 'user_icon_6.gif';
$UserLogIcon_7 = 'user_icon_7.gif';
# $UserLogIcon_8 = '';
# $UserLogIcon_9 = '';
# $UserLogIcon_10 = '';
# $UserLogIcon_11 = '';
# $UserLogIcon_12 = '';
# $UserLogIcon_13 = '';
# $UserLogIcon_14 = '';
# $UserLogIcon_15 = '';
# $UserLogIcon_16 = '';
# $UserLogIcon_17 = '';
# $UserLogIcon_18 = '';
# $UserLogIcon_19 = '';
# $UserLogIcon_20 = '';
# $UserLogIcon_21 = '';
# $UserLogIcon_22 = '';
# $UserLogIcon_23 = '';
# $UserLogIcon_24 = '';
# $UserLogIcon_25 = '';
# $UserLogIcon_26 = '';
# $UserLogIcon_27 = '';
# $UserLogIcon_28 = '';
# $UserLogIcon_29 = '';
# $UserLogIcon_30 = '';
# ===========================================================
# メッセージログのメール部分に表示するアイコン。
# ----------------------------------------------------
# 画像ファイルは img ディレクトリに配置してください。
# ===========================================================
$UserLogMailIcon = 'user_mail.gif'; ===> 画像ファイルは img ディレクトリに配置してください。
# ===========================================================
# メッセージログのホーム部分に表示するアイコン。
# ----------------------------------------------------
# 画像ファイルは img ディレクトリに配置してください。
# ===========================================================
$UserLogHomeIcon = 'user_home.gif'; ===> 画像ファイルは img ディレクトリに配置してください。
# ===========================================================
# 投稿ログ 1ページあたりの表示件数 [ 1 〜 100 ]
# ===========================================================
$LogDisplayCount = 11;
# ===========================================================
# 投稿ログ表示部分背景色(新規投稿の場合)
# ===========================================================
$UserLogBgColor = '#FFFFE8';
# ===========================================================
# 投稿ログ表示部分背景色(返信の場合)
# ===========================================================
$UserLogResBgColor = '#FFEEEE';
..
..
- 上記以外の箇所は編集しないでください。(Perlでプログラムできる人は除く)
- 勢いあまって、ダッシュ(’)イコール(=)やセミコロン(;)などを消してしまわないようにご注意ください
ユーザー環境設定ファイルの編集 [ userdef.pm ] -- 管理メニュー向けの設定
- ユーザー環境設定ファイル [ userdef.pm ] をメモ帳などのテキストエディタで開いて編集します。
- 設定できる項目は、大きく分けて、ゲストブック本体向けと、管理メニュー向けの2種類あります。
- ここでは、管理メニュー向けの設定項目について説明します。
- 管理メニュー向けに設定できる項目は次のとおりです。
$AdminUserName |
管理者の名前
管理メニューの返信ボタンで表示される返信フォームに予めセットしておくために定義します。
管理者は、いちいちフォームにキー入力するのも面倒だからです。
|
$AdminUserSex |
管理者の性別
管理者が男性であれば 0 を、女性は 1 を設定します。
管理メニューの返信ボタンで表示される返信フォームに予めセットしておくために定義します。
管理者は、いちいちフォームにキー入力するのも面倒だからです。
|
$AdminUserEmail |
管理者のEmail
管理のEmailアドレスを設定します。
管理メニューの返信ボタンで表示される返信フォームに予めセットしておくために定義します。
管理者は、いちいちフォームにキー入力するのも面倒だからです。
|
$UserBgImg |
管理者のHPトップページURL
管理のHPトップページURLを設定します。
管理メニューの返信ボタンで表示される返信フォームに予めセットしておくために定義します。
管理者は、いちいちフォームにキー入力するのも面倒だからです。
|
$AdminUserHpName |
管理者のHP名称
管理のHP名称を設定します。
管理メニューの返信ボタンで表示される返信フォームに予めセットしておくために定義します。
管理者は、いちいちフォームにキー入力するのも面倒だからです。
|
$AdminPasswd |
管理ツールアクセス時パスワード
英数字(半角)4桁〜16桁で指定してください。
アクセスログ管理メニューでは、このパスワードで管理者の認証をおこないます。
一度認証したらクッキーに記憶しますので、その後しばらく(30日間)はクッキーで自動認証します。
このパスワードは他人から盗まれないよう注意してください。
|
$CriptKey |
管理ツールアクセス時パスワード暗号化キー
英数字(半角)4桁〜16桁で指定してください。
アクセスログ管理ツールのパスワードを暗号化する時の暗号カギです。
この暗号化キーも他人から盗まれないよう注意してください。
|
- 以下は、ユーザー環境設定ファイル [ userdef.pm ] で管理メニュー向けに設定する項目の初期状態です。
- あなたの構成に合わせて書き換えてくださいませ。
==== userdef.pm (管理メニュー向けに設定する項目) ====
..
..
###################################################################
#
# 管理者メニューカスタマイズ可能変数(お好みで書き換え可)
#
###################################################################
# ===========================================================
# 管理者の名前
# ===========================================================
$AdminUserName = '管理者';
# ===========================================================
# 管理者の性別 [男:0 女:1]
# ===========================================================
$AdminUserSex = '0';
# ===========================================================
# 管理者のEmail
# ===========================================================
$AdminUserEmail = 'webmaster@zumin.cside9.com';
# ===========================================================
# 管理者のHPトップページURL
# ----------------------------------------------------
# こちらは絶対パス(http:// から)で記述してください。
# ===========================================================
$AdminUserHpURL = 'http://zumin.cside9.com/';
# ===========================================================
# 管理者のHP名称
# ===========================================================
$AdminUserHpName = 'Zumin';
# ===========================================================
# 管理ツールアクセス時パスワード
# ----------------------------------------------------
# アクセスログ管理ツールを使用する場合このパスワード
# で管理者の認証をおこないます。
# 他人から盗まれないよう注意してください。
# 英数字(半角)4桁〜16桁で指定してください。
# ===========================================================
$AdminPasswd = 'guest';
# ===========================================================
# 管理ツールアクセス時パスワード暗号化キー
# ----------------------------------------------------
# アクセスログ管理ツールのパスワードを暗号化する時
# の暗号カギです。
# 他人から盗まれないよう注意してください。
# 英数字(半角)4桁〜16桁で指定してください。
# ===========================================================
$CriptKey = 'password_key';
..
..
- 上記以外の箇所は編集しないでください。(Perlでプログラムできる人は除く)
- 勢いあまって、ダッシュ(’)イコール(=)やセミコロン(;)などを消してしまわないようにご注意ください
Perlを使用する時のおまじない行の編集
- 自分のホームページがあるサーバーのPerlへのパスを指定します。Perlへのパスは、ホームページを置いているサーバー管理者に聞いてください。
- 編集するのは、以下の4本です。いづれも先頭行のみです。
zguest1.cgi |
Zゲストブック1号CGI本体プログラム[GET METHOD] |
zguest1p.cgi |
Zゲストブック1号CGI本体プログラム[POST METHOD] |
zg1adm.cgi |
ゲストブック管理CGI本体プログラム[GET METHOD] |
zg1admp.cgi |
ゲストブック管理CGI本体プログラム[POST METHOD] |
- 上記全てのプログラムファイルをメモ帳などのテキストエディタで開いて編集します。
==== (サンプル)zguest1.cgi ====
#!/usr/bin/perl <==== 先頭行です。
..
..
サーバにアップロード
- 自分のホームページがあるサーバーにディレクトリ・ファイル構成に気をつけてアップしてください。(普通にFTPでアップする手順でOKと思います。)
- 但し、サーバーの漢字コードに注意してください。例えば、ローカルなPCがWindowsで、サーバーがUNIXやLinuxの場合は、FTP転送時に漢字コード変換が必要になります(必要ない場合もあるが、、)。よく分からない人は、ホームページを置いているサーバー管理者に相談してください。
- 漢字コード変換が必要な場合は、以下に従ってアップしてください。
./zguest1.cgi --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./zguest1p.cgi --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./zg1adm.cgi --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./zg1admp.cgi --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./userdef.pm --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./lib/zguest1.pm --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./lib/zg1adm.pm --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./lib/zg1core.pm --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./lib/zcgi.pm --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./lib/jcode.pl --- 漢字コード変換が必要です。[ FTP アスキー転送モード ]
./img/配下画像ファイル --- 変換は不要です。 [ FTP バイナリ転送モード ]
実行権、書込権の付与
- サーバー上のCGIが動作できるように、CGIスクリプトの実行権と、ファイルへの書込み権を設定します。
- サーバーにアップしたファイルやディレクトリの属性を、以下のとおりに変更してください。
./zguest1.cgi --- rwxr-xr-x [ 755 ]
./zguest1p.cgi --- rwxr-xr-x [ 755 ]
./zg1adm.cgi --- rwxr-xr-x [ 755 ]
./zg1admp.cgi --- rwxr-xr-x [ 755 ]
./userdef.pm --- rw-r--r-- [ 644 ]
./lib/ --- rwxr-xr-x [ 755 ]
./lib/zguest1.pm --- rw-r--r-- [ 644 ]
./lib/zg1adm.pm --- rw-r--r-- [ 644 ]
./lib/zg1core.pm --- rw-r--r-- [ 644 ]
./lib/zcgi.pm --- rw-r--r-- [ 644 ]
./lib/jcode.pl --- rw-r--r-- [ 644 ]
./img/ --- rwxr-xr-x [ 755 ]
./img/配下画像ファイル --- rw-r--r-- [ 644 ]
./data/ --- rwxrwxrwx [ 777 ]
動作テスト
- ゲストブックの動作テストを行います。
- ブラウザから次のURLでアクセスしてみましょう。
- http://--cgiへのURL--/zguest1.cgi
- 例えば、"cgi-bin/guest/ " に設置した場合 http://サーバ・ホーム/cgi-bin/guest/zguest1.cgiとなります。
- うまく動作したら、成功です。ページにリンクして使ってください。
- 次に、管理メニューの動作テストを行います。
- ブラウザから次のURLでアクセスしてみましょう。
- http://--cgiへのURL--/zg1adm.cgi
- 例えば、"cgi-bin/guest/ " に設置した場合 http://サーバ・ホーム/cgi-bin/guest/zg1adm.cgiとなります。
- 最初に認証パスワードを聞いてくるはずです。userdef.pm で定義したパスワードを入力してください。
- 認証が成功すれば管理メニューが表示されると思います。
- うまく動作したら、成功です。
- 管理メニューはゲストブック本体ページの上部リンクからエントリできますので、特に他のページからリンクする必要はないかと思います。