vdeep

*

vdeepはプログラミング、IT、Web技術、ライフハックの事などなどを管理人okutaniがつぶやくブログです。月間11万PV〜。

CentOS7にRuby on Railsを導入する方法

      2016/09/04

LINEで送る
Pocket

centos7-ruby-on-rails
こんにちは、okutani(@okutani_t)です。本記事ではCentOS7にRuby on Railsを導入する手順を紹介しています。

Ruby自体の導入は、『rbenv』という複数バージョンのRubyを利用できるツールを使っています。詳しく知りたい方は、下記の記事を先に一読しておくとより理解が深まるかと思います。

参考rbenvを使って複数バージョンのrubyを導入する | vdeep

本記事では、rbenvを使ったrubyの導入から解説しています。

また、本記事で導入したCentOSのバージョンは以下のとおりです。

$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

では、さっそくCentOS7にRuby on Railsを導入してみましょう。

スポンサーリンク

rbenvを使ってrubyを導入

まずは、rbenvを使ってrubyを導入します。今回はruby2.3.0を導入。

先にrbenvの依存関係を解消しておきます。

$ sudo yum -y install gcc gcc-c++ make bzip2 libyaml-devel libffi-devel zlib-devel openssl-devel readline-devel gdbm-devel ncurses-devel

rbenvを導入しましょう。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

次にruby-buildを導入します。

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

「~/.bash_profile」に以下を記述。

$ sudo vi ~/.bash_profile
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

シェルの再読み込みをおこないます。

$ source ~/.bash_profile

rbenv導入確認。

$ rbenv --version
rbenv 1.0.0-19-g29b4da7

rubyの導入。

$ rbenv install 2.3.0

このrubyのバージョンをグローバルに利用するよう設定。

$ rbenv global 2.3.0

ruby導入の確認。

$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]

無事にruby2.3.0が導入できました。

rbenvをシステムワイドに導入する場合

もし、rbenvをシステムワイドに導入するには「/usr/local/」にインストールすればOKです。システムワイドに利用したい場合はこちらの方法で導入しましょう。

初めにrootに切り替えておきます。

$ su -

「/usr/local/」にrbenvとruby-buildを導入。

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

rbenv init時に「/rbenv/shims, rbenv/versions」が無いと、作成する権限がないうんぬんでエラーが起きてしまうので先に作成。

# cd /usr/local/
# mkdir rbenv/shims rbenv/versions

新しくrbenvユーザーを作成し、権限を設定しておきます。

# groupadd rbenv
# chgrp -R rbenv rbenv
# chmod -R g+rwxXs rbenv
# chgrp -R rbenv rbenv/plugins/ruby-build
# chmod -R g+rwxs rbenv/plugins/ruby-build

全ユーザーがsudoでgemを使えるように、「# visudo」から設定ファイルを開き、下記を追記。毎回、gem利用時はrootに切り替えるよって場合は設定しなくてOKです。

# visudo
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rbenv/bin:/usr/local/rbenv/shims
Defaults env_keep += "RBENV_ROOT"

全ユーザーが読み込む「/etc/profile.d/」にrbenv.shを作成&以下を記述。

# vi /etc/profile.d/rbenv.sh
export RBENV_ROOT=/usr/local/rbenv
export PATH="$RBENV_ROOT/bin:$PATH"
eval "$(rbenv init -)"

シェル読み込み。

# source /etc/profile.d/rbenv.sh

rubyインストール。

# rbenv install 2.3.0
# rbenv global 2.3.0

これでroot以外のユーザーでもrubyが使えますね。

root以外のユーザーがrbenvコマンドを使いたい場合は次のようにします。

$ sudo gpasswd -a `whoami` rbenv

システムワイドでrubyを使いたい場合は上記の方法で設定すればOKですね。

Ruby on Railsの導入

では、Ruby on Railsを導入していきましょう。

導入はgemコマンドでおこなうので、はじめにgemをアップデートしておきます。

$ sudo gem update --system
$ gem -v
2.6.2

次に、Railsを利用するために必要なツールを導入しましょう。

C言語のライブラリ依存に必要なNokogiriを導入します。libxml2はHTML/XML解析ライブラリで、Nokogiriの導入に必要なので先にインストールします。

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

