知識無用のステップアップ実践講座

著者：KENT1959年生まれ。自作 CGIスクリプトの配布をメインとするインタラクティブページ制作の支援サイト「KENT WEB」管理者。
www.kent-web.com
静岡県静岡市在住。
illustration : Ebisu Yoshikazu

第3回 オリジナル掲示板に挑戦!（前編）
第 3 回の課題は、CGIとHTMLの関係をおぼろげながらでもつかむことだ。そのう
えで、ホームページに「掲示板」を設置してみよう。掲示板の設定や運営は複雑なので、設置をメインにした「前編」と、改造をメインにした「後編」に分けて解説しよう。

1 掲示板を設置しよう
基礎練習も忘れるべからず

オリジナル掲示板で差を付けろ)
掲示板の設置作業
その1として管理者が訪問者の反応を敏感に知ることができる。

数あるCGIの中で、一番人気があるのはや

ホームページ管理者として、訪問者の反応ここまでの作業が完了したら「秀丸エディはり掲示板だ。諸君も力が付いてきたと思うをより多く知ることは、運営上とても大切なタ」などのテキストエディターで「wbbs.cgi」

ので、今回は掲示板に挑戦してみよう。通常ことであり、ひいてはそれがホームページ作成を開いてみよう。下で解説する「基本設定」のHTML では「情報」は一方通行だが、掲の励みともなるだろう。

を修正したら「秀丸エディタ」で「ファイル」

示板では、管理者と訪問者、あるいは訪問今月は「前編」として、基本的な掲示板者同士でコミュニケーションが図れるのが特の設置を中心に解説しよう。さらに次回の徴だ。また、掲示板があることで、訪問者が「後編」では、掲示板を改造して応用的な使サイトの感想や意見を伝えやすくなり、結果い方も学習することにする。

+CD-ROM→「保存して終了」をクリックして上書き保存しよう。

wbbs.cgi の 1 行目を変更する

サンプル掲示板の基本設定

ソフトウェアの収録 先
秀丸エディタ Å Win→ HIDEMARUFFFTP Å Win→ FFFTPJedit Å Mac→ Jedit
Fetch-J Å Mac→ Fetch-J

まず、本誌付属のCD-ROMÅ のサンプル
ファイルをPCへコピーする。ウィンドウズのÅ Magnavi→ Ip0109→ Cgi#!/usr/local/bin/perl#┌───────────────#│ WEB BOARD v1.0 (2001/07)#│ Copyright(C) Kent Web 2001

場合は、コピーしたあとに「読み取リ専用」のファイル属性を解除する必要があるので

CGI サンプルの収録 先

1
2
3
4
5

「ファイルを右クリック」→「プロパティ」→「wbbs.cgi」の1行目、「Perlのパス」をプロバイダーから指定されたパスに書き換えよう。

「読み取り専用」のチェックをはずす。

318 INTERNET magazine 2001/9

インターネットマガジン／株式会社インプレスR&D

Perl のパス：多くのCGIはPerlという言語で書かれており、そのPerlがサーバーのどこに置かれているかを指定するのが「パス」。

©1994-2007 Impress R&D実際に反映されている場所
wbbs.cgi の 28~85 行を以下のように設定する

282930313233343536373839404142434445464748495051525354555657596061626364656667686970717273
74757677787980
8182
8384
85

2

#============## 基本設定 ##============#

4

1
7
5

# 文字コード変換ライブラリ取り込み
require './jcode.pl';6# タイトル名$title = " 掲 示 板 "; 1
# スクリプト名$script = './wbbs.cgi';

3 bodyタグ
CGIファイルを変更すると、それぞれ丸数字の場所に反映される。

# ログファイル名$logfile = './wbbs.log';

たとえば、1 を変更すれば、掲示板のタイトルを変えられる。

掲示板の管理を行う「管理モード」に入るための# 管理用パスワード$pass = '0123';

パスワード。ここはできるだけ複雑なパスワードを半角英数字で指定しよう。

# 最大記事数（これを超える記事は古い順に削除されます）$max = 50;# 戻り先$home = "../index.html"; 2# bodyタグ3$body = '<body background="" bgcolor="#FFFFFF" text="#000000 "link="#0000FF" vlink="#0000FF" alink="#FF0000"> ';# １ページあたりの記事表示件数$p_log = 5;
# ファイルロック# → 0=no 1=yes$lockkey = 0 ;ここは「1」にしておこう。2 つ以上の記事投稿が、たまたま同じタイミングで重なったときに記録ファイルが破損することがある。ロックファイルとは、これを防止する機能だ。

