gaku様の備忘録

プログラミングとか、夢と現実と理想とか。。。

【再掲載】Ubuntuに仮想PC構築し、RailsServerが動くまで

汚かったので、綺麗にしたものを再掲載します。
ubuntu14.04 64bit版に仮想PCを構築しrails環境を整える。

1.仮想PCにCentOS 6.4 x86_64を構築する。
vagrant +VirtualBoxは導入済みのこと

・ボックスの登録

$ vagrant box add centos6_4 http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box

・vagrantfileの作成

$ vagrant init centos6_4

vagrantで仮想PCを起動

$ vagrant up

これでとりあえず仮想PC環境は整う。
vagrant最強。。。

Vagrantfileを開いて設定しておく。#コメントを外して、以下に変更し保存
ネットワーク設定

config.vm.network "forwarded_port", guest: 3000, host: 3000

共有フォルダ設定

config.vm.synced_folder "~/CentOS6_4ShareFolder", "/home/vagrant/rails_projects"

※~/CentOS6_4ShareFolderがubuntuのフォルダ、/home/vagrant/rails_projectsが仮想PCのフォルダ

2.RVMの導入
ruby、RVM、Railsを導入する
とりあえず、SSHで仮想PCを操作できるようにする

SSH接続

$ vagrant ssh

で、root権限で作業をする方が良さそうだったので切り替える

$ su
パスワード:vagrant

※何もいじってないなら「vagrant」がPW

yumの最新版を取得

$ sudo yum update

・RVMの導入
ここが難関だった。ミスると仮想PCへSSH接続することが出来なくなるという
訳のわからなエラーが出たから注意。

・とりあえずダウンロード

$ wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ rpm -ivh epel-release-6-8.noarch.rpm

RVMで必要なパッケージを取得する。全部取る!

$ yum install gcc-c++ patch readline readline-devel zlib zlib-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison gdbm-devel tcl-devel tk-devel libxslt-devel libxml2-devel --enablerepo=epel libyaml-devel

準備は整ったが、このままでは下記のコマンドを入力しても
コマンドが反映されていない。
そのため再起動する。
---再起動時の入力コマンド(今後再起動はこれを行う)

$ exit
$ exit
$ vagrant halt
$ vagrant up 
$ vagrant ssh
$ su
$ パスワード:vagrant

・インストールを行う

$ curl -L https://get.rvm.io | sudo bash -s stable

・rvmの最新化
rvmを最新化する。このままではコマンドが効かないので再起動して
以下コマンドを実行

$ rvm get head && rvm reload

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

$ rvm requirements

3.rubyの導入
・rvmを使用しrubyをインストールする。今回は2.1をインストール

$ rvm install 2.1.0 --with-openssl-dir=$HOME/.rvm/usr

・Gemsetの作成

$ rvm use 2.1.0@rails3tutorial2ndEd --create --default

・Gemのアップデート

$ gem update --system 1.8.24

4.Railsの導入
Railsのインストールを行う。かなり時間がかかるので、焦らずゆっくり待とう。
※何も表示されないままが続きますが、そのうち終わります。

$ gem install --no-ri --no-rdoc rails

5.ローカルで起動を確認
railsのアプリを制作する

$ cd rails_projects/
$ rails new first_app

※Enter連打をする場合もある

このままではポート開放していないので、0.0.0.0:3000にアクセスしても
見ることができない。
そこでファイアーウォールを切断する(まぁ、仮想環境なんでいいでしょう。。。)

$ /etc/rc.d/init.d/iptables stop
$ chkconfig iptables off //再起動時にもoffにする設定

bundleをアップデートしろよって怒られるので
bundleをアップデートする(プロジェクト内に移動して)

$ bundle update

また、このままではJSのランタイムが無いと怒られるので
以下のコマンドでnode.jsを導入

sudo yum install nodejs

最後に

$ rails server

でWebサーバー立ち上げて、ローカルサーバで0.0.0.0:3000にアクセスすると、
初期画面が表示されれば成功
お疲れ様でした。

[参考文献]
Ruby on Railsチュートリアルの環境構築をvagrant上でやってみたまとめ
http://qiita.com/joe-re/items/05ca18d3be456dc22f5b

・CentOS6にRVMをインストール(2014年2月24日時点で有効な方法)
http://ktsukuda.net/ruby/install_rvm_on_centos6/

■Gaku様のひとこと
細々したところでの、「インストールしてください」のエラーがあると思いますが、
適宜対応してください。(記述した当初は出なかったが、再構築するとなんか出る。。たぶん、何かのバージョンがあがったりしているのが原因だと思います)
※いらない設定もあると思いますが、少しでも皆様のお役に立てたら幸いです(´・ω・`)ノ