【設置の手引き】

この説明とともに以下のドキュメントも必ずお読みください。
  config.txt (会議室設定ファイルの説明)
  forum.txt (フォーラムの使い方等)
  version.txt(既知の問題と従来バージョンからの変更等)
  update.txt (バージョン3.0以降の変更点等を説明)


設置の説明は以下のディレクトリ構造で設置する場合を想定して説明します。 なお、括弧内の数字は設定すべきパーミッションです。 ただしサーバによっては設置例以外のパーミッションにする必要があります ので、設置するサーバのCGI設置説明などを必ず参照してください。 なお、指定なしのものは特にパーミッションを変更する必要がありません。 (Read-Onlyファイル等) 配布スクリプトの拡張子はcgiになっていますが、IIS等に設置する場合で拡張子 を変更する必要がある場合は適宜ファイル名を修正してください。 <Public_html>(あなたのホームディレクトリ) | +--<cgi-bin> (CGI実行可能であること。名前は単なる例です) | +--<discussplus> (777や707等。設置導入完了までは777等にしておいて下さい) | | 実行スクリプト類(*.cgi) (755や707等) | jcode.pl (必ずしもここに置く必要はない) | errmsg.dat | setup.html | about.html | colortbl.html | +--<conf> (777や707等) | | | | default.conf | | 各種デフォルトテンプレート(*.tpl)を置く | + | +--<images> | | | | 各種GIFイメージを置く | + + 1.ファイル名が小文字になっていない場合は全て小文字に変更する (GIFイメージのファイル名も同様です) 配布アーカイブには以下のファイルが含まれています。
    DiscussPlusスクリプト類 (1) 実行スクリプト discuss.cgi DiscussPlusメインスクリプト artview.cgi 記事表示&記事取消スクリプト regist.cgi 記事登録スクリプト custom.cgi 表示設定スクリプト search.cgi 記事検索スクリプト stat.cgi アクセス統計表示スクリプト admin.cgi 管理機能メインスクリプト edit.cgi 記事編集&削除スクリプト backup.cgi バックアップ&リストア等スクリプト pslog.cgi 過去ログ管理スクリプト config.cgi 会議室設定変更スクリプト forum.cgi フォーラムリストスクリプト frame.cgi フレーム分割用スクリプト setup.cgi 初期設置用スクリプト commonlib.cgi 共通処理ライブラリ jcode.pl 日本語コード変換ライブラリ v 2.10 (2) CGI実行に必要なデータとHTMLファイルなど errmsg.dat エラーメッセージファイル deny.sample 投稿拒否アドレスファイルサンプル setup.html 初期設置用起動ページ about.html DiscussPlusについて colortbl.html 参照用カラーテーブル 会議室設定格納ディレクトリに置くファイル default.conf デフォルトの会議室設定ファイル config1.tpl 会議室設定テンプレート(1) config2.tpl 会議室設定テンプレート(2) config3.tpl 会議室設定テンプレート(3) forum.tpl フォーラムリスト用テンプレート info.tpl お知らせメッセージ用テンプレート htmlmail.tpl 投稿通知メールテンプレート(HTML形式) plainmail.tpl 投稿通知メールテンプレート(plain形式) GIFイメージ各種 imagesディレクトリ内のファイル(全部で56ファイル)
