さて、しばらくバージョンアップも放置してあったPOPFileだが、1.1.0になって、不正なSubjectヘッダによる振り分け不良の問題の解決が期待できそうなので、バージョンアップを試みることにする。
POPFile now handles quoted-printable encoded text in multiple lines correctly.
If a message without a SUBJECT line is received POPFile no longer inserts an
empty SUBJECT line.
Fixed the bug that sometimes resulted in POPFile concatenating headers into a
single line instead of appending them.
また、popofile.cfgの保存されない問題も、うまくすれば解決されているかもしれない。
The configuration file (popfile.cfg) is saved more safely.
ただし、POPFileをIMAPかつユーザ権限で動かすようにしているので、そのままインストールではうまくいかないかもしれない。
とりあえず、1.1.0をダウンロード。
そして、動作しているPOPFileを停止して、POPFileディレクトリのバックアップを取る。
対象となるディレクトリは、
となっていたメールの分類が今までおかしかったのが、正常に分類されるようになった。
ついでに、いままで、POPFileのWebUIのポートがiptablesでブロックされていたのを修正。
別のコンピュータからでも操作できるようにした。
- /usr/share/popfile/
- ~/.popfile(本来であれば/var/lib/popfile)
#!/bin/sh
USP=/usr/share/popfile/
cp *.gif *.pl *.png *.ico ${USP}
cp stopwords ${USP}
cp license ${USP}
cp v*.change* ${USP}
# chmod +x ${USP}*.pl
cp -Rf Classifier ${USP}
cp -Rf POPFile ${USP}
cp -Rf Proxy ${USP}
cp -Rf UI ${USP}
cp -Rf languages ${USP}
cp -Rf skins ${USP}
cp -Rf Services ${USP}
以上の作業で、とりあえず、1.1.0の起動を確認。
そして、SQLiteのバージョンを3に上げる、
で動作している、cfgファイルの保存が確実になっているはず、など細かい調整は徐々に行うことにする。
次に、cfgファイルの保存が確実になっていることを期待しての、POPFile起動スクリプトの修正。
下記のバックアップされているcfgファイルの復元部分を削って、テストしてみたところ、正常に保存される(内容を変更して更新した時に保存される)ようなので、修正されたスクリプトで運用することにする。
# cp popfile.cfg.bak popfile.cfg
次は、SQLite 3(DBD::SQLite 1.x)を使用するテスト。
yumで調べると、SQLite 1.0以降をインストール可能なのでインストール。
# yum install perl-DBD-SQLite
ドキュメントによれば、SQLite 1.0以降がインストールされていれば、POPFileは起動時に自動的に、SQLiteのデータベースを2から3用に変換してくれるとのこと。
ためしに再起動してみる。
変換した場合、データフォルダ内に「popfile.db-sqlite2」という名前でデータベースのバックアップを取るということなので、それが作成されるのを確認した。
また、cfgファイルの内容も、bayes_dbconnectの値がdbi:SQLite:dbname=$dbnameになっている。
このときデータベースが大きな場合は、変換に数十分かかる場合もあるということなので気長に待つこと。
ついでに、~/.popfile内の不要に見える、古いファイルを削除した。
このバージョンアップの結果、今までは