竹の子エンジニア

30代から目指すエンジニアの日記

備忘録: AWS環境下にRuby実行環境の構築

たまに外でRubyを触りたいときとかがあるので、AWS環境下にRubyRails)の環境構築手順を備忘録を含め記述
なお、先日構築したRails環境とは別に新たに構築しています。今回はちゃんと手順を記載。(笑)

AWSにてAmazon Linux Serverを構築

AWSのサーバーについてはEC2インスタンスにて、Amazon Linuxを構築。
無料利用枠の範囲内で利用したいので、t2.microを利用。

AWSにてインスタンスを構築し、keypairを作成し、SSHで接続。
Amazon Linuxの場合、初期ユーザーは「ec2-user」のノンパスで、秘密鍵で作成したkeypair.pemを指定。

接続後、Ruby実行環境構築に必要なパッケージをインストール

必要なパッケージをインストール

# yum -y install git gcc openssl-devel sqlite readline-devel mysql-devel bundler

→ git: rbenvのダウンロードで使用
gcc: Rubyのインストールで使用
→ openssl-devel: Rubyのインストールで使用
sqlite-devel: SQLiteを使いたいのでインストール(Rubyのインストールには不要)
readline-devel: rbenvでrubyをインストール時に使用(rbenvについては後述)
mysql-devel: RDSを使用するため。gem mysql2のインストールを行う
→ bundler: Railsのアプリをデプロイする際に必要

rbenvのインストール

rbenvとは?
フォルダごとでRubyのバージョンを切り替えてくれるツール
あるフォルダにはRubyのバージョン1.9を設定でき、そのまた他のフォルダにはバージョン2.0を
適用できるもの。プロジェクトごとにRubyのバージョンが異なるときなどに便利。
似たようなものでRVMといったものもある。

#インストール方法、gitからrbenvをclone(※一般ユーザーで実行)
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

#rbenvのPATH設定
$ PATH="$HOME/.rbenv/bin:$PATH"
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

#rbenvの環境設定を行うために以下を設定
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

#rubyをインストールするために 、ruby-buildというプラグインが必要なのでcloneする
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

#rbenvが実行できるか確認

$ rbenv -v
rbenv 0.4.0-153-g3b6faa8 #versionが表示されればOK

Rubyのインストール

rbenvでインストールできるRubyのバージョンを確認する。

#インストール可能なリストを表示
$ rbenv install --list

#指定のバージョンのRubyをインストール(現時点での安定版 2.2.2をインストール)
$ rbenv install 2.2.2

#上記コマンド実行後、Rubyのインストールを確認する
$ rbenv versions
* system (set by /home/ec2-user/.rbenv/version)
  2.2.2

rbenvのインストールが思ったより時間が掛かる...

rbenvの使用方法

rbenvの使用方法について以下に記述

#Rubyのデフォルトのバージョンをインストールしたバージョン(2.2.2)に切り替える
rbenv global 2.2.2

#rbenvの環境を適用するために、~/.bash_profileの再読み込みを行う
source ~/.bash_profile

#現在のRubyのバージョンを確認
ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux] #2.2.2のバージョンが表示される

ディレクトリのRubyバージョンの設定方法
(事前にRubyのバージョン2.0.0-p645をインストールしておく)

#ディレクトリを作成して、作成したディレクトリに移動(直前に打ったコマンドの最後の引数が"$_"参照できる)
$ mkdir local_dir && cd $_

#ディレクトリのRubyバージョンを設定
rbenv local 2.0.0-p645

#./bash_profileの再読み込みを行う
soruce ~./bash_profile

#Rubyのバージョン確認
ruby -v
ruby 2.0.0p645 (2015-04-13 revision 50299) [x86_64-linux]

Railsのインストール

#gemをアップデート
$ gem update --system

# Railsインストール(--no-ri,--no-rdocオプションでドキュメント生成を省略)
$ gem install --no-ri --no-rdoc rails

#rbenvをrehashする(gemでinstallしたらrehashする必要あり)
$ rbenv rehash

#railsのインストールを確認
$ rails -v
Rails 4.2.3 #バージョンが表示できればOK

rbenvのrehashについて*1

※ちなみに自分の環境だと、railsのインストール時に以下のようなエラーが出てインストールできなかった。。

Building native extensions.  This could take a while...
ERROR:  Error installing rails:
        ERROR: Failed to build gem native extension.

    /home/ec2-user/.rbenv/versions/2.2.2/bin/ruby -r ./siteconf20150818-9304-oo4faz.rb extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
checking for gzdopen() in -lz... yes
checking for iconv... yes
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.2
with the following patches applied:
(以下略)

検索し、以下の処理を実施したら対処できた。*2

$ sudo yum -y install libxml2 libxslt libxml2-devel libxslt-devel
$ gem install nokogiri -- --use-system-libraries
$ gem install rails

以上でAmazon Linux上にRubyRailsの実行環境を構築完了

余談。

上記環境構築に加え、VIMRubyの設定を追加しました。追加方法は、こちらのページを参照しました*3

あとVIMで便利で矩形選択ができる方法があったんですね。。。
VIM開いて、Ctrl+vを押すと、矩形選択が可能みたいです(カーソルキーで)