Amazon LinuxにRails環境(rbenv1.0.0 + ruby-build + Ruby2.1.8 + Rails4.2.6 + Bundler1.11.2)をセットアップする



アマリナ上にRails環境を作ると毎回ハマるので備忘録がてらメモ。

# インストールをした環境

**AMI ：** amzn-ami-hvm-2016.03.0.x86_64-gp2 (ami-f80e0596) 
**環境：** EC2/t2.micro

# この作業で手に入れられる環境

Rubyはバージョン依存がかなり酷く、この組み合わせ以外だと別のパッケージが必要に
なったりするので注意してください。

|パッケージ|バージョン|備考|
|:-----|-----:|:-----|
|rbenv|1.0.0| + ruby-buildプラグイン|
|Ruby|2.1.8||
|Rails|4.2.6||
|Bunlder|1.11.2|


# 下準備
## yum update + gitインストール

```console:console
$ sudo su -
$ yum update
$ yum -y install git
```
## 必須ライブラリをインストール

rbenvやrailsインストールに必要なライブラリを先に入れておきます。

```console:console
yum -y install gcc-c++ glibc-headers openssl-devel readline libyaml-devel readline-devel zlib zlib-devel libffi-devel libxml2 libxslt libxml2-devel libxslt-devel sqlite-devel
```

# rbenvインストール

今回はシステムワイド（全ユーザーが使えるようにセットアップ）にrbenvとruby-buildを
インストールします。

GitHub から rbenv をclone

```console:console
$ git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv
```

/etc/profile に rbenv へパスを通す設定と初期化を行うための行を追記します。

```console:console
$ cp -p /etc/profile /etc/profile.ORG
$ diff /etc/profile /etc/profile.ORG　   <-   差分がないことを確認
$ echo 'export RBENV_ROOT="/usr/local/rbenv"' >> /etc/profile
$ echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile
$ echo 'eval "$(rbenv init -)"' >> /etc/profile
```

ターミナルをリセットするためにログインしなおし、環境変数の内容を確認します。

```console:console
$ exit
$ sudo su -
$ env | grep RBENV
RBENV_ROOT=/usr/local/rbenv
RBENV_SHELL=bash
```

# ruby-buildプラグインインストール

ruby-build プラグインを rbenv をインストールしたディレクトリ内の plugins フォルダにインストールします。

```console:console
$ git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build
```

この状態でいったんターミナルを上げ直して（ログオフ→ログイン）、バージョンを確認します。

```console:console
$ exit
$ sudo su -
$ rbenv -v
rbenv 1.0.0-19-g29b4da7
```

# Rubyインストール

いったん現在のインストール可能バージョンを調べ、-vでバージョン指定してインストールします。
サーバのスペックにもよりますが、結構時間がかかるので首を長くして待って下さい。

```console:console
$ pwd
/root
$ rbenv install -l
Available versions:
  1.8.6-p383
　・・・・・・・・・・・・
  2.1.2
  2.1.3
  2.1.4
  2.1.5
  2.1.6
  2.1.7
  2.1.8      ←　これを入れます
  2.2.0-dev
  ・・・・・・・・・・・・
$ rbenv install -v 2.1.8
$ rbenv rehash
$ rbenv global 2.1.8
$ ruby -v
ruby 2.1.8p440 (2015-12-16 revision 53160) [x86_64-linux]
```

# Railsインストール

```console:console
$ pwd
/root
$ gem update --system
$ gem install nokogiri -- --use-system-libraries
$ gem install --no-ri --no-doc rails
$ rbenv rehash
$ rails -v
Rails 4.2.6
```

# Bundlerインストール

Gemsを管理してくれるBunlerも入れておきます

```console:console
$ gem install bundler
$ bundler -v
Bundler version 1.11.2
```

# インストール済みGemsの確認

今回の手順で導入されるgemsも晒しておきます。

```console:console
$ pwd
/root
$ gem list 
*** LOCAL GEMS ***

actionmailer (4.2.6)
actionpack (4.2.6)
actionview (4.2.6)
activejob (4.2.6)
activemodel (4.2.6)
activerecord (4.2.6)
activesupport (4.2.6)
arel (6.0.3)
bigdecimal (1.2.4)
builder (3.2.2)
bundler (1.11.2)
concurrent-ruby (1.0.1)
erubis (2.7.0)
globalid (0.3.6)
i18n (0.7.0)
io-console (0.4.3)
json (1.8.1)
loofah (2.0.3)
mail (2.6.4)
mime-types (3.0)
mime-types-data (3.2016.0221)
mini_portile2 (2.0.0)
minitest (5.8.4, 4.7.5)
nokogiri (1.6.7.2)
psych (2.0.5)
rack (1.6.4)
rack-test (0.6.3)
rails (4.2.6)
rails-deprecated_sanitizer (1.0.3)
rails-dom-testing (1.0.7)
rails-html-sanitizer (1.0.3)
railties (4.2.6)
rake (10.1.0)
rdoc (4.1.0)
rubygems-update (2.6.2)
sprockets (3.5.2)
sprockets-rails (3.0.4)
test-unit (2.1.8.0)
thor (0.19.1)
thread_safe (0.3.5)
tzinfo (1.2.2)
```

# 参考にさせて頂いたサイト

↓rbenv+ruby-buildをインストールする手順 (CentOS/RedHat) | WEB ARCH LABO
http://weblabo.oscasierra.net/install-rbenv-rubybuild-to-redhat/
↓Amazon LinuxにRuby on Rails環境構築(rbenv + ruby-build + Ruby 2.2.1 + Rails 4.2.1インストール) - Qiita
http://qiita.com/na0AaooQ/items/5bd62e630a2faf051a52