データベースのSQLite3を導入。ちなみに、SQLite3はRailsの標準データベースとして採用されています。

$ sudo yum -y install sqlite sqlite-devel
$ sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668

gemでSQLite3を利用できるようにしておきます。

$ sudo gem install sqlite3

次に、Bundlerという、Gemfileに記述した設定項目を一括でインストールできる便利ツールを導入しておきます。

本来ならBundler経由でnokogiriやSQLite3のライブラリを導入できるかと思いますが、本記事ではそれらライブラリは直接gemでインストールしています。以下を実行して、Bundlerをインストール。

$ sudo gem install bundler
$ bundle -v
Bundler version 1.11.2

前準備が整ったので、Ruby on Railsを導入しましょう。導入できるバージョンを確認します。

$ gem search -r rails
もしくは
$ gem search -r ^rails$ -a # 完全一致ですべてのバージョンを検索したい場合

今回は「Ruby on Rails チュートリアル:実例を使って Rails を学ぼう」で使用している4.2.2を導入します。

$ sudo gem install rails --version 4.2.2

導入を確認。

$ rails -v
Rails 4.2.2

無事にRuby on Railsが導入されました。

Ruby on Railsの動作確認

Ruby on Railsの動作確認をおこなってみましょう。

次のコマンドでアプリケーションを作成します。

$ rails new myapp

作成したアプリのディレクトリへ移動し、Webサーバーを立ち上げてみましょう。

$ cd myapp
$ rails server -b 0.0.0.0 #もしくは rails s -b 0.0.0.0

大量のエラーが出てしまう場合は、myappの中にあるGemfileを次のように編集します。

$ sudo vi Gemfile
# gem 'therubyracer', platforms: :ruby
↓#を外す
gem 'therubyracer', platforms: :ruby

Gemfileを使ってコメントアウトしたtherubyracerを導入します。

$ bundle install

こちらでもエラーが出る場合は、gcc-c++を導入すればOKです(本記事では冒頭で導入済です)。

$ sudo yum install -y gcc-c++

エラーが出ていないこと確認して、「http://IPアドレス:3000」へアクセス。

483E3349-EF7B-482D-B50D-94836C87A7A6

このように表示されれば、Ruby on Railsが正常に動作しています。サーバーはターミナル上でCtrl + cで停止させることができます。

CentOS7にRuby on Railsを導入する方法は以上です。

この記事が気に入ったら
いいね ! しよう

Twitter で
LINEで送る
Pocket

okutani (@okutani_t) のヒトコト
Webサーバーの立ち上げにすこし手間がかかってしまいましたが、無事にちゃんと動いてよかったです。この辺りはドットインストールを参考にしました!

 - CentOS, Ruby on Rails

スポンサーリンク

PC用AdSense

PC用AdSense

Share
  • このエントリーをはてなブックマークに追加

  こちらの関連記事もどうぞ

New Relicの登録&Ruby on Railsへの導入方法

こんにちは、okutani(@okutani_t)です。本記事では、パフォーマン …

CentOS7にPHP5.6を導入する方法

こんにちは、okutani(@okutani_t)です。本記事ではCentOS7 …

CentOS7+nginxでRuby on Railsを利用する(Unicorn)

こんにちは、okutaniです。前回、「CentOS7にnginxを導入&初期設 …

CentOS7にMySQL導入&初期設定をおこなう

こんにちは、okutani(@okutani_t)です。本記事ではCentOS7 …

【Rails】S3へ『CarrierWave+fog』を使って画像アップロードする方法

こんにちは、okutani(@okutani_t)です。本記事ではAWS(Ama …

CentOS7に最新のEmacsを導入する方法

こんにちは、okutani(@okutani_t)です。需要があるかどうか分かり …

さくらのVPSにCentOS7を導入する方法

こんにちは、okutani(@okutani_t)です。本記事ではさくらのVPS …

CentOS7に最新のGitを導入する方法

こんにちは、okutani(@okutani_t)です。CentOS7でGitを …

vdeepのトップページへ戻る画像です。風船の形をした島を女の子が掴んでいます。