Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

この記事の対象者

  • 複数バージョンの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公開鍵登録まで

hytkgami
普段はPHPやRubyを使ってサーバーサイドを開発したり、SwiftでiOS開発をしたりしています。後輩の育成業務等も担当しています。インフラは時折触ります。アプリケーションの設計やDB設計、UIデザイン、マイクロインタラクションに興味があります。
life-a-tm
人生のイベントや日常生活に密着した比較サイト、情報サイト等様々なウェブサービスを企画・開発・運営
https://life.a-tm.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away