の続き、VagrantのVCCW仮想マシンを増やす場合の操作方法の説明。
ザックリいうと下記手順になる。
- VCCW公式サイトからダウンロードしたZIPファイルを別名で解凍
site.yaml
を作ってIPアドレスやホスト名の指定をカスタマイズするvagrant upで仮想マシンを起動
C:\usr\vm\vagrant
(Git Bash的には/c/usr/vm/vagrant
)に仮想マシンを作ってゆく前提とする。
C:\usr\vm\vagrant ├─ Vagrantfile ├─ vccw-3.0.6\ # ←前回、良く分からず作ってしまった │ ├─ provision\ │ ├─ wordpress\ │ │ : │ └─ README.md │ ├─ techo.local\ # ←今回、仮想マシンを増やしたい │ : └─ machine-c\ :
前回は何も分からぬまま公式サイトに書かれてる通りに vccw-3.0.6
というディレクトリを作ってしまい、そのまま仮想マシンを動かし始めてしまった。
今回は techo.local
という仮想マシンを新たに増やすことにした。
こんなスペックで作る。
項目 | 内容 |
---|---|
配置ディレクトリ | C:\usr\vm\vagrant\techo.local |
ホスト名 | techo.local |
IPアドレス | 192.168.33.11 |
CPU数 | 2 |
メモリ容量 | 1024MB(1GB) |
VCCW公式サイトからダウンロードしたZIPファイルを別名で解凍
ZIPファイルを取得
今後も仮想マシンを作る時に都度都度使うので、 C:\usr\vm\vagrant
に置いておくことにした。
ブラウザでダウンロードして C:\usr\vm\vagrant
に置いておく。
Git Bash等環境が整っているなら、玄人っぽくcurl
コマンドで直接ダウンロードもできる。
-O
オプションは「ファイルに書き出す」、-L
オプションは「リダイレクトに対応する」という意味。
fuka@cyan MINGW64 /c/usr/vm/vagrant
$ curl -OL https://github.com/vccw-team/vccw/archive/3.0.6.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 118 0 118 0 0 118 0 --:--:-- 0:00:01 --:--:-- 119
100 13889 0 13889 0 0 6585 0 --:--:-- 0:00:02 --:--:-- 22222
C:\usr\vm\vagrant\techo.local
内に解凍
ダウンロードしたzipファイルを解凍。
GitBashの人は格好つけてunzip
コマンドが使えます。
おれもコマンドで頑張ってみた。
$ unzip 3.0.6.zip -d techo.local
Archive: 3.0.6.zip
cbcdf13f46c03e08bb075e15fef025378c56c854
creating: techo.local.old/vccw-3.0.6/
:(略)
inflating: techo.local.old/vccw-3.0.6/provision/playbooks/wordpress.yml
fuka@cyan MINGW64 /c/usr/vm/vagrant
$ cd techo.local
fuka@cyan MINGW64 /c/usr/vm/vagrant/techo.local
$ ls
vccw-3.0.6/
zipファイルの中はフォルダがポツンとあるだけなので、無駄に1階層掘られてしまった。
(Explzhの親切さが身にしみるゼ…)
中身をtecho.local
ディレクトリ直下に移動させる。
fuka@cyan MINGW64 /c/usr/vm/vagrant/techo.local
$ mv vccw-3.0.6/* ./
残った不要ディレクトリを削除する。
fuka@cyan MINGW64 /c/usr/vm/vagrant/techo.local
$ rm -r vccw-3.0.6/
site.yaml
を作ってIPアドレスやホスト名の指定をカスタマイズする
プロビジョニングのデフォルト設定は provision/default.yml
にある。
これを techo.local 直下に site.yml にリネームしつつコピーする。
fuka@cyan MINGW64 /c/usr/vm/vagrant/techo.local
$ cp provision/default.yml site.yml
それをエディタで編集。
vi site.yml
項目 | 設定値 | デフォルト値 |
---|---|---|
memory | 1024 | 512 |
cpus | 2 | 1 |
hostname | techo.local | vccw.dev |
ip | 192.168.33.11 | 192.168.33.10 |
vagrant up
で仮想マシンを起動
site.yml
を保存したら、仮想マシンを起動する。
fuka@cyan MINGW64 /c/usr/vm/vagrant/techo.local
$ vagrant up
余談
シェルで生活しようとすると、Vagrantが都度仮想マシンをどうこうする時に仮想マシンの置いてあるディレクトリに移動させる思想というか意味が何となく分かってきた。
カレントディレクトリ=作業対象なんだな。
コンソール画面一つと、作業対象の仮想マシンが対になってる。
又はサーバー毎の作業を直列的に実施することを強制される。
これは手動操作時は事故防止に役立つし、スクリプトで複数サーバーの操作を自動化しやすい。
Aサーバーを触ります⇒Aディレクトリに移動します。
- Aサーバーの仮想マシンを起動します ⇒ vagrant up
- Aサーバーに接続します ⇒ vagrant ssh
- 作業終了 ⇒ exit, vagrant halt
Bサーバーを触ります⇒Bディレクトリに移動します。
- Bサーバーの仮想マシンを起動します ⇒ vagrant up
- Bサーバーに接続します ⇒ vagrant ssh
- 作業終了 ⇒ exit, vagrant halt
なるほど、と勝手に感心した。
昨日までは「何で引数に仮想マシン名とかディレクトリがねぇんだよ。ダサっ」と思っていた。
浅はかでサーセン!出直してきます!