Vagrantメモ
ドットインストール見ながら導入してみたのでまとめ。
どうも黒い画面系のコマンドを覚えてないのでその辺も補足しつつ。
Vagrant入門 (全13回) - プログラミングならドットインストール
仮想マシンを立ち上げる
1. Box(仮想マシンのテンプレート)を取得
$ vagrant box add 名前(自由につけられる) URL
ってやると指定した名前でURLからBoxをダウンロードしてくる。
ダウンロードしてきたBoxは
./.vagrant.d/boxes
に格納される。
仮想マシンの操作
現在の仮想マシンの状態を表示
$ vagrant status
仮想マシンをスリープ状態にする
$ vagrant suspend
仮想マシンをスリープ状態から復帰させる
$ vagrant resume
仮想マシンを終了する
$ vagrant halt
仮想マシンを起動する
$ vagrant up
仮想マシンを再起動
$ vagrant reload
SSH接続する
$ vagrant ssh
コマンドをたたく。
Webページを表示してみる
1. Webサーバーをインストール
$ sudo yum -y install httpd
これでhttpdがインストールできる。
※httpdとは:http://e-words.jp/w/httpd.html
※yumは、パッケージをインストールするときにパッケージ間の依存関係を調べてインストールを行ってくれるコマンド。
yumコマンドについて yum - Linux初心者の基礎知識
-yオプションをつけると、実行時に確認を行わなくなる。
2. Webサーバーを起動
$ sudo service httpd start
※serviceは、サービスの起動や再起動・停止などを行うコマンド。
3. Webサーバーの設定をする
$ sudo chkconfig httpd on
※chkconfigは、システム起動時に起動するサービスの一覧を表示したり、起動するサービスの登録・削除などなどを行う。
chkconfig サービス名 on
で自動起動し、
chkconfig サービス名 off
で自動起動をオフにする。
・ファイヤーウォールを切る
開発中は邪魔だったりするからね。
$ sudo service iptables stop
自動起動もオフにしておく
$ sudo chkconfig iptables off
5. Vagrantfileをいじる
viとかでVagrantfileを開いて、PrivateNetworkとか書かれているあたりのコメントを外してやる。
その後reload。
6. ブラウザで見る
Vagrantfileに書かれてたIPアドレスをブラウザで表示させると、さっき作ったHTMLファイルが表示される。
共有フォルダを使う
いちいちSSH接続してHTMLなんかを編集するのはダルい・・・
Mac上でやりたい・・・
そんなときのためにvagrantには共有フォルダが存在している。
Mac上で作った仮想マシンのフォルダは、SSH接続したときの
/vagrant
とリンクしている。
例えばSSH接続後に
$ cd /vagrant
で移動したあと
$ touch test
で空のファイルを作ると
Mac上の仮想マシンフォルダにも空の「test」というファイルが作られている。
だから、例えばWebルートフォルダ(/var/www/html)と/vagrantフォルダをつなげてやれば、わざわざSSHで接続しなくても中身がいじれるようになる。
Provisioning
Provisioningとは?
vagrant upをしたあとに、自動で実行されるもの。
例えば、あんまり実用的ではないけど
Vagrantfile内に
config.vm.provision :shell, :inline => "echo hello world"
という一行を書き加えると、up時に「hello world」とシェル内に表示される。
別ファイルを読み込ませる
config.vm.provision :shell, :path => "読み込ませたいファイル名"
とすると、別ファイルが読み込める。
自分でBoxを作る
自分で設定した環境をそのままBoxにしたい場合は
$ vagrant package
でOK。
システムに追加したい場合は
$ vagrant box add my_box package.box
っていう感じ。いつものBoxインストールと同じ。