EC2上にmecab環境をつくる

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

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

# 0. instance立ち上げ

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

AWS t2.micro
OS: Amazon Linux

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


# 1. yum update

```bash
$ sudo yum update
```

# 2. swap設定

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

```bash
$ 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を有効にする

```bash
$ sudo swapon -a
```

# 3. 日本時間に設定

```bash
$ sudo vi /etc/sysconfig/clock
```
ZONE="Asia/Tokyo"
に書き換える。

```bash
$ 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を利用しない場合は、不要)

```bash
$ sudo yum -y --enablerepo epel install s3cmd
$ s3cmd --configure
```
 
Access KeyとSecret Keyを設定する
httpsを使うにyes

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

```bash
$ sudo vi /usr/lib/python2.6/site-packages/sitecustomize.py
```

```py:/usr/lib/python2.6/site-packages/sitecustomize.py
import sys
sys.setdefaultencoding('utf-8')
```

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

```bash
$ sudo yum -y install gcc* make
```

# 7.  mecabインストール

- mecab本体

```bash
$ 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で設定の読み込み直し。

```bash
$ sudo ldconfig
```

- ipadic

```bash
$ 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を使わないなら不要)

```bash
$ 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を使わないなら不要)

```bash
$ 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

```bash
$ sudo yum install -y git
```

- Install RBEnv and the ruby-build plugin for it

```bash

$ 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パッケージ

```bash
$ git clone https://github.com/sstephenson/rbenv-default-gems.git ~/.rbenv/plugins/rbenv-default-gems 
```


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

```rb:~/.rbenv/default-gems
rubygems-update
aws-sdk
pit
ec2ssh
parallel
elastic-mapreduce 
```

- libxml2 と libxslt のヘッダファイル (nokogiri用)


```bash
$ sudo yum -y install libxml2-devel
$ sudo yum -y install libxslt-devel

```

- Install Ruby

```bash
$ sudo yum -y install gcc make zlib zlib-devel openssl openssl-devel
$ rbenv install 2.1.2
$ rbenv rehash
$ rbenv global 2.1.2
```

```bash
$ gem update
```

- mecab-rubyのインストール

```bash
$ 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
```

インストールの確認

```bash
$ ruby test.rb
```