# ロックファイル名$lockfile = './lock/wbbs.lock';# 題名部文字の色$sub1_col = " #FFFFFF ";4# 題名部下地の色$sub2_col = " #535353 ";5# 題名部ポインタの色$sub3_col = " #FCC22C ";6
設定場所の解説# 掲示板下部の一言メッセージ$sub_msg = <<'EOM';<!-- ここから -->7
私のホームページへお越し頂きありがとうございました。<br>
どうぞご感想などを一言お願いします。
<!-- ここまで -->EOM#============## 設定完了 ##============#

1 掲示板の「タイトル」を指定をするところ。好きなタイトルに変更しよう。
2 掲示板からの戻り先を指定するところ。http://から記述してもよい。
3 よく見ると、見慣れたタグが書かれている。この部分が掲示板の「bodyタグ」になる。
4 書き込みの「タイトル部分」の文字の色を16進数で指定する。よくわからないならこのままにしておこう。
5 書き込みの「タイトル部分」のバーの色を16進数で指定する。よくわからないならこのままでもOKだ。

※わかりやすいように、CGIスクリプトに行番号を付けてある。
「秀丸エディタ」など、行番号を表示する機能を持つエディターなら、それを参照しよう。

6 書 き込 みの「タイトル部 分 」にある「ポインタ（■）
」の色を16進数で指定する。よくわからなけ
ればこのままでもいい。
7 タイトル下のメッセージを指定するところだ。よくわからない人はこのままで大丈夫だ。

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET magazine 2001/9319

掲示板の設置作業
その2

アップロードルダーを確認しょう。CGI ファイルをどこに「wbbs.cgi」の設定を修正したら、次は設置いてもよいプロバイダーもあれば、@nifty置作業だ。この作業はFTPクライアントを使のように「cgi-bin」フォルダーでなければなって行う。まず最初に、CGIを設置するフォらないところもあるので注意する。

パーミッションの設定@nifty の例だと、「cgi-bin」フォルダーに「wbbs.cgi」「jcode.pl」「wbbs.log」の3ファイルを「アスキーモード」

cgi-binwbbs.cgi [755]FTP クライアントの機能を使ってjcode.pl

それぞれのパーミッションを[644]wbbs.log [666]で転送する。

「 wbbs.cgi」 は「 755」 に、「 jcode.pl」 は「 644」 に、「wbbs.log」は「666」に設定する。
次に「cgi-bin」フォルダーの下にlock[777]「lock フォルダー」を作成し、パーミッションを「777」に設定する。

2 掲示板を動かそう
意外にカンタン!?

でも油断は禁物だ

ブラウザーで動作を確認しよう
ここまでの作業が終了したら、次はアップロードした C G I の動 作 を確 認 しよう。
「wbbs.cgi」をブラウザーから直接呼び出して、下のように表示されれば設置は完了だ。

)

掲示板にアクセスするCGI（@nifty の場合）

http://hpcgi?.nifty.com/****/wbbs.cgi
URL 中の「?」には、「http://homepage?.nifty.com」のサブドメインに付く数字が入る。
「****」には、ホームページ領域のID名が入る。

うまく表示されない場合は、「Perl のパス」や「アップロード先のフォルダー」が正しいかを確認しよう。

( 失敗だぁぁ…

設置完了「Perlのパス」が間違っていると、このようなエラーが表示される。
慣れてくると、凡ミスしやすいところなので注意。プロバイダーをこの画面が表示されれば、設置完了だ。CGI ファイルで、タイトルなどを変えたときは、意図したものになっているかどうかをチェック。

引っ越したときも、設定を直し忘れることが多い箇所だ。

320 INTERNET magazine 2001/9

インターネットマガジン／株式会社インプレスR&D

FTP（エフ・ティー・ピー／ File Transfer Protocol）クライアント：ファイル転送用のプロトコルである「FTP プロトコル」を使い、ファイルのダウンロードやアップロードをするためのアプリケーション。
©1994-2007 Impress R&D

3 掲示板を運営しよう

コミュニティーの難しさは日々の運営にあり)板で、さまざまな使い方に対応しているものだ。サイトへの訪問記念に足跡を残すゲスト
ブック、あるテーマについて意見交換を行う

