TOP > メルマガBBS
最新リリースはパッケージ 0005 (2005/05/22)です。★更新履歴

≫目次


≫概要

メルマガBBSは、管理者の投稿記事を登録されたメールアドレスに配信する機能を備えた掲示板CGIです。
おおむね、読者数1000名程度のメールマガジン配信などに最適かと思います。

forkできるサーバであれば、1万通くらいまで送信可能だと思います。

*使い様によってはスパムをまき散らす可能性があります。十分ご注意の上、ご利用願います。
  • デザインは主にCSSを使用
  • 1ページ目をHTMLとして書き出すサーバに優しい設計
  • 掲示板に保持する記事数やページ表示する記事件数など変更可
  • メールアドレスは厳密に不正判定します
  • メールアドレスはワンタイムパスワードを使用して登録
  • 投稿メッセージ内のURLは自動リンク
  • Jcode.pm対応(通常はjcode.pl)
  • クッキー対応
  • ホスト名による投稿制限機能
  • ファイルロック
  • gzip対応(要gzip)
などなど。

初心者には多少扱いづらいCGIかもしれません。
ある程度、Perl や sendmail の知識がある人のみ使用してください

▲目次

≫動作環境について

メルマガBBS の推奨動作環境は以下の通りです。それぞれソフトのバージョンや組み合わせの相性・設定に依存する部分も多く、あくまでも推奨です。

プラットフォームUNIX(Linux/FreeBSD/Solaris)
WebサーバApache
メール配送sendmail
PerlバージョンPerl5以上
文字コードEUC-JP (改行コード LF)
ブラウズIE6で検証


メールアドレスを保存するファイルを public_html(いわゆるホームディレクトリ)より上位のディレクトリに置くため、ホームディレクトリより上のディレクトリにアクセスできないレンタルサーバなどでの使用はおすすめできません。
(メールアドレスは個人情報です。Web経由でアクセスできる場所に置くことは避けましょう)

▲目次

≫ダウンロード

メルマガBBS はフリーウェアです。

スクリプト利用規定に同意の上、無料でお使い頂けます。

▲目次

≫設置(インストール)方法

設置までの手順は以下の通りです。

*スクリプトの編集にはEUCコードに対応したテキストエディタが必要です。
  1. アーカイブ(mbXXXX.lzh)を解凍する
  2. Perlパスを書き換える
  3. mbi.pl を編集する
  4. ファイルを転送する
  5. パーミッションを設定する
ではひとつずつ解説していきます。

1.アーカイブを解凍する

メルマガBBS は LHA形式で圧縮し配布しています。ダウンロード後、解凍作業をするには各形式に対応した解凍ソフトが必要です。解凍すると以下のファイルが展開されます。


 ・/mb/ --- メルマガBBS用ディレクトリ。
  • mbi.pl --- 設定ファイル(各種設定はこのファイルで)
  • mb.cgi --- 実行ファイル(Perlパス)
  • jcode.pl --- 文字コード変換処理<from http://www.srekcah.org/jcode/index.html>
  • mimew.pl --- MIMEエンコード用<from http://www.cc.rim.or.jp/~ikuta/mime_pls/index.html>

  • index.html --- 掲示板データ書き込み
  • mb.css --- スタイルシート


  • /dat/ --- ワークデータ保存ディレクトリ
    • mb.lck --- ファイルロック用ファイル(ロック中は一時的に別名になります)
    • (authkey.cgi) --- パスワードファイル(設置当初はありません)


  • /mb_dat/ --- 掲示板データ保存ディレクトリ
    • mb_list.cgi --- ユーザリストファイル
    • mb_list_b.cgi --- 仮登録ユーザリストファイル
    • mb_log.cgi --- 掲示板ログファイル
    • mb_work_log.cgi --- ユーザ登録・削除ログファイル
  • /ReadMe/ --- 利用規定や解説書などドキュメント





2.Perlパスを書き換える

Perlパスを書き換える必要があるファイルは1つだけです。
mb.cgi の1行目に書かれているPerlパスを設置するサーバの環境に合わせて書き換えます

Perlパスとは #!/usr/bin/perl#!/usr/local/bin/perl という部分のことです。自分のサーバのPerlパスがわからない場合はサーバの管理者にお尋ねください(たいていは「CGI利用について」などというページが用意されていて、第一に書いてある情報ですが)。



3.mb.pl を編集する

mb.pl はスクリプトの初期設定をしているライブラリです。
このファイルを変更することで様々なカスタマイズが可能です。

コメントの注釈をよく読み、設定してください。



4.ファイルを転送する

ファイルの転送は FFFTP などのFTPソフトを使って行ってください。
転送モードは テキストファイル( .cgi .pl .html .lck )はアスキーモードで、画像ファイル( .gif )はバイナリモードで転送します。
構成は5↓で解説



5.パーミッションを設定する

以下の構成でサーバにファイルを設置して、パーミッションを設定してください。( [パーミッション値] )

.cgi ファイルでもパーミションが 604 や 606 となっているのは、中身がデータファイルだからです。ファイル自体に直接アクセスされることによるデータ漏れを防ぐために .cgi という拡張子にしています。

*当幅フォントでないとずれます。


  ─┼-/public_html/──┼---index.html [604]
    │                  │
    │                  │
    │                  ┼---/cgi-bin/----/mb/---┼---mbi.pl [604]
    │                       [705]        [705]  │   mb.cgi [705]
    │                                           │   jcode.pl [604]
    ┼---/mb_dat/-┼---mb_list.cgi [606]         │   mimew.pl [604]
         [707]         mb_list_b.cgi [606]       │   index.html [606]
                       mb_log.cgi [606]          │
                       mb_work_log.cgi [606]     ┼---/dat/------ mb.lck [606]
                                                      [707]      (authkey.cgi [606])
  
  *[ ]の中の数字はパーミション値
  *authkey.cgi はパスワード設定によって作られます。
  */mb_dat/ は Web経由でアクセスできる /public_html/ 以下に作成禁止。


設置した /cgi-bin/mb/index.html にアクセスして、ユーザや情報の登録を行います。

もしも、スクリプト名や設置構成を変更している場合は、index.html のソースを編集する必要があります。



【メール送信をバックグラウンドで処理する】
メール送信件数が増えるごとにサーバへの負荷も増えます。
一定件数以上になると、サーバの設定によってはタイムアウトエラーになってしまいます。
それを防止するために、forkが使えるサーバであれば、メール送信をバックグラウンドで処理することができます。

mg.cgi を開いて、「情報登録処理」中のコメントを有効にします

#----- fork
# $| = 1;
# return if $pid = fork;
# close(STDOUT);
# close(STDERR);

↓↓↓

#----- fork
$| = 1;
return if $pid = fork;
close(STDOUT);
close(STDERR);


fork が使えないサーバではエラーになるかと思います。
サーバの環境によりますが、数万通まで送信できるようになると思います。
(*基本的に高負荷処理になるので、共有サーバではやらないように。)


▲目次

≫サポートについて

設置に関する質問やバグ報告などは、サポート掲示板で受け付けています。

大変申し訳ありませんが、設置方法や改造などについて個別の“メールによる”お問い合わせには応じかねます。全て個人でやっているため、事務処理の軽減にご協力願います。

メルマガBBS をはじめとする当サイトの更新情報をメールで受け取れます

▲目次

(C) 2001-CurrentYear bayashi.net