bounceHammer has been EOL'ed on February 29, 2016

製品ライフサイクルの終了

2010年3月にオープンソースソフトウェアとして公開して以来、多くのユーザ様・企業様にダウンロードし、 ご利用いただきましたbounceHammerは、2016年2月29日(月)を持ちまして製品ライフサイクルの終了(EOL: End Of Life) となりました。長きにわたりbounceHammerをご使用いただき誠に有り難う御座いました。 開発元では後継となるバウンスメール解析ライブラリとして、より高精度で高速なSisimai(シシマイ) を二条項BSDライセンスで公開しています。

Sisimai
商用サポート

  • 1一式導入・設定・保守・開発の補助
  • 2独自MTA用解析モジュールの開発
  • 3個別案件の対応とメールサポート
  • 4バウンス管理・運用コンサルティング
  • 5スポット解析・解析済みデータ提供

6. 構築後のディレクトリ構造を確認

 

bounceHammer構築後のディレクトリ構造

bounceHammerをインストールした直後のディレクトリ構造とファイルは、 このページでその名称と役割について解説しています。 構築時のmake installコマンド実行によってこれらのディレクトリが作られ、 適切なパーミッションが設定されます。


bin/

bin/ディレクトリはその名の通りbounceHammerのコマンドラインツールが入っています。 入っているコマンドはいずれもPerlスクリプトで、全てのユーザに対して実行パーミッションが ついた状態でインストールされています。

databasectl*
解析済みデータのYAMLファイルを読込んでバウンス記録をデータベースに書き込むコマンドです。 このコマンドの詳細は databasectlをご覧ください。
datadumper*
データベースに蓄積したバウンス記録を出力するコマンドです。 このコマンドの詳細はdatadumper をご覧ください。
logger*
mailboxparserコマンドが作った解析済みデータのYAMLファイルを日付別に分離・結合する コマンドです。このコマンドの詳細は loggerをご覧ください。
mailboxparser*
バウンスメールを解析してYAML形式のデータとして解析結果を出力するコマンドです。 このコマンドの詳細は mailboxparser をご覧ください。
messagetoken*
bounceHammerがバウンス記録を識別するためのハッシュ値(メッセージトークン) を生成するコマンドです。このコマンドの詳細は messagetoken をご覧ください。
summarizer*
bounceHammerがデータベースに蓄積したバウンス記録・YAMLファイルに 書き出されたバウンス記録・あるいは日々のバウンス記録の更新数等を集約して 表示するコマンドです。このコマンドの詳細は summarizer をご覧ください。
tablectl*
bounceHammerのデータベース内、マスターテーブル(発信者アドレスや宛先分類名、 差戻理由などを定義したテーブル)の情報を操作するコマンドです。このコマンドの詳細は tablectlをご覧ください。

etc/

etc/ディレクトリはその名の通りbounceHammerの設定ファイルを格納するディレクトリです。 この中にサブディレクトリはありません。 新規にbounceHammerをインストールした直後は設定ファイルのサンプルのみが入っています。

aliases-example
/etc/mail/aliasesの記述例を書いたサンプルファイルです。
available-countries-example
国別のドメイン分類と特殊なMTAの定義の為の設定ファイル available-countries のサンプルファイルです。このファイルを使う場合は、ファイル名末尾の-example を外したファイル名でetc/ディレクトリに保存してください。 このファイルは特段設置しなくてもbounceHammerは動作します。
bouncehammer.cf-example
bounceHammerの主たる設定ファイルのサンプルファイルです。 bounceHammerを動作させるには必ずこのファイルが必要です。 bouncehammer.cfについては bouncehammer.cf(基本設定ファイル) をご覧ください。
crontab-example
/etc/crontabでbounceHammerを定期的に動かすための設定例です。 crontabでの設定はこのサンプルファイルとあわせて crontabによる定期的な実行 もご覧ください。
httpd.conf-example
bounceHammerのWebUI(管理画面)や HTTPベースのAPI をmod_perlで動かすためのApacheの設定例です。
neighbor-domains-example
独自に宛先分類名を定義する為の設定ファイル neighbor-domains のサンプルファイルです。このファイルを使う場合は、ファイル名末尾の-example を外したファイル名でetc/ディレクトリに保存してください。 このファイルは特段設置しなくてもbounceHammerは動作します。
prove.cf
bounceHammer構築時のmake testで使用する設定ファイルです。 インストール完了後は特に使用しないファイルですので削除しても問題ありません。
test-run.cf
bounceHammerの各コマンド(bin/内)をテストモード(-Tオプション)で動作させる時の設定ファイルです。
webui.cf-example
bounceHammerのWebUIと HTTPベースのAPI の為の設定ファイルです。 WebUIあるいはHTTPベースのAPIを使用する際は必ずこのファイルが必要です。 使用する際はファイル名末尾の-exampleを外したファイル名でetc/ディレクトリに 保存してください。内容は特に編集せずともwebui.cfで保存するだけで動作します。

