2012年4月28日土曜日

Ubuntuにmecab+groonga+mroongaをソースからインストール

Ubuntuにmecab+groonga+mroongaをソースからインストールする。

mroongaのサイトにある手順ではリポジトリ追加してapt-get install、で
それはもう簡単にインストールできたのですが
その後mysqlがアップデートされたらうまく動かなくなってしまったので
ひと通りソースからビルドしました。

以下はバイナリやライブラリは/usr/bin/,/usr/lib/など、
confは/etc/に配置する手順です。
  1. ビルドに必要なものをインストール
    sudo apt-get install build-essential
    sudo apt-get install libtool
    sudo apt-get install autoconf
    sudo apt-get install apt-src
    sudo apt-get install libmysqlclient-dev
  2. mecabをビルドしてインストール

    http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html#download
    ここからのリンクでソースをゲット。
    今はmecab-0.993.tar.gzでした。
    tar zxf mecab-0.993.tar.gz
    cd mecab-0.993
    ./configure --prefix=/usr \
        --sysconfdir=/etc \
        --with-charset=utf8
    make
    sudo make install
    sudo ldconfig
  3. mecabの辞書をビルドしてインストール

    上のリンク先の「IPA辞書」をダウンロード。
    今はmecab-ipadic-2.7.0-20070801.tar.gzでした。
    tar zxf mecab-ipadic-2.7.0-20070801.tar.gz
    cd mecab-ipadic-2.7.0-20070801
    ./configure --prefix=/usr \
        --sysconfdir=/etc \
        --with-charset=utf8
    make
    sudo make install
  4. groongaをビルドしてインストール

    https://github.com/groonga/groonga/tags
    から、タグ振ってあるものをダウンロード。
    今回はgroonga-groonga-v2.0.1-0-g700532f.tar.gz
    というファイル名でダウンロードしました。
    tar zxf groonga-groonga-v2.0.1-0-g700532f.tar.gz
    cd groonga-groonga-4627bd1
    ./autogen.sh
    ./configure --prefix=/usr \
        --sysconfdir=/etc \
        --with-default-encoding=utf8
    make
    sudo make install
    sudo ldconfig
  5. mroongaをビルドしてインストール

    mysqlのソースをaptでゲット。
    apt-src install mysql-server
    今回はmysql-5.1-5.1.62というディレクトリにソースが落ちました。

    https://github.com/mroonga/mroonga/tags
    から、タグ振ってあるものをダウンロード。
    今回はmroonga-mroonga-v2.01-0-g8378adf.tar.gz
    というファイル名でダウンロードできました。
    tar zxf mroonga-mroonga-v2.01-0-g8378adf.tar.gz
    cd mroonga-mroonga-1bfcbe2
    ./autogen.sh
    ./configure --prefix=/usr \
        --sysconfdir=/etc \
        --with-mysql-source=$PWD/../mysql-5.1-5.1.62 \
        --with-mysql-config=/usr/bin/mysql_config \
        --with-default-parser=TokenMecab
    make
    sudo make install
  6. apparmorの設定を変更

    ubuntuではmysqldの動きはapparmorで制限されていて、
    このままではMecabの辞書もgroongaの設定ファイルも参照できないので、
    アクセス出来るように設定を追加します。

    以下の内容のファイルを作成します。
    /etc/apparmor.d/abstractions/mysql-server-mroonga
    /usr/lib/groonga/plugins/ r,
    /usr/lib/groonga/plugins/** rm,
    /etc/mecabrc r,
    /usr/lib/mecab/ r,
    /usr/lib/mecab/** r,
    以下のファイルに、追記します。
    /etc/apparmor.d/local/usr.sbin.mysqld
    #include <abstractions/mysql-server-mroonga>
  7. mysqlにプラグインを登録

    mysqlにログイン。
    mysql -uroot -p
    password:
    プラグイン登録。
    mysql> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
    funtionの登録。
    mysql> CREATE FUNCTION last_insert_grn_id RETURNS INTEGER soname 'ha_mroonga.so';
 以上で、動くようになりました。

この情報は2012/04/26頃の情報です。

0 件のコメント:

コメントを投稿