テストをしたらいよいよ完成だーの「書きこむ」をクリックして、投稿フォ掲示板、新着情報を告知する新着ボードなームから投稿する。

ど、いろいろな使い方があるはずだ。

設置した掲示板に、記事を書き込んでみよ

今回のコーナーで紹介する掲示板は、シンう。新規に書き込むには、掲示板上部メニュ

プルだが、基本的な機能を十分に備えた掲示

次回（後編）は、この掲示板の改造やアレンジに挑戦しよう。

( 失敗だぁぁ…

テスト書き込み「LOCK is BUSY」というエラーが表示されるときは、「lock」フォルダーが作成されていないか、「lock」フォルダーのパーミッションが「777」に設定されていない可能性があるのでチェックする。それでもうまくいかない場合は、「wbbs.cgi」の61行目にある「ファイルロック」を「0」にしてみよう。

入力項目が 7 か所あるが、必須の入力項目は「おなまえ」と「メッセージ」の2 か所。あとで「管理モード」で削除できるので、投稿フォームに適当なメッセージを入れて記事を投稿して完成みよう。

テストで書き込んだとおりに表示されたら、掲示板は完成だ。サ
イトのトップページからリンクを張って公開しよう。

フトドキ者は管理モードで成敗！

喝来たれ!

道場破り

今回の CGI スクリプトの「掲示板」をカスタマイズして、きれいな掲示板を送ってほしい！ あて先は「imcgi@impress.co.jp」だ。こちらにURL を書いて送るべし。優秀なサイトは誌面で紹介するぞ！

レンタル掲示板などを使って、すでに掲示板を運営している人は体験しているかもしれないが、訪問者の中こんなときは、掲示板の管理者機能を使い、荒らしのには、不愉快な発言を繰り返す「荒らし」と呼ばれる書き込みを削除しよう。投稿者のホスト名も記録され者がいる。ているので、荒らしが続く場合は、投稿者が利用しているプロバイダーに連絡しよう。

サンプルスクリプト「wbbs.cgi」
についての注意
・これらのCGI スクリプトはフリーソフトとして使うことができます。
・詳細な利用規定については下の「利用規今回の CGI は、設置より運用のほうが難しいかもしれない。
次回は、このスクリプトをさらに改造するぞ！

定」を読んでください。

www.kent-web.com/pubc/kitei.html

次回は「掲示板（激しく改造）」に挑戦だ!

つづくうううインターネットマガジン／株式会社インプレスR&D

INTERNET magazine 2001/9©1994-2007 Impress R&D321

［インターネットマガジン バックナンバーアーカイブ］ ご利用上の注意
この PDF ファイルは、株式会社インプレス R&D（株式会社インプレスから分割）が 1994 年～2006 年まで発行した月刊誌『インターネットマガジン』の誌面を PDF 化し、「インターネットマガジン バックナンバーアーカイブ」として以下のウェブサイト「All-in-One INTERNET magazine 2.0」で公開しているものです。

http://i.impressRD.jp/bn
このファイルをご利用いただくにあたり、下記の注意事項を必ずお読みください。
z 記載されている内容（技術解説、URL、団体・企業名、商品名、価格、プレゼント募集、アンケートなど）は発行当時のものです。
z 収録されている内容は著作権法上の保護を受けています。著作権はそれぞれの記事の著作者（執筆者、写真の撮影者、イラストの作成者、編集部など）が保持しています。
z 著作者から許諾が得られなかった著作物は収録されていない場合があります。
z このファイルやその内容を改変したり、商用を目的として再利用することはできません。あくまで個人や企業の非商用利用での閲覧、複製、送信に限られます。
z 収録されている内容を何らかの媒体に引用としてご利用する際は、出典として媒体名および月号、該当ページ番号、発行元（株式会社インプレス R&D）、コピーライトなどの情報をご明記ください。
z オリジナルの雑誌の発行時点では、株式会社インプレス R&D（当時は株式会社インプレス）と著作権者は内容が正確なものであるように最大限に努めましたが、すべての情報が完全に正確であることは保証できません。このファイルの内容に起因する直接的および間接的な損害に対して、一切の責任を負いません。お客様個人の責任においてご利用ください。

このファイルに関するお問い合わせ先
All-in-One INTERNET magazine 編集部
im-info@impress.co.jp
Copyright © 1994-2007 Impress R&D, an Impress Group company. All rights reserved.