lib/

lib/ディレクトリはその名の通りbounceHammerの中核を為すライブラリを格納したディレクトリです。 コマンドラインツール以外の全てのモジュール・ソースコードが入っています。

Kanadzuchi/
bounceHammerの全モジュールが入っています。
perl5/
cpanm で必要なPerlモジュールをいれた場合、このディレクトリにbounceHammer で使うモジュールが入ります。

libexec/

libexec/ディレクトリは間接的に呼び出されるプログラムを格納するディレクトリです。 現在の所はmod_perlの為のスクリプトしかはいっていません。


mp-startup.pl*
mod_perl2で動かす際に読込むライブラリ等を定義したスクリプトです。 WebUIとHTTPベースのAPIをmod_perl2で動かす際はhttpd.confでこのファイルを呼び出す必要があります。

share/script/

share/script/ディレクトリはbounceHammerのデータベース構築用SQLスクリプトとWebUI, HTTPベースのAPI用CGIスクリプトファイルが入っています。

MySQL*.sql
bounceHammerのデータベース構築用SQLスクリプト(MySQL専用)
PostgreSQL*.sql
bounceHammerのデータベース構築用SQLスクリプト(PostgreSQL専用)
SQLite*.sql
bounceHammerのデータベース構築用SQLスクリプト(SQLite専用)
api.cgi
HTTPベースのAPIアクセス用CGIスクリプト
bouncehammer.cgi
WebUI(ブラウザベースの管理画面)用CGIスクリプト
mastertable-*.sql
bounceHammerのデータベース内、マスターテーブルのデータ入力用SQLスクリプト(各DB共通)
more-example-senderdomains.sql
データベーステーブルt_senderdomainsにより多くのサンプルとしての 発信者ドメインを登録するためのSQLスクリプト(各DB共通)
records-example.sql
サンプルのバウンス記録を登録するためのSQLスクリプト(各DB共通)
*-dailyupdates.sql
bounceHammer 2.5.0 から実装された dailyupdates 機能に必要なテーブルを構築するSQLスクリプトです。

share/template/l10n/

share/template/l10n/ ディレクトリには、bounceHammerのWebUI用言語ファイルが入っています。 現在の所、日本語と英語のみです。


en/
WebUIのテンプレート用言語ファイル(英語)
ja/
WebUIのテンプレート用言語ファイル(日本語)

share/template/standard/

shate/template/standard/ ディレクトリには、bounceHammerのWebUI用テンプレートファイル (HTML)と、それらが読込むスタイルシートとJavascriptファイルが入っています。


element/
WebUIのテンプレート(PC用)に使う部分的な構造を書いたHTMLファイルが入っています
javascript/
WebUIのテンプレート(PC用)が読込むJavascriptファイルが入っています
page/
WebUIのテンプレート(PC用)で基本となるHTMLファイルが入っています
stylesheet/
WebUIのテンプレート(PC用)が読込むスタイルシート(CSS)が入っています

var/

var/ ディレクトリは bounceHammerが生成するファイルでも頻繁に更新されたりするものが入っています。 このディレクトリとその中のサブディレクトリは特に読み書きの激しいディレクトリです。

cache/
WebUIから検索結果をファイルでダウンロードする時に一時的にそのファイルと 圧縮したファイルが置かれるディレクトリです。 一定時間内に全く同じ検索結果のダウンロード要求がきた場合は、このディレクトリに 残っているキャッシュを使います。
db/
データベースをSQLiteに指定している時に設定ファイルbouncehammer.cfで既定値となっている データベース保存用サブディレクトリです。 SQLite以外のデータベースを使っている場合は、このサブディレクトリは使用しません。
incoming/
このサブディレクトリは将来リリースするbounceHammerで使用予定ですが、 今の所使っていません。
log/
logger コマンドが処理して日付別に分離・結合した解析結果のYAMLファイルが このサブディレクトリに保存されます。
mail/
cache/サブディレクトリと同様、将来リリースするbounceHammerで使用予定ですが、 今の所使っていません。
run/
bounceHammerの各コマンドラインツールが実行中に、 そのプロセスのIDを記録したファイル(pidファイル)を保存するサブディレクトリです。
spool/
mailboxparser コマンドが処理したバウンスメールの解析結果をYAML形式で保存するためのサブディレクトリです。 このサブディレクトリに保存されるYAML形式のログファイルは、一時的なもので、 その中に保存されているバウンス記録は logger コマンドによって処理されてlog/サブディレクトリに保存される事を想定しています。
tmp/
このサブディレクトリも特に明確な用途があって存在しているわけではありません。