こんにちは。つーびー (tsuBee5) です!
ここ最近 Linux やらネットワークについて勉強始めました!!
でも問題がありまして。。そう、環境構築がなかなか面倒くさい。
そこで Vagrant という良いもの見つけたので、紹介していきたいと思います!
Vagrant (べぃぐらんと)とは?
Vagrant のホームページはココ
サンフランシスコを拠点とした HashiCorp 社の製品で日系と思われる橋本ミッシェルさん達が 2012 年の設立した会社のオープンソース製品になります。
何ができる?
ちょー簡単に言うと、仮想環境の構築を効率化してくれるツールです。
仮想環境を構築するには別のツールが必要で VirtualBox や VMWare などを利用することになります。
何が便利なのか?
一番のメリットは OS から仮想環境をサっと構築できるになります。
他にもたくさんメリットはあります。例えば、
- LAMP, LEMP, MEAN など色んなスタックの環境をサクッと作って試せる
- 思いたったら 1 分以内には使いたい仮想環境を構築できる
- 「nginx ってなんだ!使ってみたい」→ ソッコーで構築できる
- ちょっとした確認やテストをする際、壊れても良い環境が構築できる
- 例: 本番環境で動作を確認する前に、テスト環境でテストしておきたいですよね?
- チームで開発している場合、同じ環境を構築できる
- 「オラの環境では動いてただよ。お前の環境が悪いんでねーか?」ということがなくせる
- 環境構築を自動化できる
実際のコードは、
- Step1: Box の設定 (名前とダウンロード先)
vagrant box add [title] [url]
- Step2: Vagrantfile という各種設定ができるファイルを生成
vagrant init [title]
- Step3: 起動
vagrant up
すごい簡単ですね。
実際に触って見よう
では実際に Windows 7 の環境にインストール使ってみましょ。こちらが必要なものになります。
- VirtualBox
- Vagrant
- Box
- Putty or Git Bash
- Windows から Linux に接続するための SSH クライアントです
VirtualBox のインストール
まずは、仮想環境を構築するツールをダウンロードします。下記サイトから VirtualBox をダウンロードしましょ。
Downloads – Oracle VM VirtualBox
Vagrant の インストール
次に Vagrant をダウンロード・インストールします。
インストールになかなかの時間がかかりますけど、気長に待ちましょ。。
Vagrant を使って仮想環境を構築するには Box と呼ばれるテンプレートを利用することになります。既にたくさんの Box が準備されています (もちろん自作も可能です)。
- https://app.vagrantup.com/bento
- https://app.vagrantup.com/boxes/search
- 上記 2 つは ‘vagrant add’ が不要なので、環境構築が楽です。
- http://www.vagrantbox.es/
これでやっと環境は準備はできました!では早速いろんな環境をインストールしていきましょ!
Vagrant から Ubuntu 環境を構築
まず、Bento Box のサイトから Ubuntu を探しましょ。
Ubuntu-17.04 の場合は下記の様になります。コマンドラインからカレントを任意に変更し、下記コマンドを実行します。
vagrant init bento/ubuntu-17.04 \
--box-version 2.3.7
このコマンド実行で Vagrantfile が生成されます。このファイルをもとに仮想環境を構築するので、テキストファイルに下記をコピペの手作業で作成しても問題ありません。
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-17.04"
config.vm.box_version = "2.3.7"
end
Vagrantfile が生成できましたら、あとは起動するのみです。しかも下記 1 ラインのみ!!
vagrant up
実行後は、ダウンロードが始まり仮想環境が起動します (すげーー楽!)。Windows の場合は SSH による接続が必要になります。
vagrant ssh
Putty や Git bash などの SSH クライアントから接続する場合は、コマンド出力結果から接続情報を確認できます。
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
コマンドからの接続は下記の様になります。
//Git bash からの接続の場合: @ -p ssh vagrant@127.0.0.1 -p 2222
パスワードも vagrant です。
いやー、すごいですね。ちょー簡単。。
終了する場合
vagrant hault
環境を削除する場合
vagrant destroy
いやー、ホントすごい。。
エラーがでた場合①: OS が仮想環境の構築を許可していない
だーー!全然接続できない!!
VirtualBox から接続するとこんなダイアログが!!
って人は、BIOS から設定が必要である可能性があります。PC によると思いますが、BIOS から仮想化を **有効** にする必要があります (これまで初期状態から有効だった PC なかったですけど。。)。なので、「全然起動しない!」と思ったら BIOS 設定を見直してみてください。
エラーがでた場合②: Powershell のバージョンが低い
Windows 7 で 特に何もしていなければ、Powershell のバージョンは 2.0 です。ですが、Vagrant では最低でも 3.0 が必要なので、アップグレードする必要があります。(Vagrant はコマンドプロンプトからも実行できますが、Vagrant 側が Powershell を実行しています。)
必要なモジュールは マイクロソフトのオフィシャルページ からダウンロードできます。
公式ページにもありますが PowerShell 専用のインストーラーはありません。WMF (Windows Management Framework) の一部として提供しています。WMF と Powershell のバージョンは合っていますので、3.0 以上にアップグレードすればエラーはなくなります。
ヒント: WMF をインストールする際、いくつかある *.msu ファイルの内インストール時にエラーがでるものがあります。インストールできるものをインストールすれば OK ですので、エラーがでても他の *.msu を実行していきましょ。
まとめ
これから Linux やネットワークの勉強するには大変助かりますね。
他にも頻繁に利用しそうなコマンドは下記になります。これからどんどん色んな環境を試していきたいですね!
#コマンド一覧を表示するコマンド
vagrant list-commands
#ヘルプ
vagrant -h
#仮想マシンの起動。
vagrantfile のあるディレクトリ内で実行
vagrant up
#仮想マシンの終了 (シャットダウン)
vagrant halt
#仮想マシンの一時停止
vagrant suspend
#仮想マシンの一時停止から復帰
vagrant resume
#仮想マシンの再起動
vagrant reload
#仮想マシンの削除 ( box は消えない)
vagrant destroy
#仮想マシンのステータスを表示
vagrant status
#全仮想マシンの一覧
vagrant global-status
#バージョン確認 + 最新バージョンの表示 (vagrant -v はバージョン確認のみ)
vagrant version
Vagrantfile で Linux, Apache, MySQL, PHP (LAMP) を一括構築! で実際に LAMP スタックを作成しています。こちらの見て下さいね!
では、また!