文書の過去の版を表示しています。
目次
cPanel 共用サーバーに CRM114 をインストールする
必要なプログラムを準備する
CRM114 プログラム本体と、日本語対応するために必要な外部プログラムを準備します。
CRM114 本体
スパムフィルター(本当は、汎用のプログラマブルな統計的言語処理フィルター)の CRM114 ですが、C言語で書かれたソースコードで提供されているので、動作させたいコンピューターの上でコンパイルしてバイナリープログラムを作らないと使えません。cPanel ホスティング環境ではCコンパイラが使えないようになっているので、これをどうにかするのが第一の関門。
CRM114 のダウンロードページを見ると、ありがたいことにコンパイル済みのバイナリーイメージ、それも静的リンクを使ってコンパイルしてあるので、サーバーにあるライブラリに依存せずに動くやつが公開されていますので、これを使います。
上のダウンロードページで “Binary progs only” と書かれているところにあるファイルのうち、static と注釈が付いているのがそれなのですが、このうち2008年3月の BlameSteveJobs というバージョン以降のものは正規表現ライブラリなどの仕様が大幅に変わっているようで、日本語対応がうまく動いているかどうか確認できなかったため、大幅変更直前の BlameSentansoken というバージョンを使いました(CRM114 の作者の Bill Yerazunis は MIT の近所にある三菱電機の研究所にお勤めなんだそうですが、このバージョン、先端総研が何かやらかしたんでしょうか……)。 tarball のインデックスページから、http://crm114.sourceforge.net/tarballs/crm114-20080326-BlameSentansoken.i386.tar.gz をダウンロードして展開(あるいはサーバー上のシェルで wget して tar xvfz)します。
場所はどこでもいいのですが、ここでは自分の home ディレクトリの下に bin/crm114 というディレクトリを作りました。
日本語対応のためのプログラム
CRM114 と組み合わせて使う、日本語メールのいろんな文字コードエンコーディングを変換するプログラムには Ruby の中に標準で組み込まれている nkf を使います。また、日本語テキストを分かち書きプログラムには、工藤拓さんが作ったピュア JavaScript の分かち書きソフト TinySegmenter をもとにして Ruby で書かれた BimyouSegmenter をつかわせてもらいます。BimyouSegmenter には最初から nkf モジュールを使った文字コード変換が入っているので、これ一発でOK。 BimyouSegmenter の GitHub からプログラムを zip でダウンロード。 bin/bimyou_segmenter という Ruby ファイルが本体なので、これを先ほどの home の下の bin ディレクトリにコピー。また、lib/ ディレクトリ以下の内容を、そっくりそのまま home の下に lib ディレクトリを作ってコピーします。 ディレクトリの内容はこんな感じになります。
/home/userhome +/bin bimyou_segmenter +/crm114 ... +lib bimyou_segmenter.rb +/bimyou_segmenter aozora_model.rb version.rb