ClipBoardの設置事例 最終更新日:2000/09/19(Tue)



ウィルスチェック無料、ドメイン取得維持無料 レンタルサーバー
 

ClipBoardとは…

  サンプルはこちら(書きこみ禁止です)>設置サンプル

スクリプトの入手方法
  「KENT WEB」の自作CGIのプログラムコーナーからDownLoadして下さい。
  DownLoadした圧縮ファイルの中には、以下の7個のファイルが入ってます。

clip.cgi    …掲示板本体スクリプト
clip.log …ログファイル
jcode.pl …日本語コードライブラリ
cgi-lib.pl …CGIライブラリ
home.gif …家アイコン
clip.gif …添付ファイル(画像以外)のリンクアイコン
soon.gif …表示未許可の画像の代替イメージ

@nifty対応のディレクトリ構造
   @niftyには、cgi-binにおけるファイルに制限があります。(共通事項参照
   clipboardを設置するためには、以下の様なディレクトリを作成すると
   良いでしょう(ディレクトリ名は任意です)

   Root/ ←あなたのルートパス
   |
   +--cgi-bin/ ←http://hpcgi▲.nifty.com/■■■■■
   |       |
   |       +--clip/(cgi本体を設置する場所)
   |
   +--homepage/ ←http://homepage▲.nifty.com/■■■■■ 
        |
        +--clip/(画像ファイル等を設置する場所)

 ※青いディレクトリは新しく作成したモノ


スクリプトの必須変更箇所(動かす為に絶対変更する所)
  エディタ等でclip.cgiを開きます。  
  以下の@〜Dをあなたの環境に合わせて変更します。


@ 1行目 … perlのパスを@nifty用に変更(必須です)
#!/usr/local/bin/perl

A69行目 … パスワードの変更(動作に必須でありませんが必ず変更して下さい)
# 管理用パスワード
$pass = '
0123';        

B75行目 … トップページへの戻り先のリンク指定
# 戻り先
$home = "
http://homepage▲.nifty.com/■■■■■/index.html";
 ※トップメニューに表示される「
トップに戻る」のリンク先の指定です。
   上記の
http://homepage▲.nifty.com/■■■■■/index.htmlは、自分のホームページの
   トップメニューのURLに 読み替えて指定して下さい。

C159行目 … アップロードファイル格納ディレクトリのパス指定
# アップロードディレクトリ
# --> パスの最後は / で終わること
# --> フルパスだと / から記述する
$ImgDir = "
/homepage/clip/";
 ※アップロードするファイルを保存するディレクトリのパスを指定します。
   本稿の説明通りにディレクトリを作成している場合は、上記の様に指定して下さい。

D163行目 … アップロードファイル格納ディレクトリのURL指定
# アップロードディレクトリのURLパス
# --> パスの最後は / で終わること
$ImgUrl = "
http://homepage▲.nifty.com/■■■■■/clip/";
 ※アップロードファイルを表示するURLを指定します。
   上記の
http://homepage▲.nifty.com/■■■■■/clip/は、自分のホームページのURLに
   読み替えて指定して下さい。
   本稿の説明通りにディレクトリを作成している場合は、
■■■■■を自分のアドレスに
   変えるだけです。

ファイルのアップロード
  スクリプトの変更が完了したら、以下のディレクトリにアップロードします。
  画像ファイル(gifファイル等)は、全て/homepage/clip/にアップロードします。
  アップロードが完了したら、clip.cgi、clip.logのパーミッションを下記の通り変更します。


  Root/ ←あなたのルートパス
     |
     +--cgi-bin/
     |    |
     |    +--clip/ ←パーミッション[777]
     |         clip.cgi   パーミッション[755]
     |         clip.log   パーミッション[666]
     |         jcode.pl   パーミッション[644]
     |         cgi-lib.pl  パーミッション[644]
   |
     +--homepage/
          |
          +--clip/(←パーミッション[777]
               home.gif (家アイコン)
               clip.gif (添付ファイルのリンクアイコン)
               soon.gif (表示許可待ち画像ファイルの代替表示画像)


 ※青いディレクトリは新しく作成したモノ(パーミッションは[777]にして下さい)


clip.cgiの実行とリンク指定
  ここまでの最低限の設定で、clipboard@niftyで動きます。
  
clipboardの実行スクリプトは「clip.cgi」です。
  このスクリプトのアドレス指定は
@niftyでは以下の通りです。
  
http://hpcgi.nifty.com/■■■■■/clip/clip.cgi
       ↑※homepage?ではないことに注意!
  cgiスクリプトを直接実行する場合や、ホームページからリンクを
  張る場合は上記のアドレス書式で指定してください。

 
 ※無事に掲示板が表示されたら、以下の応用設定に進んで下さい。


スクリプトの任意変更箇所(機能やデザイン等を変更する場合)
  エディタ等でclip.cgiを開きます。  
  以下の設定内容をあなたの好みで変更して下さい。


(1) 42〜52行目 … 掲示板のタイトル文字、色、サイズの指定
# タイトル名
$title = "
Clip Board";

# タイトル文字の色
$t_color = "
#BB0000";

# タイトル文字のタイプ
$t_face = "
MS Pゴシック";

# タイトル文字サイズ(スタイルシートで有効)
$t_point = '
20pt';

※掲示板のタイトルの設定です。好きなタイトル、色、フォントを指定して下さい。
  掲示板のタイトルに画像を使用する場合は
こちらで設定を行います。
  その場合も
$titleは必ず設定してください。(ブラウザのウィンド表示で使用します)

(2) 54〜58行目 … 本文文字サイズ、投稿記事題名の色設定
# 本文文字サイズ(スタイルシートで有効)
$b_size = '
10pt';
※掲示板の文字サイズをポイント数で指定します。 おおよそ 9pt〜12ptの範囲で指定して下さい。

# 記事題名の色
$sub_color = "
green";
※投稿記事の題名の色を指定します。
  シンボリックネームの他に16進カラーコードでも指定可能です。
 (凡例) 
青色 = "0000FF" or "blue"
      
緑色 = "008040" or "green"
      
桃色 = "FF00FF" or "pink"
      
赤色 = "FF0000" or "red"
      
茶色 = "800040" or "maroon"
      黒色 = "000000" or "black"


(3) 60〜66行目 … スクリプト名とログファイル名の設定

# スクリプト名
# → 絶対パスなら http:// からのURLパス
$script = "./clip.cgi";  ←特に変更に必要はありません。

# → 絶対パスなら / から始まるパス(http://からではないので注意)
# ログファイル名
$logfile = "./clip.log";  ←特に変更に必要はありません。


(4) 71〜85行目 … 最大記事数、bodyタグ、URL自動リンク、1ページのログ表示件数の設定
# 最大記事数(これを超える記事は古い順に削除されます)
$max =
30;
※掲示板の最大ログ保存数を指定します。
  添付ファイルの大きさによってはファイル容量が相当必要ですので30〜50件位が適当です。
  多くても100件以上は指定しないで下さい。

# bodyタグ
$body = '
<body bgcolor="#FFFFCC" text="#552B00" link="#0000EE" vlink="#0000EE">';
※掲示板の背景色、文字色、未リンク色、既リンク色を指定します。
 壁紙を使う場合は、以下の書式で任意に設定してください。

 書式例><body background="壁紙ファイル名" bgcolor="背景色" text="文字色" link="リンク色" vlink="既リンク色"> 
 設定例>$body = '<body background="htp://homepage▲.nifty.com/■■■■/clip/wall.gif" bgcolor="#FFFFCC" …以下省略>';
※壁紙を設定したのに表示されない時は?
  @niftyでは、CGIと同じ場所に画像ファイルを置けません。
  この設置事例では、FTPで/homepage/clip(URLは、http://homepage▲.nifty.com/■■■■/clip/) 
  というディレクトリの中に壁紙用の画像ファイルを転送することを前提に説明しています。
  壁紙用のGIF画像ファイルの転送先URLをhttp://から正しく指定して下さい。
  大抵の場合、壁紙用GIF画像ファイルの転送先URLの指定間違いです。


# URLの自動リンク (0=no 1=yes)
# --> タグ許可の場合は no とすること。
$autolink =
1;
※投稿記事本文中のURLにリンクを貼る設定です。
  この設定を1にすると投稿記事本文中の「http://」から始まる文字列に自動的にリンクを貼ります。

# 1ページあたりの記事表示件数
$p_log =
7;
※1ページ毎に表示するログの件数を指定します。画像が多い場合は表示に時間がかかるので
  1ページ当たりの表示件数は、5〜8件が適当です。
  この設定値以上のログの件数が存在する場合は、「次のXX件」というボタンが表示されます。


(5) 92〜97行目 … ロックファイルの設定
# ロックファイル機構 (0=no 1=symlink関数 2=open関数)
$lockkey =
0;

# ロックファイル名
# → 絶対パスなら / から始まるパス(http://からではないので注意)
$lockfile = "./clip.lock";

※同時投稿によるログ消失事故を防止したい場合は、ロックファイルを使用します。
 ニフティでは、
symlink関数が使えますので「$lockkey = 1;」として下さい。
 ロックファイル名の設定は特に変更の必要はありません。


(6) 99〜110行目 … 画像管理者チェック機能、タグ許可の設定
# 画像管理者チェック機能 (0=no 1=yes)
# 1: アップロード「画像」は管理者がチェックしないと表示されない機能です
# 2: チェックされるまで「画像」は「COMMING SOON」のアイコンが表示されます
$ImageCheck =
0;
※この設定を「$ImageCheck = 1;」にすると、管理者がチェックするまでアップロードされた画像が表示されません。
  未チェックの画像の代りに
ここで設定された画像が表示されます。(初期値は同梱のsoon.gifです)

# 投稿処理の権限
# 0: 誰でも投稿可能
# 1: 管理者のみが投稿
$PostMode =
0;
※この設定を「$PostMode = 1;」にすると、掲示板の管理者しか投稿が出来なくなります。
  投稿フォームは管理者モードでパスワードを入力しないと表示されません。

# タグ許可 (0=no 1=yes)
$tagkey =
0;
※投稿記事本文中にhtmlタグの使用を認める場合は、この設定を「$tagkey = 1;」にして下さい。


(7) 112〜122行目 … メール通知機能の指定
# メール通知機能
# 0=no
# 1=yes:自分の投稿記事もメール通知する
# 2=yes:自分の投稿記事はメール通知しない
$mailing =
0;

# sendmailのパス(メール通知する場合)
$sendmail = '/usr/lib/sendmail';

# メール通知先アドレス(メール通知する場合)
$mailto = 'foo@host.ne.jp';


※ClipBordには、新規投稿記事を管理者にメールで通知する機能がありますが、
  初期値ではオフ(使用しない)に設定されてます。
 
@niftyでは自作cgiで「sendmail」が使えませんので、この機能は必ずオフにして下さい。


(8) 124〜128行目 … 広告タグ挿入オプションの設定
# タグ広告挿入オプション (FreeWebなど)
# → <!--上部--> <!--下部--> の代わりに「広告タグ」を挿入する。
# → 広告タグ以外に、MIDIタグ や LimeCounter等のタグにも使用可能です。
$banner1 = '
<!--上部-->'; # 表示部上部に挿入
$banner2 = '
<!--下部-->'; # 表示部下部に挿入

※掲示板の上下に画像(広告、リンクバナー等)を挿入するときに使用します。
 
広告バナーの設定例>$banner1 = '<A HREF="http://www.<-省略->"><IMG SRC="http://www.<-省略->"></A>';

 
BGM(音楽)を鳴らすタグを挿入する事も出来ます。
  BGMの設定例:
$banner1 = '<embed src="http://<-省略->/****.mid" autostart=true loop=true hidden=true>';
                     ↑
  
****.midの部分は、任意のmidiファイル名をhttp://からURLをフルで指定して下さい。
  また、閲覧者のブラウザが
<embed>タグに対応している必要があります。


(9) 130〜138行目 … アクセス制限の設定
# アクセス制限(ホスト名を記述)
@deny = (
      "anonymizer",
      "cache*.*.interlog.com",
      "",
      "",
      "",
      ""
      );

※掲示板へのアクセスを制限したいホスト名を記述します。
 ここに記述されたホストからアクセスがあると「アクセスを許可されていません」というエラーが表示されます。

@niftyでは、DNS逆引きが出来ませんので、ホスト名を取得できません。
代わりにIPアドレスでアクセス制限をかけます。
(設定例)
@deny = (
      "192.168.01.*",
      "127.0.0.*",
      "",
      "",
      "",
      "",
      "",
      "",
      ""
      );

※上記の設定例の様に、アクセス制限したい投稿者のIPアドレスを指定します。
  投稿者のIPアドレスは、管理者モードで見ることが出来ます。
 


(10) 147行目 … 連続投稿制限の設定

# 同一ホストからの連続投稿を制限
# --> 秒数を記述するとその時間以上を経過しないと連続投稿できない
$w_regist = '
60';
※同一ホストからの連続投稿を一定時間禁止する設定です。
  連続投稿禁止時間を秒数で指定します。(初期値は1分=60秒です


(11) 149〜154行目 …掲示板タイトルに画像を使用する設定
# タイトル画像を使う場合 (http://から画像を指定)
$ImgT = "";

# タイトル画像を使う場合に「横幅」「縦幅」をそれぞれピクセル数で記述
$ImgW = "
300";
$ImgH = "
70";

※掲示板のタイトルに画像を使用する場合に画像ファイルのURLアドレスをhttp://から指定します。
  タイトル画像を指定する例は以下の通りです。
 
 $title_gif = "http://homepage.nifty.com/■■■■■/clip/****.gif";
            
↑あなたのアドレスに合わせて設定します。
             
(ファイル名「****.gif」は、タイトルの画像ファイル名を指定する)
※タイトル画像を設定したのに表示されない時は?
  @niftyでは、CGIと同じ場所に画像ファイルを置けません。
  この設置事例では、FTPで/homepage/clip(URLは、http://homepage▲.nifty.com/■■■■■/clip/)という
  ディレクトリの中にタイトル用の画像ファイルを転送することを前提に説明しています。
  タイトル用の画像ファイルの転送先URLをhttp://から正しく指定して下さい。
  大抵の場合、タイトル用画像ファイルの転送先URLの指定間違いです。


(12) 165〜191行目 … アップロードファイルの各種設定
# アップロードを許可するファイル形式
# 0:no 1:yes
$gif   =
1;  # GIFファイル
$jpeg  =
1;  # JPEGファイル
$png   =
1;   # PNGファイル
$text  =
1;   # TEXTファイル
$lha   =
0;   # LHAファイル
$zip   =
0;   # ZIPファイル
$pdf   =
1;  # PDFファイル
$midi  =
1;  # MIDIファイル
$word  =
0;   # WORDファイル
$excel =
0;   # EXCELファイル
$ppt  =
0;   # POWERPOINTファイル

※アップロードを許可するファイルタイプを指定します。
  アップロード可能なファイルは、
GIF, JPEG, TEXT, LHA, ZIP, PDF, MIDI, WORD, EXCEL, POWERPOINT
  10種類ですが、初期値では、
LHA ZIP及びWORD, EXCEL, POWERPOINTが不許可になってます。

# 投稿受理最大サイズ (bytes)
# --> 例 : 102400 = 100KB
$cgi_lib'maxdata = '
102400';
※アップロードを許可するファイルの最大サイズをを指定します。
  あまり大きなサイズを許可するのは危険です。初期値では100KBとなっています。

# 画像ファイルの最大表示の大きさ(単位:ピクセル)
# --> これを超える画像は縮小表示します
$MaxW =
550; # 横幅
$MaxH =
200; # 縦幅
※ここで指定した縦横幅以上の画像は、指定の縦横比率で縮小表示されます。
  アップロードされた画像にはリンクが貼られ、クリックすると原寸で表示されます。

# アイコン画像ファイル名 (ファイル名のみ)
$IconHome = "
home.gif";  # ホーム
$IconClip  = "
clip.gif";   # クリップ
$IconSoon = "
soon.gif";  # COMINIG SOON
※以下の3種類の画像ファイルを指定します、
 $IconHome … 投稿者のホームページへのリンクイメージです。
 $IconClip  … 画像ファイル以外の添付ファイルへのリンクイメージです。
 $IconSoon … 管理者が未チェックの画像ファイルの代替表示イメージです。
※ここで指定した画像ファイルは、/homepage/clip/というディレクトリにアップロードして下さい。


(12) 193〜200行目 … 掲示板タイトル下のサブメッセージの設定
# サブメッセージ
# → タイトルの下にサブメッセージを記述できます
# → HTMLタグなどを使ってご自由にどうぞ
$SubMsg = <<'_SUB_MSG_';
<!-- ここから -->

<!-- ここまで -->
_SUB_MSG_

※掲示板のタイトル下に任意のサブメッセージを表示できます。
  HTMLタグを用いたメッセージの表示も可能です。
  例えば、以下の例の様に設定すれば、スクロールメッセージの表示もできます(InternetExplorerのみ有効)
<設定例>
$SubMsg = <<'_SUB_MSG_';
<!-- ここから -->
<marquee width=30% bgcolor=ffffff>私のホームページに来てくれてありがとう!</marquee>
<!-- ここまで -->
_SUB_MSG_


動作チェックモードについて

  設置状況が正しいか、チェックモードを使って簡易的な動作チェックを行なうことができます。

  【チェックの仕方】mode=check という引数をつけて起動する
   例>http://hpcgi
.nifty.com/■■■■■/clip/clip.cgi?mode=check

   上記の結果、以下の様なレポート画面が表示されますので、アップロードした画像が表示
   されない等の動作不良の原因を調べる時に用います。

Check Mode

  • ログファイル:パスOK!
  • ログパーミッション:OK!
  • アップロードディレクトリ:パスOK!
  • アップロードディレクトリのパーミッションOK!



CGI設置でお困りの方へ、ニフティの自作CGIの代行設置もおまかせ下さい!