◆
LinkVisor
とは…
- KENT WEBで配付しているWEB上から簡単にURLを登録し、リンク集を自動作成することができるCGIです。
- 登録方法は管理者限定とユーザ自由登録制の二種類を設定で選択することができます。
- 表示部がHTMLのためサーバに負荷をかけずに軽快に表示されます。
- 検索機能付きなので、URLを多く登録していてもキーワードから目的のURLを簡単に検索することができます。
※当サイトでは、LinkVisorのサンプルを用意してませんので、「KENT-WEB」の
「LinkVisorの解説」でご覧になってください。
◆スクリプトの入手方法
「KENT WEB」の「LinkVisorの解説」ページからDownLoadして下さい。
DownLoadしたオリジナルの圧縮ファイルの中には、以下の4個のファイルが入ってます。
| linkv.cgi |
…CGIスクリプト本体 |
| linkv.log |
…ログファイル |
| linkv.html |
…表示用HTMLファイル |
| jcode.pl |
…日本語コードライブラリ |
◆@nifty対応のディレクトリ構造
@niftyには、cgi-binにおけるファイルに制限があります。(共通事項)
まず、LinkVisorを設置する為に以下の様なディレクトリを作成して
作業を進めます。
Root/ ←あなたのルートパス
|
+--cgi-bin/ ←http://hpcgi▲.nifty.com/■■■■■■
| |
| +--linkv/(cgi本体を設置する場所)
| ↑※このディレクトリのパーミッションは[777]にして下さい。
|
+--homepage/ ←http://homepage▲.nifty.com/■■■■■■
|
+--linkv/(画像ファイル等を設置する場所)
※青いディレクトリは新しく作成したモノ
|
◆スクリプトの変更箇所
テキストファイルの扱えるエディタ等でlinkv.cgiを開きます。
以下の説明を読んであなたの環境に合わせて各種の設定を変更して下さい。
以下の設定例は、スクリプト本文内の記載順で設定項目を説明しています。
尚、設定例の文字の色の意味は以下の通りです。
●黒い文字…「スクリプトの本文」です。
●青い文字…「通常は変更する必要がない」設定です。
●赤い文字…「ユーザーが任意に変更できる」設定です。
●緑の文字…「設定項目の説明文章」です。
●紫の文字…「設定項目の注意事項」です。
1行目 … perlのパスを@nifty用にする(変更の必要はありません!)
#!/usr/local/bin/perl
## LinkVisor v0.7 (2000/10/08) : ベータ版
## Copyright(C) Kent Web 2000
## webmaster@kent-web.com
## http://www.kent-web.com/
# バージョン情報
$ver = 'LinkVisor v0.7';
#--- [注意事項]
------------------------------------------------#
# 1.
このスクリプトはフリーソフトです。このスクリプトを使用した
#
#
いかなる損害に対して作者は一切の責任を負いません。 #
# 2.
設置に関する質問はサポート掲示板にお願いいたします。
#
#
直接メールによる質問はお受けいたしておりません。 #
# 3.
表示部フッターに掲示する著作権表示は削除・改変を禁じます。
#
#---------------------------------------------------------------#
# :
# <中間省略>
# :
#============#
# 設定項目 #
#============#
# コード変換ライブラリ取り込み
require './jcode.pl';
※jcode.plをlinkv.cgiと同じディレクトリに置く場合はこのままでOKです。(設置事例の指定はこの通りです)
# タイトル名
$title = "LinkVisor";
※掲示板のタイトルを指定します。この指定は掲示板の<title>タグにも用いられますので、
タイトルに画像を用いる場合でもこの変数は設定して下さい。
# タイトル色
$t_color = "#555555";
※掲示板のタイトル色を16進カラーコードで指定します。
# タイトル文字フォントタイプ
$t_face = "serif";
※掲示板のタイトル文字のフォント種別を指定します。
# タイトルサイズ(ポイント数)
$t_size = "22pt";
※掲示板のタイトル文字の大きさをポイント数で指定します。
# 本文の文字サイズ(ポイント数)
$b_size = "10pt";
※掲示板の本文の文字の大きさをポイント数で指定します。
# 登録URLの案内メッセージサイズ(ポイント数)
$s_size = "9pt";
※掲示板の「タイトル下部の一言メッセージ」の文字の大きさをポイント数で指定します。
# 戻り先 (フルパスなら http:// から記述)
$home = "http://homepage▲.nifty.com/■■■■■■/index.html";
※トップに戻るページ(貴方のトップページ等)のURLアドレスを指定して下さい。
@niftyの場合、CGIとHTMLファイルのURLが異なりますので、戻り先のページアドレスをhttp://からフルで指定して下さい。
尚、URL表記の▲と■■■■■■の部分は、貴方のホームページアドレスに合わせて変更して下さい。
#
項目登録の権限
# 0 : 登録は管理者のみ
# 1 :
登録は訪問者が自由に行うが、同一ホストの連続登録は許可しない。
# 2 :
登録は訪問者が自由に行い、同一ホストの連続登録も許可する。
$reg_type = 2;
※登録の権限を設定します。初期値では訪問者が自由に登録できる設定「2」になっています。
「1」を設定すると、直近に登録された同一IPアドレスからの連続登録ができなくなります。(管理者でも連続登録できません;^^)
「0」を設定すると、登録フォームが管理者モードだけで見える様になります。(設定を変更した後にHTMLファイルの更新が必要です)
# 登録数を制限する場合
# → これを 0 とすると無制限になります
$max = 50;
※最大登録数を設定します。(0を指定すると無制限になります)
# 管理パスワード(任意の英数字で指定)
$pass = '0123';
※管理者モードに入室するときに使用するパスワードです、必ず変更して下さい。
# ジャンル分け
@class = ('ビジネス',
'コンピュータ', '教育と文化', '健康とスポーツ',
'娯楽', '個人');
※リンク内容を分類するジャンルを登録します。ココで設定したジャンル名が登録するときに選択できます。
登録されたリンク内容はジャンル毎に分類されて表示されます。
尚、登録済みのリンク内容は修正できますが、ジャンルの種類は修正できませんので最初に良く検討しましょう。
# スクリプトのURL
# --> フルパスなら http:// から記述
$script = 'http://hpcgi▲.nifty.com/■■■■■■/linkv/linkv.cgi';
※LinkVisorスクリプト自身(linkv.cgi)のURLアドレスを指定して下さい。(大変重要!)
@niftyの場合、CGIとHTMLファイルのURLが異なりますので、アドレスをhttp://からフルで指定して下さい。
尚、URL表記の▲と■■■■■■の部分は、貴方のホームページアドレスに合わせて変更して下さい。
# ログファイル
# --> フルパスなら / から記述 (http://からではない)
$logfile = './linkv.log';
※LinkVisorのログファイルのパスの指定です。スクリプト本体(linkv.cgi)同じ場所に設置する場合は変更不要です。
# HTMLファイル
# --> フルパスなら / から記述 (http://からではない)
$htmfile = '/homepage/linkv/linkv.html';
※LinkVisorが使用するHTMLファイル(linkv.html)のパスを指定して下さい。(大変重要!)
@niftyの場合、HTMLファイルは/homepageディレクトリの配下に設置しなければいけません。
この設置事例と同じようにファイルを配置されている場合は、上記の様に変更して下さい。
# HTMLファイルのURL
# --> フルパスなら http:// から記述
$htmurl = 'http://homepage▲.nifty.com/■■■■■■/linkv/linkv.html';
※LinkVisorが使用するHTMLファイル(linkv.html)のURLアドレスを指定して下さい。(大変重要!)
@niftyの場合、CGIとHTMLファイルのURLが異なりますので、アドレスをhttp://からフルで指定して下さい。
尚、URL表記の▲と■■■■■■の部分は、貴方のホームページアドレスに合わせて変更して下さい。
# NEWマークの期限(登録してからの表示日数)
$new_limit = '30';
※リンクアイテムに新着の「New!」マークを表示する日数を指定します。
但し、LinkVisorでは登録・修正・削除が行われたときにNEWマークの更新(HTMLファイルの更新)を行いますので、
長期間、登録・修正・削除が行われないとNEWマークも消えません。
# NEWマークの色
$new_color = "#FF8080";
※上記の新着の「New!」マークを表示する色を16進カラーコードで指定します。
# ポインタの形状(項目の先頭に表示)
$pointer = '□';
※リンクアイテムの先頭に表示するポインタ記号を指定します。
ポインタ記号は只表示されるだけです。ハイパーリンクはホームページ名にリンクされます。
# ポンインタの色
$pt_color = "#555555";
※上記のポインタを表示する色を16進カラーコードで指定します。
# ロックファイル機構 (0=no 1=yes)
$lockkey = 0;
※LinkVisorでは、同時投稿の衝突によるログの消失を防止するためにファイルロック機能を提供しています。
初期値では値=0(ロックファイル未使用)となってます。
ファイルロック機能を使用する場合は「$lockkey
= 1;」として下さい。
ファイルロック関数は、symlink関数とopen関数が選択できますが、@niftyではsymlink関数が使えますので「1」を選択します。
# ロックファイル名
# --> フルパスなら / から記述 (http://からではない)
$lockfile = './linkv.lock';
※この設定は、特に変更の必要がありません。
# URLリンク部の形態
# _self :
現在表示されているページの中でジャンプ
# _blank :
別フレームを生成してそこでジャンプ
# _top :
フレーム内であれば全てのフレームを解除してジャンプ
# _parent :
複数フレーム内の場合1段目のみを解除してそこにジャンプ
$target = "_blank";
※リンク先のページをクリックした時にどの様にウィンドゥ表示するかを指定します。
# ホスト名取得方式
# 0 : $ENV{'REMOTE_HOST'}で取得
# 1 : gethostbyaddr関数で取得
$gethostbyaddr = 0;
※この設定は、特に変更の必要がありません。
# タグ使用許可 (0=no 1=yes)
$tagkey = 0;
※登録内容にHTMLタグの使用を「許可しない/する」の設定を行います。(初期値は「0:許可しない」です)
HTMLタグを許可する場合は「$tagkey =
1;」と設定して下さい。
※登録内容にHTMLタグを全て許可するのは、運用上の危険が伴います。
<font>タグの閉じ忘れや<table>タグの閉じ忘れが発生するとリンクページが壊れる恐れもあります。
# キャッシュ拒否のMETAタグ挿入 (0=no 1=yes)
$no_cashe = 1;
※この設定は、特に変更の必要がありません。
# method形式 (GET or POST)
$method = 'POST';
※この設定は、特に変更の必要がありません。
# 壁紙を指定する場合 (画像を http://
から記述)
$bg = "";
※背景に壁紙を使用する場合に壁紙のGIF画像ファイルのURLをhttp://から指定します。
壁紙を指定する例は以下の通りです。
$bg = "http://homepage▲.nifty.com/■■■■■■/linkv/back.gif";
↑▲と■■■■■■の部分は、あなたのホームページアドレスに合わせて変更します。
(ファイル名「back.gif」は、壁紙の画像ファイル名を指定する)
※壁紙を設定したのに表示されない時は?
@niftyでは、CGIと同じ場所に画像ファイルを置けません。
この設置事例では、FTPで/homepage/linkv(URLは、http://homepage▲.nifty.com/■■■■■■/linkv/)という
ディレクトリの中に壁紙用の画像ファイルを転送することを前提に説明しています。
壁紙用のGIF画像ファイルの転送先URLをhttp://から正しく指定して下さい。
大抵の場合、壁紙用GIF画像ファイルの転送先URLの指定間違いです。
# 背景色
$bc = "#EEEEEE";
※リンクページの背景色を16進カラーコードで指定します。
# 文字色
$tx = "#000000";
※リンクページの文字色を16進カラーコードで指定します。
# リンク色
$lk = "#0000FF"; # 未訪問
$vl = "#0000FF"; # 訪問済
$al = "#FF0000"; # 訪問中
※掲示板のリンク色を16進カラーコードで指定します。
# タイトル画像を使う場合
$t_img = ""; # 画像を http://
から指定
$t_wid = "153"; #
画像の横サイズ(ピクセル)
$t_hei = "47";
# 画像の縦サイズ(ピクセル)
※タイトルに画像を使用する場合にタイトル画像ファイル(GIF,JPG,PNG等)のURLをhttp://から指定します。
タイトル画像を指定する例は以下の通りです。
$t_img =
"http://homepage▲.nifty.com/■■■■■■/linkv/title.gif";
↑▲と■■■■■■の部分は、あなたのホームページアドレスに合わせて変更します。
(ファイル名「title.gif」は、タイトル画像ファイル名を指定する)
※壁紙を設定したのに表示されない時は?
@niftyでは、CGIと同じ場所に画像ファイルを置けません。
この設置事例では、FTPで/homepage/linkv(URLは、http://homepage▲.nifty.com/■■■■■■/linkv/)という
ディレクトリの中にタイトル用の画像ファイルを転送することを前提に説明しています。
タイトル用画像ファイルの転送先URLをhttp://から正しく指定して下さい。
大抵の場合、タイトル用画像ファイルの転送先URLの指定間違いです。
# タイトル下部の一言メッセージ
$sub_msg = <<'SUB_MSG';
<!-- ここから -->
<UL>
<LI>キーワード検索の可能なリンク集です。
<LI>どうぞご自由に登録してください。
</UL>
<!-- ここまで -->
SUB_MSG
※タイトルの下に簡単なメッセージを表示できます。
上記の赤字の部分を好きなメッセージに変更して下さい。(HTMLタグを使用することも出来ます)
#
登録受付アクセス制限(ホスト名を記述)
# → 登録者をホスト名又はIPアドレスから拒否制限する場合
@deny = (
"anonymizer",
"cache*.*.interlog.com",
"215.163.17.*",
"",
"",
"",
"",
"",
""
);
※リンクページへの登録を制限したいホスト名を記述します。
ここに記述されたホストから登録受付けが行われようとすると、「アクセスを許可されていません」
というエラーメッセージが表示されます。
@niftyでは、DNS逆引きが出来ませんので、ホスト名を取得できません。
代わりにIPアドレスでアクセス制限をかけます。
(設定例)
@deny = (
"192.168.01.*",
"127.0.0.*",
"",
"",
"",
"",
"",
"",
""
);
※上記の設定例の様に、アクセス制限したい投稿者のIPアドレスを指定します。
投稿者のIPアドレスは、管理者モードで見ることが出来ます。
#============#
# 設定完了 #
#============#
|
◆ファイルのアップロード
スクリプトの変更が完了したら、以下のディレクトリにアップロードして
各ファイルのパーミッションを下記の通り変更します。
Root/ ←あなたのルートパス
|
+--cgi-bin/
| |
| +--linkv/(任意のディレクトリ名)
| linkv.cgi パーミッション[755]
| linkv.log パーミッション[666]
| jcode.pl パーミッション[644]
|
+--homepage/
|
+--linkv/(任意のディレクトリ名)
linkv.html パーミッション[666]
*.gif (壁紙、タイトル、アイコン画像等)
※青いディレクトリは新しく作成したモノ
|
◆LinkVisorの設置準備(初期セットアップ)
CGIスクリプトの設定変更だけでは、LinkVisorはまだ動きません。
LinkVisorでは、1件目のリンクを登録したときにCGI設定内容に合わせて表示用HTMLファイルが更新されます。
1件目のリンクを登録する方法には、項目登録の権限($reg_type)によって以下の2通りがあります。
1.項目登録の権限を管理者のみ($reg_type
= 0;)に設定している場合
linkv.cgiを管理者モードで起動して、1件目の登録を行います。(具体的には以下のように行います)
ブラウザから、linkv.cgiを以下の様にオプションをつけて呼び出します。
呼出方法>http://hpcgi▲.nifty.com/■■■■■■/linkv/linkv.cgi?mode=admin&pass=password
具体的例>http://hpcgi1.nifty.com/guest/linkv/linkv.cgi?mode=admin&pass=0123
※URLアドレスの▲と■■■■■■の部分は、自分の@niftyのURLに読み替えて下さい。
上記の様にオプションを付けて呼び出すと以下の様な管理者画面になりますので、1件目のリンクを登録して下さい。
2件目以降は、HTMLファイルが自動更新されるので、正常に動作する様になります。
登録フォーム
- 現在の登録数:0件
- 項目を削除する場合はチェックボックスにチェックを入れて「削除する」を押して下さい。
- 項目内容を修正する場合は「修正」のリンク部をクリックすると修正フォームが現れます。
|
2.項目登録の権限を訪問者の自由($reg_type
= 2;)に設定している場合
訪問者自由登録設定の場合は、linkv.htmlを呼び出して「1件目のリンク」を登録します。
しかし、@niftyではダウンロードした圧縮ファイルに同梱されているlinkv.htmlを使って、1件目の登録が出来ません(;^^)
そこで、表示用のHTMLファイル(linkv.html)をエディタで開いて修正する必要があります。
修正箇所は全部で3箇所ありますが、1箇所だけ変更すればとりあえず1件目が登録できます。
以下に初期セットアップ(1件目の登録)の手順を示します。
(1)linkv.htmlをテキストの扱えるエディタで開いて先頭から23行目の<form action="./linkv.cgi"
method=POST>の1行を
以下の例の様に修正します。
22:[<a
href="../index.html" target='_top'>トップに戻る</a>]<br>
23:<hr><form
action="http://hpcgi▲.nifty.com/■■■■■■/linkv/linkv.cgi" method=POST>
24:<input type=hidden name=mode value='regist'>
25:<table>
26:<tr><td>タイトル</td><td><input
type=text name=sub size=25></td></tr>
27:<tr><td>URL</td><td><input
type=text name=url size=40 value='http://'></td></tr>
28:<tr><td>紹介内容</td><td><input
type=text name=comment size=40></td></tr>
29:<tr><td>カテゴリ</td><td><select
name=class>
30:<option value=''>▼選択
31:<option value="0">ビジネス
32:<option value="1">コンピュータ
33:<option value="2">教育と文化
34:<option value="3">健康とスポーツ
35:<option value="4">娯楽
36:<option value="5">個人
37:</select>
:
※URLアドレスの▲と■■■■■■の部分は、自分の@niftyのURLに合わせて変更して下さい。
|
(3)修正したlinkv.htmlをサーバーにアップロードしてパーミッションを[666]に設定します。
(4)linkv.htmlをブラウザで呼び出して、登録フォームから1件目のリンクを登録します。(後で削除してもイイので内容はなんでもOK)
(5)登録完了のメッセージが表示されたらリンクページに戻ります(linkv.htmlが更新されてます)
以上の手順でlinkv.cgiの設定さえ正しければ、2回目以降は正常に動作するようになります。
※手順(4)で「パスワードが違います
」というエラーが表示された場合?
項目登録の権限が「$reg_type = 0;(登録は管理者のみ)」に設定されているのが原因です。
◆LinkVisorの実行とリンク指定
ホームページからリンクを張る場合は以下の様に表示HTMLファイル(linkv.html)に直接リンクします。
<a href="http://homepage▲.nifty.com/■■■■■■/linkv/linkv.html">リンクページ</a>
※上記のアドレス指定の赤字の部分は、自分の@niftyのURLに合わせて変更して下さい。
◆改造版の紹介
こちらのページで作者が改造したスクリプト「LinkVisor Plus!」を再配布してます。
バナー表示、画面レイアウト変更、訪問者の編集・削除機能等を追加して@niftyで設置しやすくしてあります。