Ich lerne Ruby on Rails for Africa

Railsとアフリカで苦戦するブログ

vagrantでCentOS起動して、LAMP環境構築を今更ながらにやってみる[その1]

フロントエンドばっかりやってて、
バックエンドが非常に弱いのは前々から分かっていたので、
少し時間が出来たので、改めて1からやろうと思い、vagrantで仮想環境立ち上げることにした。

一旦、目的はLAMP環境が出来上がるとこまで。
ほんでもって、vagrantで起動させたCentOS入れてるサーバーに
自分のマシンからアクセスが出来たらクリア!

boxの追加

$ vagrant box add centos https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box

もし、通信回線が足りなかったら、直接ダウンロードして、
URLの部分をboxファイルのある場所のパスを入力すればOK。

$ vagrant box add centos ここにパス

vagrant init

一旦vagrant用のディレクトリを作って、その中で初期化する

$ mkdir centos-lamp
$ cd centos-lamp/
$ vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

vagrantの起動

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* The box 'base' could not be found.

とエラーが出てしまったので、Vagrantfileの中をのぞくと
呼び出すbox名が"base"になっていたので、
boxの追加の時につけた名前(今回はcentos)に編集する

  # config.vm.box = "base"
  config.vm.box = "centos"

続いて、ネットワークの設定を先にしておく。

ネットワークの設定

Vagrantfileを編集して、ネットワークを設定する

  # config.vm.network :public_network
  config.vm.network :public_network, ip: "192.168.50.12"

テスト用のVM操作簡略化のためホスト名(centos)を追記

# /etc/hosts の中にhostを追加
192.168.50.12	centos

vagrantの起動

起動する途中でネットワークインタフェースを聞かれるので
なんとなくEthernetにする。(よく分かってないです)

$ vagrant up
...
...
[default] Available bridged network interfaces:
1) en1: Wi-Fi (AirPort)
2) en0: Ethernet
3) p2p0
What interface should the network bridge to? 2
...
...

sshで疎通確認

$ vagrant ssh-config --host centos >> ~/.ssh/config
$ ssh centos
Last login: Sat Jan 11 02:32:20 2014 from 10.0.2.2
[vagrant@localhost ~]$ ifconfig | grep 192.168.50.12
          inet addr:192.168.50.12  Bcast:192.168.50.255  Mask:255.255.255.0

ホントに振ったIPが動いてるのか謎なのでping

$ ping 192.168.50.12
PING 192.168.50.12 (192.168.50.12): 56 data bytes
Request timeout for icmp_seq 0

来てない!!!!辛い:;(∩´﹏`∩);:

Vagrantfileを編集して、ネットワークを設定する

ネットワークの設定の部分で

  # config.vm.network :public_network
  config.vm.network :public_network, ip: "192.168.50.12"

これがpublicじゃなくてprivate_networkの方にipをかかないといけなかったようで...
一応Vagrantファイルを書き直すと

$ ping centos
PING centos (192.168.50.12): 56 data bytes
64 bytes from 192.168.50.12: icmp_seq=0 ttl=64 time=0.538 ms

キターーーー!!

とりあえず、一旦ここまで。

続きは、その2で!

参考

Qiitaの記事をベースに今回はvagrantをがちゃがちゃした
Vagrant+chefの入門 (CentOS6.4) - Qiita

後から見つけた記事だけど、分かりやすい
仮想環境を CUI(コマンドライン)でいじれる Vagrant を試してみた | girigiribauer.com