2010年12月9日木曜日

「PHPとMecabでキーワード自動リンクを実装する」をCentOS 5.5上でやってみた

phpでキーワードを自動リンクする必要がでてきた。

なので、

ウノウラボ Unoh Labs: PHPとMecabでキーワード自動リンクを実装する

こちらのエントリを参考にphpとMecabで実装してみる。

使用OSとバージョンは、CentOS 5.5


まずMecabを入れる


yumでためしにインストールしようとすると、
$ yum install mecab mecab-ipadic mecab-devel
....
Setting up Install Process
No package mecab available.
No package mecab-ipadic available.
No package mecab-devel available.
Nothing to do
となり、CentOS にはない。

なのでこのあたりの記事を参考に、ソースからビルドする。

文章の中のはてなキーワードをハイライトさせる(1/7):CodeZine
CentOSにmecabとphp_mecabをインストールする


$ tar xvzf mecab-0.98.tar.gz
$ cd mecab-0.98
$ ./configure --with-charset=utf8
$ make
$ sudo make install


なお、次のmecab-ipadicを入れるときに、こんなメッセージが出ちゃう。
error while loading shared libraries: libmecab.so.1: cannot open shared object file: No such file or directory

.soが読み込めてない。なので、

$ sudo vi /etc/ld.so.conf
--------------
/usr/local/lib # この一行を追加
--------------

$ sudo ldconfig

として、読み込み先を追加しておく。

で、mecab-ipadicを入れる。

$ tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf-8
$ make
$ sudo make install

入ったら動作テスト

$ mecab
MeCabのインストール [Enter]
MeCab   名詞,固有名詞,組織,*,*,*,*
の      助詞,連体化,*,*,*,*,の,ノ,ノ
インストール    名詞,一般,*,*,*,*,インストール,インストール,インストール

ちゃんとうごいてる。

php_mecabをいれる

$ wget http://page2.xrea.jp/pub/php_mecab-0.2.0.tgz
$ tar xvzf php_mecab-0.2.0.tgz
$ cd php_mecab-0.2.0
$ phpize
$ ./configure --with-mecab=/usr/bin/mecab-config
$ make
$ sudo make install
Installing shared extensions:     /usr/lib64/php/modules/

.soを読み込ませる

$ sudo vim /etc/php.d/mecab.ini
--------------
extension=mecab.so       <---- 一行を追加して保存
--------------

apacheを再起動

$ sudo /etc/init.d/httpd restart

ロードされてるか確認

$ php -m | grep mecab
mecab

OK。続いて、独自の辞書ファイルを作る。長くなりそうなので。