2.実行スクリプト(*.cgi) のPerlパス指定、jcode.plパス指定を修正する 【注意】 DiscussPlusはPerl ver4では動作しません。Perl ver5以上(5.003以降を推奨) が必要です。もし設置するサーバにPerl ver4とver5がある場合は必ずPerl ver5 の方を指定してください。 3.commonlib.cgiを開いて以下の変数定義を変更する (1) $BaseURL DiscussPlusを設置したURL。最後に"/"は付けない。 (例)$BaseURL = 'http://yourhost/~yourname/cgi-bin/discussplus'; (2) $ConfDir 会議室管理データの格納ディレクトリ(属性は777や707等) (例) $ConfDir = './conf'; 【注意】 このディレクトリは重要です。全ての会議室設定とフォーラム設定が書込まれ ますので、安全のためにデフォルトの名前は変更しておいた方がいいでしょう。 また心配ならDiscussPlus設置ディレクトリ内ではないところに作成すべきで しょう。当然ながらここで指定したパスに合わせてConfDirを作成する必要が あります。 (3) $CHARSET この値は設置する文字セットに合わせる。(小文字で'x-sjis'または'x-euc-jp') (例) $CHARSET = 'x-sjis'; 【注意】 ここで指定した文字コードで内部処理とHTML生成がされるので、日本語euc等で 設置したい場合はサーバへ設置する前に全てのソース類を指定の文字コードに 変換してから設置するようにします。(またはtar.gzアーカイブを使用) JIS('iso-2022-jp')でも一応の動作検証はしていますが厳密には行っていません ので、Shift-JISまたはEUCでの設置を推奨します。 (4) $TIMEZONE タイムゾーンの設定。日本はGMT+9:00 (例) $TIMEZONE = +9; (5) $MaxPostSize POST可能な最大入力サイズ。KBytes単位。このサイズを越えてフォーム入力が あるとエラーになります。この設定は全会議室共通となります。 各会議室毎には、記事本文の大きさを制限することができます。 (例) $MaxPostSize = 10; (6) $UseFlock flock機能が使える場合(一般にはUNIX系サーバ)はファイル更新時のロック 機能にflockを併用できます。Windows系サーバの場合は基本的にこのスイッチ をOFF(=0)に設定してください。 setup.cgiでこの設定をチェックしていますので確認してください。 (例)$UseFlock = 0; ※WindowsNT+Apache+ActivePerl(build 509以降)ではflockもエラーになら ないようです。ただし、Windows95/98では不可です。 WinNTでの機能自体の効果は未確認ですので使用は推奨しません。 (7) $ExpCookie クッキーの保存期間(単位:日) (例) $ExpCookie = 30; (8) $CryptFunc 暗号機能が使えない場合に0に設定します。 暗号化機能が使えない場合は削除キー等が生のままでデータファイルに書込ま れます。setup.cgiでこの設定をチェックしていますので確認してください。 (例) $CryptFunc = 1; 4.setup.cgiを開いてパスワードを設定する 会議室の初期開設(以降でも使用可能)のために使用するので、必ずパスワードを 設定します。このパスワードは生のままですので、心配なら初期開設後にsetup.cgi をリネームして使用できないようにしておきます。 5.サーバへの転送 imagesディレクトリの中身はgifファイルなので全てバイナリ(イメージモード)転送。 他のもの(テンプレートを含む)は全てASCII(テキストモード)転送します。 先の文字セット指定で説明したとおり、設置したい文字セットに合わせて事前に ソース類は漢字/改行文字変換しておく必要があります。(HTMLファイルを含む全て) なお、配布のソースは zip形式とlzh形式は shift-jisの漢字コード、改行コード は CR+LF になっています。tar.gz形式のアーカイブはeuc日本語、改行コードは LFになっています。 6.パーミッションの変更 設置構成例を参考に実行スクリプトと各ディレクトリのパーミッションを変更し ます。初期設置で作成すべきディレクトリは、スクリプト設置ディレクトリと会議 室設定を格納するConfDir、それとGIFイメージを格納するimagesディレクトリのみ です。 7.最初の会議室の開設 setup.htmlを起動させて以下の処理を行います。setup.cgiが起動されます。 実行するにはパスワードが必要ですので先にsetup.cgiに設定したパスワードを入力 します。 (1) 設置環境の状態をチェックする あなたが設定したcommonlib.cgiの設定がチェックされますので確認して下さい。 また、このCGI自体が動作しない場合は、setup.cgiとcommonlib.cgiのPerlパス、 jcode.plのパスおよび実行CGIのパーミッション(755)を確認してください。 setup.htmlのフォームタグを確認してsetup.cgiが正しく呼出されているかも 確認します。(直接、setup.cgiを指定して起動することも可能です) この環境調査ではDiscussPlusの設置ディレクトリを使って各種テストがされま すので、設置導入完了まではDeiscussPlus設置ディレクトリのパーミッションを 777や707等にしておきます。 また、commonlib.cgiで指定したConfDirの書込みテストも行います。 (2) 最初の会議室の開設 上記環境チェックで問題が無ければ、最初の会議室を開設します。 設定項目がかなりありますが、ほとんどはdefault.confからの値が参照されてい ます。重要なのは会議室IDと会議室ディレクトリの指定です。 各設定項目の詳細はconfig.txtを参照してください。 とりあえず、動作確認のみしたいのであればデフォルトのままで会議室を開設し てみます。ただし管理者パスワードは必ず指定するようにします。 会議室は後で削除(閉鎖)することもできます。 8.動作確認 会議室の開設がうまくいけば、forum.conf(または、forum_フォーラムID.conf)に 新しい会議室が登録された旨のメッセージが表示されますので、実際に会議室に 入ってみて投稿や管理者機能の動作試験を行います。 ※動作確認後、開設した会議室を削除または設定変更したい場合は、その会議室の 管理機能から実行可能です。また、新しい会議室を開設することもできます。 会議室をスクリプト設置ディレクトリ以下に開設しない場合は、スクリプト設置 ディレクトリのパーミッションは777以外に変更可能です。 (より上位からのパスでアクセスできるディレクトリ等に作成する場合) ※imagesディレクトリをDiscussPlus設置ディレクトリの直下に置かない場合は、 default.conf(または会議室毎の設定)の修正だけではうまくgif表示できません。 メモリ効率の関係から、各スクリプトの中に埋込みされているものがあるため、 各スクリプトの最初の方に定義されているイメージ設定を修正してからサーバに 設置する必要があります。 9.フォーラムテンプレート等の編集 (1)ConfDirにあるforum.tpl(実体はHTMLファイル)をあなたのお好きなように 編集します。ただし、CGIが挿入するテーブルの位置を示す以下のマーカー コメントを削除・変更してはなりません。挿入位置は任意行に設定可能です。 <!--- %FORUMLIST% ---> フォーラムテンプレートはデフォルト(フォーラムIDの指定なし)では、 "forum.tpl"が使用されますが、フォーラムIDを指定して表示する場合は、 "forum_フォーラムID.tpl"というテンプレートを最初に検索します。 このテンプレートが存在しない場合は"forum.tpl"が使われますので、 必要であれば事前に作成してください。書式は"forum.tpl"と同様です。 (2)投稿通知メール機能を使う場合は、デフォルトテンプレートを使用するなら ConfDir内のplainmail.tplまたはhtmlmail.tplを編集します。 会議室毎にテンプレートを分けたい場合は各会議室ディレクトリに専用に編集 したテンプレートを置いておきます。 会議室の設定で指定したタイプ(plainまたはhtml)のテンプレートが使用され ますので、間違って編集しないようにします。 投稿通知メールのテンプレートで変換可能な変数書式は以下のとおりです。 書式: ${変数名} 変数の種類と意味は以下のとおりです。これ以外も変換可能ですが以下のもの で十分と思われます。デフォルトテンプレートを参考にしてください。 ${BBSNAME} 会議室の名前 ${head} ヘッダ表示(記事番号やコメント先の番号) ${title} タイトル ${name} お名前 ${mail} E-Mailアドレス ${home} リンク(URL) ${time} 登録日時 ${comment} 記事本文 ${UserAgent} エージェント情報(ブラウザ名など) ${RemoteAddr} IPアドレス ${DomainName} ドメイン名 10.運用開始後の各会議室ディレクトリの中身 開設した会議室を運用していった場合に、会議室ディレクトリの中に生成される ファイルおよびディレクトリは以下のとおりです。ファイル名はdefault.confの 設定のままの場合。これらのファイルは必要に応じて全て自動生成されます。 マニュアルで設定する場合もファイルのパーミッションは全て666等その他の ユーザからも書き込み可能にします。 <data> (記事データ格納ディレクトリ。パーミッションは777等) <backup> (バックアップディレクトリ。パーミッションは777等) <plog> (過去ログHTML格納ディレクトリ。パーミッションは777等) index.dat (インデックスファイル) tree.dat (ツリー構造ファイル) user.dat (ユーザ管理ファイル) count.dat (参照回数ログファイル) acccnt.dat (アクセス統計ファイル) plogctrl.dat (過去ログ管理ファイル) deny.dat (投稿拒否アドレスファイル) info.html (お知らせメッセージHTML) また、記事データファイルと過去ログHTMLファイルはそれぞれの指定された ディレクトリ内に指定されたプレフィックス付の名前で自動生成されます。 詳細はconfig.txtをご参照ください。

1999.7, Nobuchika Oishi, bigstone@CGI-Laboratory < bigstone@my.email.ne.jp >