bounceHammerインストール直後のディレクトリ構造
bounceHammerをインストールした直後のディレクトリ構造とファイルは、このページでその名称と役割について解説しています。構築時のmake installコマンド実行によってこれらのディレクトリが作られ、適切なパーミッションが設定されます。
- bin/ コマンドラインツール
- etc/ 設定ファイル類
- lib/ ライブラリ・モジュール類
- libexec/ mod_perl2用のスクリプト
- share/script/ SQLスクリプトとCGIスクリプト
- share/template/l10n/ WebUIのテンプレート用言語ファイルなど
- share/template/standard/ WebUIのテンプレートなど
- var/
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の全モジュールが入っています。
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共通)
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/
- このサブディレクトリも特に明確な用途があって存在しているわけではありません。
No TrackBacks
TrackBack URL: http://bouncehammer.jp/cgi-bin/mt/mt-tb.cgi/9

Leave a comment