AWS EC2上にmecab + R環境をつくる

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

- mecabはソースファイルからインストール。
- Rはソースファイルからインストール。

RMeCabについては以下のサイトを参照のこと。

- RMeCab - RとLinuxと… http://rmecab.jp/wiki/index.php?RMeCab

# 0. instance立ち上げ

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

AWS t2.micro
OS: Aamzon 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.2.3 (Ruby2.2.3を使わなければ不要)

- 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
xml-simple
```

~/.gemrcを用意しておく

```rb:~/.gemrc
gem: --ri --rdoc
```

- 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 readline readline-devel
$ rbenv install 2.2.3
$ rbenv rehash
$ rbenv global 2.2.3
```

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

# 9. Rインストール(2015/08/25の時点)

```bash
$ sudo yum -y install readline readline-devel libcurl-devel
$ wget https://cran.r-project.org/src/base/R-3/R-3.2.2.tar.gz
$ tar zxvf R-3.2.2.tar.gz
$ cd R-3.2.2
$ ./configure --enable-R-shlib --with-x=no
$ make
$ sudo make install
```

# 10. RMeCabインストール
以下のサイトからdata.tar.gzを入手
http://rmecab.jp/wiki/index.php?plugin=attach&refer=SoftArchive&openfile=data.tar.gz

```bash
$ tar zxvf data.tar.gz
```

Rを立ち上げる

```bash
$ R
```

```r

install.packages ("RMeCab", repos = "http://rmecab.jp/R")
```

一般ユーザでRを立ち上げると、インストール先は~/以下になる

```r
library(RMeCab)
res <- RMeCabC("すもももももももものうち")
res
setwd("~/data")
res <- RMeCabText("yukiguni.txt")
res
```