CentOS9 + PHP8.1の環境にMecab + php-mecabをビルドしてインストール
CentOS Stream 9のVPSに形態素解析の機能をインストールしているときの覚書。
環境: CentOS Stream 9, PHP 8.1.14
ビルドに必要なツールをインストールしておく。
# dnf install make gcc-c++ libticonv php-devel
1.形態素解析「Mecab」をインストール
php-mecabをビルドするためにdnf経由ではなくソースコードからビルドする。
公式サイトからダウンロード。
参考: MeCab: Yet Another Part-of-Speech and Morphological Analyzer
# cd /opt/software/
# curl -L "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE" -o mecab.tgz
解凍してビルド実行
# tar xzvf mecab.tgz
# rm mecab.tgz
# cd mecab-0.996/
# ./configure --with-charset=utf8
# make
# make check
# make install
確認
# which mecab
/usr/local/bin/mecab
辞書をインストールする。
# cd /opt/software/
# curl -L "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM" -o ipadic.tgz
# tar xzvf ipadic.tgz
# rm ipadic.tgz
# cd mecab-ipadic-2.7.0-20070801/
# ./configure --with-charset=utf-8
# make
# make install
確認
# mecab -D
filename: /usr/local/lib/mecab/dic/ipadic/sys.dicversion: 102charset: utf-8type: 0size: 392126left size: 1316right size: 1316
2.php-mecabをビルドしてインストール。
前に見つけたPHP8.1に対応している(と思われる)リポジトリをビルドする。
参考: GitHub - emmatools/php-mecab: MeCab binding for PHP
git cloneする。
# cd /opt/software
# git clone https://github.com/emmatools/php-mecab.git
# cd php-mecab/
ビルド実行。
# cd mecab
# phpize
# ./configure --with-mecab=/usr/local/bin/mecab-config
# make
# make test
# make install
# echo "extension=mecab.so" > /etc/php.d/mecab.ini
make testしたときにErrorで終わっているのが気になる。
php-fpmを再起動して確認
# systemctl restart php-fpm
# php -i | grep mecab
PHPから実行してみて確認する。
大丈夫っぽい。