アイキャッチ画像: デスクの上でパソコンを使用している

こんにちは。データベースをチューニングしてちょっとしたパフォーマンスアップを体感することにハマっている大野です。 今回は手前味噌的な感じになってしまいますが、弊社が開発したMeCab SearchモジュールをUbuntuでインストールする方法を解説します。

後藤のブログでもMac上でインストールする方法を解説していますが、Ubuntuだと必要なパッケージが違う感じだったのでご紹介させていただくことにしました。

なお、今回使用したUbuntuのバージョンは14.04 LTSですが、おそらく12.04 LTSなどでも同じ手順でインストールできるかと思います。

php5-devをインストール

Pearでphp5-devのパッケージを使用するのでphp5-devをインストールします。

$ sudo apt-get install php5-dev

Pearをインストール

Pearを使ってphp-mecabをインストールするので、php-pearパッケージをインストールします。

$ sudo apt-get install php-pear

MeCab関連のパッケージをインストール

MeCabとその動作に必要な関連パッケージをインストールします。

$ sudo apt-get install mecab mecab-ipadic-utf8 libmecab-dev

php-mecabのインストール

$ pear channel-discover pecl.opendogs.org
$ pear remote-list -c opendogs
$ sudo pear install opendogs/mecab-beta

上記最後のコマンドを実行すると以下のようにmecab-configのパスを入力してねと言われますが、通常はそのままエンターを押せば問題ありません。

specify pathname to mecab-config [no] :

MeCab用に.iniファイルを作成

Apacheで動作するPHPにphp-mecabのエクステンションを読み込ませるため、Apache所定のディレクトリにmecab用のiniファイルを作成します。

$ sudo vi /etc/php5/apache2/conf.d/mecab.ini

ファイルの内容は以下のようにします。

extension=mecab.so

最後にApacheの設定を再読み込みします。

$ sudo service apache2 reload

Drushを使う場合

Drushを使っている場合はphpのコマンドライン版にもphp-mecabのエクステンションを読み込ませる必要があります。先ほどと同じ手順で /etc/php5/cli/conf.d/mecab.ini にファイルを作ってください。

phpinfo()でMeCabが有効になっているか確認する

適当なディレクトリにphpinfo()関数を呼ぶためのphpファイルを作成し、php-mecabエクステンションが有効になっているか確認してみましょう。

/var/www/html/phpinfo().phpに確認用のphpファイルを作る場合は以下の様な感じです。

$ echo '<?php phpinfo();' > /var/www/html/phpinfo.php

エクステンションがちゃんと読み込まれていれば、以下のように表示されます。

phpinfoのMeCab

以上で完了です。後は弊社後藤の記事を参考にMeCab Searchモジュールを有効にしてください。

最近ではサーバー利用の場合でもUbuntuが採用されることも多くなってきてますので、より本番環境に近い形で紹介できたかと思います。導入の敷居がちょっと高いMeCab Searchモジュールですが、導入すると日本語検索の精度がグッとあがりますので、皆さんも是非お試しください。