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