VirtualBox インストール
https://www.virtualbox.org/wiki/Downloads
からダウンロードしてインストール
Vagrant入れる
https://www.vagrantup.com/downloads.html
からダウンロードしてインストール
とりあえず仮想環境立ち上げ
ターミナルから
$ vagrant box add chef/centos-6.5
$ vagrant init chef/centos-6.5
$ vagrant up
※chef/centos-6.5には sqlite が既にインストール済み
すると、box のダウンロード等が始まる。
インストール完了したら
$ vagrant ssh
で仮想環境に接続
Guest Addition の自動更新
vagarant up
する時にGuest Addition を自動更新するプラグインをインストールする
$ vagrant plugin install vagrant-vbguest
インストール完了したら、VMを再起動
$ vagrant reload
TimeZone設定
以下の通り設定
http://qiita.com/snaka/items/a291423d6ceac9f091a7
ポート 3000 を外部からアクセス可能に
参考: http://fuzz-jpn.com/blog/vagrant_rails_server_browser/
sudo vi /etc/sysconfig/iptables
で以下のとおり編集
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3000 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
git コマンドインストール
以下を参考にgitコマンドインストール
http://qiita.com/snaka/items/64cb8aec94da38483996
ruby 関連コマンドのインストール
rbenv + ruby-build で ruby 関連コマンド(ruby, gem, rake 等)をインストールする
rbenv
以下に従ってインストール
https://github.com/sstephenson/rbenv/blob/master/README.md
ruby-build
以下に従ってインストール
https://github.com/sstephenson/ruby-build#readme
ruby
あらかじめ必要そうなパッケージを入れておく
$ sudo yum install gcc gcc-c++ zlib-devel openssl-devel readline-devel ncurses-devel libyaml-devel sqlite-devel patch
- gcc, openssl-devel はrubyのビルドに必要
- gcc-c++ は therubyracer のインストールに必要
- sqlite-devel はアプリで利用してるので入れておく
- あとは雰囲気で
以下コマンドでインストール可能な ruby バージョンの一覧を確認
$ rbenv install --list
現時点(3/15)で最新の ruby 2.1.1 をインストールする
$ rbenv install 2.1.1
インストール結果の確認し、使用するバージョンを設定する。
# 使用可能なバージョンを確認
$ rbenv versions
# rubyのバージョンを設定
$ rbenv global 2.1.1
# バージョン確認
$ ruby -v
bundler のインストール
$ gem install bundler
試しに rails でサンプル作成
# railsインストール
$ gem install rails
# javascript 実行ランタイムの設定
$ gem install therubyracer
$ vim Gemfile # gem 'therubyracer' の行を有効にする
# サンプルアプリ作って実行
$ rails new myapp
$ cd myapp
# --binding 指定しないと仮想端末内でのlocalhostでしかアクセスできない
$ rails server --binding=0.0.0.0
ゲストOS内で rails アプリケーションにアクセス
以下のコマンドでHTMLのレスポンスが帰ってきたらOK。
$ curl http://localhost:3000
ホストOSからアクセス
以下のとおり Vagrantfile を設定し、ゲストOSのポート3000をホストOSにポートフォワーディングする。
config.vm.network "forwarded_port", guest: 3000, host: 3000
vagrant reload
の後、ゲストOSで先のサンプルアプリサーバを起動して、ホストOSから http://localhost:3000 にアクセスして Rails のサンプルアプリが表示されたらOK。