12
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EC2上にmecab環境をつくる

Last updated at Posted at 2014-10-16

AWS EC2上にmecabをインストールするメモ。

以前のメモなので、Rubyの情報は古くなっているかも。

0. instance立ち上げ

EC2上にinstanceを立ち上げる。
とりあえず、お試しならt2.microでも良いかも。

AWS t2.micro
OS: Amazon Linux

ツール、データはS3上に上げておくと、外部からダウンロードするより少し早いし、お財布にも少し優しい。

1. yum update

$ sudo yum update

2. swap設定

EC2instanceがt2.microのときswap領域を設定する

$ sudo dd if=/dev/zero of=/swap.img bs=1M count=2048
$ sudo chmod 600 /swap.img
$ sudo mkswap /swap.img
$ sudo bash -c 'echo "/swap.img    swap    swap    defaults    0    0" >> /etc/fstab'

swapを有効にする

$ sudo swapon -a

3. 日本時間に設定

$ sudo vi /etc/sysconfig/clock

ZONE="Asia/Tokyo"
に書き換える。

$ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ sudo reboot

4 . epelリポジトリの有効化

Amazon Linux AMIでEPELの設定だけはすでに行われている。
EPELを使いたいパッケージのところでyum --enablerepo=epel install -y xxxxと実行する。
というのを確認したら、次のステップへ。

5. S3ツールのインストール (S3を利用しない場合は、不要)

$ sudo yum -y --enablerepo epel install s3cmd
$ s3cmd --configure

Access KeyとSecret Keyを設定する
httpsを使うにyes

s3cmdで日本語を正しく扱うための設定

$ sudo vi /usr/lib/python2.6/site-packages/sitecustomize.py
/usr/lib/python2.6/site-packages/sitecustomize.py
import sys
sys.setdefaultencoding('utf-8')

6. 開発環境インストール

$ sudo yum -y install gcc* make

7. mecabインストール

  • mecab本体
$ wget https://mecab.googlecode.com/files/mecab-0.996.tar.gz
$ tar zxvf mecab-0.996.tar.gz
$ cd mecab-0.996
$ ./configure --with-charset=utf-8
$ make
$ sudo make install
$ sudo bash -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/usr-local.conf'

ldconfigで設定の読み込み直し。

$ sudo ldconfig
  • ipadic
$ wget https://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
$ tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf-8
$ make
$ sudo make install
  • meccab-rubyをシステムのrubyにインストール(Rubyを使わないなら不要)
$ sudo yum -y install ruby-devel
$ wget https://mecab.googlecode.com/files/mecab-ruby-0.996.tar.gz
$ tar zxvf mecab-ruby-0.996.tar.gz
$ cd mecab-ruby-0.996
$ ruby extconf.rb
$ make
$ sudo make install
$ ruby test.rb
  • mecab-perlをシステムのperlにインストール(Perlを使わないなら不要)
$ wget https://mecab.googlecode.com/files/mecab-perl-0.996.tar.gz
$ tar zxvf mecab-perl-0.996.tar.gz
$ cd mecab-perl-0.996
$ sudo yum -y install perl-ExtUtils-MakeMaker
$ perl Makefile.PL
$ make
$ sudo make install
$ perl test.pl

8. ruby 2.1.2 (Ruby2.1.2を使わなければ不要)

  • Install Git
$ sudo yum install -y git
  • Install RBEnv and the ruby-build plugin for it

$ git clone git://github.com/sstephenson/rbenv.git .rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git
$ source ~/.bash_profile

  • rbenv installと同時にインストールするgemパッケージ
$ git clone https://github.com/sstephenson/rbenv-default-gems.git ~/.rbenv/plugins/rbenv-default-gems 

~/.rbenv/default-gems に以下のような内容を書く(パッケージはお好みで)

~/.rbenv/default-gems
rubygems-update
aws-sdk
pit
ec2ssh
parallel
elastic-mapreduce 
  • libxml2 と libxslt のヘッダファイル (nokogiri用)
$ sudo yum -y install libxml2-devel
$ sudo yum -y install libxslt-devel

  • Install Ruby
$ sudo yum -y install gcc make zlib zlib-devel openssl openssl-devel
$ rbenv install 2.1.2
$ rbenv rehash
$ rbenv global 2.1.2
$ gem update
  • mecab-rubyのインストール
$ wget https://mecab.googlecode.com/files/mecab-ruby-0.996.tar.gz
$ tar zxvf mecab-ruby-0.996.tar.gz
$ cd mecab-ruby-0.996
$ gem build mecab-ruby.gemspec
$ gem install mecab-ruby-0.99.gem

インストールの確認

$ ruby test.rb
12
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?