さくらVPSのcentOS 6.7でrails環境を整える方法

全体の流れ

  1. ①ログイン
  2. ②日本語化
  3. ③webサーバーの設定
  4. ④rvmのインストール
  5. ⑤rubyのインストール
  6. ⑥railsのインストール

①sshログインをしよう


ssh root@IPアドレス

もし以下の感じでパスワードを求められたら、OSインストールの際に設定したrootパスワードを入力してください。


root@***.**.**.**'s password: 

無事ログイン出来たら

※この際にエラーでログイン出来なかったら以下のサイトを参考

②日本語化
vimを使ってi18nの設定を変更して日本語対応にしましょう。


vim /etc/sysconfig/i18n

LANG=“ja_JP.UTF-8"

③webサーバーの設定


yum install httpd
#httpdのインストール

chkconfig httpd on
#httpdの自動起動を設定

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
#設定ファイルをコピーしておく

vim /etc/httpd/conf/httpd.conf
#設定ファイルの変更

=> ServerTokens Prod #OSをProdに変更
=> ServerSignature Off #OnをOffに変更
=> ptions -Indexes FollowSymLinks #Indexesの前に-を入力

service httpd configtest
#文法テスト、OKが出力されたら問題なし

service https start
#再起動して設定を反映させる

とにかくまずは先にgitをインストールしましょう


sudo yum -y install git

次にrvmをインストールしてrbenvコマンドが通るようにパスを設定しましょう。


$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ rbenv -v
rbenv 0.4.0-151-g83ac0fb

いよいよrubyのインストール!

と、その前にrubyをインストールするためのビルドツールをインストールします。


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

その後は、rubyのバージョンを指定してインストールします。ご自身のアプリのrubyのバージョンに合わせておいた方が楽かも。。


rbenv install 2.2.1

と、ここでエラーが発生しました。サーバ環境によっては発生しないのかも知れません。


BUILD FAILED (CentOS release 6.7 (Final) using ruby-build 20150818-4-g8d6ff29)

Inspect or clean up the working tree at /tmp/ruby-build.20150910043818.12737
Results logged to /tmp/ruby-build.20150910043818.12737.log

Last 10 log lines:
./libffi-3.2.1/.libs/libffi.a: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
make[2]: *** [../../.ext/x86_64-linux/fiddle.so] エラー 1
make[2]: ディレクトリ `/tmp/ruby-build.20150910043818.12737/ruby-2.2.1/ext/fiddle' から出ます
make[1]: *** [ext/fiddle/all] エラー 2
make[1]: *** 未完了のジョブを待っています....
linking shared-object io/nonblock.so
make[2]: ディレクトリ `/tmp/ruby-build.20150910043818.12737/ruby-2.2.1/ext/io/nonblock' から出ます
make[1]: ディレクトリ `/tmp/ruby-build.20150910043818.12737/ruby-2.2.1' から出ます
make: *** [build-ext] エラー 2

解決方法は、ruby-build の wiki にもありますが、libffi-dev パッケージをインストールすることで解決します。

ということで以下のコマンドを入力


yum install libffi-devel

インストールが完了したところで改めてrubyのインストール!(※バージョンはもちろんお任せです!)


rbenv install 2.2.1

と思ったらまたもエラー、、、、


BUILD FAILED (CentOS release 6.7 (Final) using ruby-build 20150818-4-g8d6ff29)

Inspect or clean up the working tree at /tmp/ruby-build.20150910045008.5824
Results logged to /tmp/ruby-build.20150910045008.5824.log

Last 10 log lines:
installing rdoc:              /root/.rbenv/versions/2.2.1/share/ri/2.2.0/system
installing capi-docs:         /root/.rbenv/versions/2.2.1/share/doc/ruby
The Ruby readline extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Try running `yum install -y readline-devel` to fetch missing dependencies.

Configure options used:
  --prefix=/root/.rbenv/versions/2.2.1
  LDFLAGS=-L/root/.rbenv/versions/2.2.1/lib 
  CPPFLAGS=-I/root/.rbenv/versions/2.2.1/include 

ご丁寧に解決法が書かれているのでそれに従いましょう。


yum install -y readline-devel

これで再度rubyをインストールしたらようやく完了しました!

上記 rbenv でインストールした ruby に環境を切り替えます。


rbenv rehash
ruby -v

もし以下のようなエラーが発生したら環境変数の定義を見直してください。


rbenv: version `system' is not installed (set by RBENV_VERSION environment variable)

こちらのコマンドを入力すれば解決します。(※バージョンは上記でインストールしたものに合わせてください!)


# rbenv global 2.2.1
# rbenv version
2.2.1 (set by /root/.rbenv/version)
# ruby -v
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
# 

これでようやくrubyのインストールが完了!!!
あとはrailsを入れます!


$ gem update --system
$ gem install --no-ri --no-rdoc rails
$ gem install bundler
$ rbenv rehash

これでようやくさくらVPSのcentOS 6.7にrails導入が完了しました!
あとは、自分のmacのローカルで作ったrailsアプリをgit経由でプッシュするだけですね!