VagrantのCentOS 6.5 仮想マシン(box)起動まで
MacOS X Yosemite で Heroku にアプリを公開するまでの環境構築を何回かに分けて書きます。
vol.01 VirtualBox インストール編
vol.02 Vagrant インストール編
vol.03 Vagrant box作成編
も合わせてお読み下さい。(というか、先にこの3つの操作が必要です)
仮想マシンの準備
まずは、マシンに box が入っているか確認しましょう。
vagrant box list
と叩けば、boxのリストが表示されます。
先ほど持ってきた centos65-x86_64-20140116 のようなものが存在してればOK。
仮想マシンを立ち上げて作業するディレクトリを作成、移動します。
ここでは myCentOS65 としますが皆さん自由に作成してください。
mkdir myCentOS65 ※名称は任意
cd myCentOS65 ※作成したディレクトリ名
Vagrantで仮想マシンを作成して、マシンを起動し、接続するには以下の3手順です。
- Vagrant 初期化 (init)
- 仮想マシン起動 (up)
- 接続 (ssh)
初期化は一度だけ行えば以降は不要です。
起動(up)も立ち上げっぱなしにしておけば以降不要ではあるのだけど、けっこうバッテリーを喰うのとたまに挙動が怪しくなるので halt でマシンを落としてからの up と ssh はそこそこ使います。
Vagrant 初期化 (init)
念のため pwd コマンドで作業ディレクトリにいることを確認(ここでは myCentOS65 にいればOK)。
vagrant init centos65-x86_64-20140116
[centos65-x86_64-20140116]というのは box名 なので、別名を付けてる人はご注意。
このコマンドはテキストファイルを作るだけなので一瞬で処理が終わります。
Vagrantfile というファイルが作成されればOKです。
Vagrantfile を修正しましょう。
慣れてる人は vim などそのままコマンド操作で良いのですが、不慣れな人は素直に Finder で Vagrantfile を探して、テキストエディタで修正の方がラクです。
テキストエディタで Vagrantfile を開いて修正です、メモリの割当量を増やすとか必須ではないけど環境によって必要な修正もあるのだけど、ここでは Rails開発に必須 な修正のみ記載します。
Railsでの開発中に必要な3000番ポートにアクセスできるようにしておく。
# config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3000, host: 3000
IPアドレスでアクセスできるようにしておく。
# config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "private_network", ip: "192.168.33.10"
他には、Vagrantで立ち上げる仮想マシン内のフォルダと、Mac内のフォルダを同期・共有させる設定もできます。
これを設定しておくと仮想マシン内のファイルに Finder などで直接アクセスできるので、Macの使い慣れたIDE(開発環境)で直接編集などが可能です。
標準で 仮想マシンの/Vagrantディレクトリ と Mac側のVagrantfileがあるカレントディレクトリ が設定されてますが、変更したい場合は config.vm.synced_folder の指定を変更しましょう。
最小限、ポートとIPアドレスの設定をしておけばOKです。
Vagrant 起動と接続
起動と接続はそれぞれ1コマンドなので一緒に記載。
vagrant up
vagrant ssh
vagrantというユーザで接続できればOK。
パスワードも vagrant なので覚えておきましょう。
仮想マシンから抜けるときは、素直に
exit
だけで Mac に戻ってきます。但し、当然ながら仮想マシンは動いたままです。
仮想マシン内で shutdown しても良いのですが、macに戻ってから
vagrant halt
すると仮想マシンの電源が落ちます。再度接続するときは Vagrantfileがあるディレクトリに移動してから
vagrant up
です。
この後、Railsアプリを制作できるようにサーバ設定していくのですが、長くなりそうなので今回はここまで。
Vagrantfile の修正によって色々とできる(問題が起きた時のヒントになる)ので、サーバの設定はこのファイルで行ってると覚えておきましょう。
キーワード
- MacOS X
- VirtualBox
- Vagrant
- CentOS
- Ruby on Rails
- RVM (Ruby Version Manager)
- Heroku