bz0のにっき

quick and dirty prototype

Virtualbox+Vagrantで開発環境を作る

ローカルの開発環境にする為に利用します。

環境

Windows7

バージョン

現在

※2017/10/1現在

Windows10にアップグレードしてから、OS固有のエラーが出るようになった為
バージョンアップしてみました。やってみた感じ、下記バージョンであれば動きました。

VirtualBox 5.1.28
Vagrant 1.9.5

参考:
現在のVagrantとVirtualBoxのバージョン相性(Windows) - Anything Ota

旧版

バージョンが新しいものを使うとエラーになり、対処が手間だったので
少し古いバージョンのものを利用しています。
VirtualBoxをVagrantで動かすエラーになる件 - Qiita

Download_Old_Builds_5_0 – Oracle VM VirtualBox

※5.0.30でも試してみましたが大丈夫でした。

Vagrant Versions | HashiCorp Releases

windows環境では、下記を選択します。
vagrant_1.8.4.msi


参考:Windows10 64bitにVagrant/VirtualBoxを導入する方法(2016年8月版まとめ) - MOERUZE Blog

A list of base boxes for Vagrant - Vagrantbox.es

設定

sshログイン

vagrant sshすることで、sshでログインするときに
必要なIPやユーザID・パスワードを確認できます。

vagrant ssh

Vagrantで共有フォルダを設定してみる - Qiita

ディレクトリの共有

vagrantの共有フォルダ設定 - Qiita


config.vm.synced_folder "../html", "/var/www/html/"

ローカルディレクト

・vagrantfile C:\centos6
・htmlディレクトリ C:\html

スタートアップ設定

windowsの起動後、コマンドプロンプトを立ち上げて
vagrant up」するのも手間です。

自動で、「vagrant up」してくれるbatファイルを作成して
スタートアップ設定を行います。

cd "[vagrantfileのディレクトリを指定]"
vagrant up

スタートアップ設定(windows10の場合):


アクシデント

キャッシュが消えない

jsやcssなどが、修正してもそれが反映されないということがありました。
httpd.confを修正すると直りました。
静的ファイルがキャッシュされる(ブラウザキャッシュじゃない場合) - Qiita

rootになれない

http://highshow.hateblo.jp/entry/2016/04/29/220040

$ su -
Password:
su: incorrect password

エラーになる。

# sudo su

vagrant addで失敗する

実行したコマンドは下記でした。

vagrant box add centos6.7 https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box
C:\xxx>vagrant box add centos6.7 https://github.com/CommanderK5/pack
er-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'centos6.7' (v0) for provider:
    box: Downloading: https://github.com/CommanderK5/packer-centos-template/rele
ases/download/0.6.7/vagrant-centos-6.7.box
    box:
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

windowsの場合の対処
http://qiita.com/okamoto0/items/a140f3705366486fbefc

Microsoft Visual C++ 2010 再頒布可能パッケージ
が足りないらしい。2010に拘る必要ないと思うが

下記をインストールして解決しました。
https://www.microsoft.com/ja-jp/download/details.aspx?id=14632

PHP等でのリクエストが重い

APIのリクエスト等が異常に重い場合は下記を試してみる。
Vagrantのネットワーク処理が異常に遅い場合の解決策 - Qiita

windows10で嵌ったこ

vagrant up」するとエラーになる。
windows10特有のエラーのようです。下記リンクを参考に対処します。(暫定対処)

上記暫定対処だと、「vagrant up」するときに配布されているexe実行が必要になるようです。
根本対処したい場合は、バージョンアップした方がいいです。

C:\vagrant\test>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set network interfaces...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "create"]

Stderr: 0%...
Progress state: E_FAIL
VBoxManage.exe: error: Failed to create the host-only adapter
VBoxManage.exe: error: Querying NetCfgInstanceId failed (0x00000002)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleCreate(struct HandlerArg *)" at line 71 of file VBoxManageHostonly.cpp

Windows8.1 から Windows10 にUpgrade して発生したvagrantのエラー - Qiita