2016年4月23日土曜日

CentOS 6.7にRails 4.2.6をインストールする手順

こんにちは。今日は、Linux(CentOS)にRailsをインストールする手順を紹介します。用意したOSとインストールしたパッケージは以下のとおりです。なお、今回はMac上でVirtualBoxとVagrantで仮想環境を構築し、その上で作業を行いました(仮想環境の構築編は、VirtualBoxとVagrantで仮想環境を構築するを参照)。

□構築する環境
・CentOS 6.7
・Ruby 2.2.4p230
・RubyGems 2.6.3
・MySQL 5.1.73
・Rails 4.2.6
※2016年4月23日 実施


□やること
・必要パッケージのインストール
・rubygemsのインストール
・railsのインストール

□構築手順
・必要パッケージのインストール(以下は、root権限で実行する)
以下の手順で必要パッケージのインストールを行う。
# yum install -y gcc make openssl-devel gcc-c++
# yum install -y mysql-server mysql-devel
# service mysqld start
# chkconfig mysqld on
# yum install -y readline-devel
# yum install -y libxml2
# yum install -y git


上記では、gccやopenssl、mysqlなど必要なパッケージをインストールする。chkconfigを叩くことでOS起動時にmysqlが立ち上がるようになる。readline-develは、irbでBSや矢印キーでの移動できるようにするものである。

(2017年5月27日 追記)
libcurlが古いため、rubyのインストール時に以下のようなエラーが発生する。

$ rbenv install 2.4.1
Downloading ruby-2.4.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.bz2
error: failed to download ruby-2.4.1.tar.bz2

BUILD FAILED (CentOS release 6.7 (Final) using ruby-build 20170523-5-gccfd27f)



そこで、以下の手順でlibcurlを更新する(rootで実行、参考記事)。
# rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm
# vi /etc/yum.repos.d/city-fan.org.repo(以下の赤字を変更する)
[city-fan.org]
name=city-fan.org repository for Red Hat Enterprise Linux (and clones) $releasev
er ($basearch)
#baseurl=http://mirror.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basear
ch
mirrorlist=http://mirror.city-fan.org/ftp/contrib/yum-repo/mirrorlist-rhel$relea
sever
#enabled=1
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-city-fan.org

変更後、以下を実行する。
# yum update -y --enablerepo=city-fan.org libcurl


・rbenvのインストール(以下は、各自のアカウントで実行する)
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
※git cloneで"Connection timed out"と表示される場合は、以下のコマンドを実行(参考記事)。
$ git config --global url."https://".insteadOf git://

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source .bash_profile
$ rbenv -v

rbenvは、ユーザ毎に異なるバージョンのRubyを利用できるようにする。1台のサーバを使って複数人で開発する場合、開発するサービスやエンジニアによって利用するRubyのバージョンが異なることがある。rbenvを導入することで、その時々で利用するRubyのバージョンを切り替えることができる。

・Rubyのインストール
$ rbenv install -l
$ rbenv install 2.2.4
$ rbenv global 2.2.4

rbenvでは、インストールできるRubyのバージョンを確認できるので、必要なバージョンをインストールし、有効化する。

・RubyGemsのインストール
$ git clone https://github.com/rubygems/rubygems.git rubygems
$ cd rubygems
$ ruby setup.rb
$ gem -v

RubyGemsは、Ruby用のパッケージ管理ツールであり、Railsや各種パッケージのインストールを行う。

・railsのインストール
$ gem update --system
$ gem install rails

・mysqlとrailsの連携関係
$ gem install mysql2

以上の手順により、CentOS 6.7にRails 4.2.6がインストールすることができる。RailsによるWebアプリケーションの開発が可能となる。

参考にしたサイト:
rbenv を利用した Ruby 環境の構築