LoginSignup
26
27

More than 5 years have passed since last update.

AWS Amazon EC2にrbenvでRuby環境を構築する

Last updated at Posted at 2017-03-28

この記事の対象者

  • 複数バージョンのRubyを使いたい方
  • CentOS上にrbenvを導入したい方
  • Rubyのバージョンを上げたい方

前提条件

  • AWSでアカウントを作成している
  • Amazon EC2のインスタンスを起動している
  • Amazon EC2へログインする際に必要なキーペアを持っている

やりたいこと

  • rbenvでインスタンスに複数バージョンのRubyを管理したい
  • 全ユーザがrbenvに管理されたRubyを使えるようにしたい

作業内容

EC2にログイン

EC2インスタンス上で作業するために、まずはログインします。
秘密鍵のパスとusername、IPアドレスについては各自の設定を参照してください。
ログイン後、rootユーザに切り替えます。

command
$ ssh -i [~/.ssh/keypair.pem] [usarname]@xxx.xxx.xxx.xxx
$ sudo su -

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

command
$ 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のインストール

Githubからrbenvをcloneし、その後rbenvコマンドを呼び出せるよう、環境変数を設定してPATHを通します。

$ git clone https://github.com/sstephenson/rbenv.git /opt/rbenv
$ vim /etc/profile.d/rbenv.sh

vimで /etc/profile.d/rbenv.sh を開いたら、以下を記述します。

/etc/profile.d/rbenv.sh
export RBENV_ROOT="/opt/rbenv"
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init -)"

ruby-buildをインストール

次に、ruby-buildをインストールします。

command
$ git clone https://github.com/sstephenson/ruby-build.git /opt/rbenv/plugins/ruby-build

ユーザの追加

次にユーザを追加します。
wheelグループに属しているユーザがrbenvコマンドを使用できるようにします。

新しく追加する場合

command
$ adduser newuser
$ passwd newuser

上記コマンドを実行し、新しくつくりたいユーザの名前、そのユーザのパスワードを設定します。作成したユーザにsshでアクセスできるようにするには、サーバ上ではなくローカルで公開鍵と秘密鍵のペアを作成する必要がありますが、ここでは説明を割愛します。

ユーザをwheelグループに所属させる

command
$ usermod -G wheel newuser

wheelグループに所属するユーザを確認するには、以下のコマンドを実行します。

command
$ grep wheel /etc/group

rbenvのパーミッション変更

wheelグループのユーザがrbenvコマンドを使えるように、ディレクトリの権限を変更します。

command
$ chown -R wheel:wheel /opt/rbenv
$ chmod -R 775 /opt/rbenv

以下のコマンドでディレクトリの状態を確認できます。

command
ll /opt/

パーミッションはrwxrwxr-x、グループとユーザはwheel:wheelになっていればOKです。

Rubyのインストール

いよいよrbenvを使ってRubyをインストールします。
設定した環境変数を読み込むために以下のコマンドを実行します。

command
$ source /etc/profile.d/rbenv.sh

読み込みが無事に終わったら、以下のコマンドを実行します。
インストール可能なバージョンの一覧が表示されるので、使いたいバージョンのRubyをインストールしましょう!

command
$ rbenv install -l # インストール可能バージョンのリスト
$ rbenv install 2.5.1 # ruby 2.5.1をインストール
$ rbenv versions # 切り替え可能なバージョン一覧

Rubyをインストールできたら実行すること

rbenvの同期

command
$ rbenv rehash

rbenvでインストールしたRubyをシステム全てに適用する

command
$ rbenv global 2.5.1
$ ruby -v #=> 2.5.1

補足

  • 一部のディレクトリのみRubyバージョンを変えたい場合
command
$ cd path/to/app # 任意のディレクトリに移動
$ rbenv local 2.5.1 # このディレクトリ以下のrubyバージョンが2.5.1になる
  • Gemを入れたいとき
command
$ rbenv exec gem install ... # rbenv execをつけると、現在適用中のバージョンのrubyに対して処理します。

参考

rbenv + ruby-build はどうやって動いているのか
Amazon Linuxに、Ruby + Railsのインストールをしよう!
AWS EC2 Amazon Linuxインスタンス起動後、最初にやることまとめ
Linuxユーザーの追加〜SSH公開鍵登録まで

26
27
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
26
27