2020/05/20 2:09
[Wordpress]VagrantとVirtualBoxとVCCW使用時のエラーの対策やチェックポイント等
追記:2022/8/28
今年の6月頃からVCCWでのファイル新規作成ができなくなりました。
原因は不明ですが、現在管理人はVagrantとVirtualBoxとVCCWでのWordpressローカル環境構築を使用しておりません。
同様に利用できなくなったという方はDockerでのローカル環境構築をオススメします。
VagrantでのWP開発の便利さを覚えてまだ3年ですが、まだまだ普及させていきたいと考えております。
今回はよくある「Vagrant使用時のエラー」についてご紹介します。
対策や注意点、チェックポイント等を書いてみたいと思います。
導入の時点でのチェックポイント(vagrant upでのエラー)
まず最初にオススメのバージョン構成がコチラです。
・Vagrant v1.9.4
・Virtual Box v5.1.30
・Git v2.15.1.2
・Ruby v2.5.0
・VCCWファイル v3.18.0
もちろんこれ以外での組み合わせでも動きますが、取り合えず私はこれで何台ものPCへと長年導入してきましたのでオススメしてます。
取り合えず上記のソフトがちゃんと入ってる前提で進めます。
VCCWフォルダ内の「provision > default.yml」内
・Vagrant Boxがちゃんと入ってないパターン
centos7ってやつが主流だったのですが、もしバグるようでしたらお試しください。
バージョンによるのか分からないですが、「xenial64」っていうのが安定して使えるかもです。
「vccw-team/xenial64」をVagrant Boxとして使う
下記を取り合えず順番にやってみる
【コマンドプロンプト(ターミナル)】
vagrant box add vccw-team/xenial64
↑または↓
vagrant box add vccw-team/xenial64 https://vagrantcloud.com/vccw-team/boxes/xenial64/
その後に↓
vagrant init vccw-team/xenial64
そしてアップしてみる↓
vagrant up
公式 : https://app.vagrantup.com/vccw-team/boxes/xenial64
・hostsファイルへの追記が必要なパターン
※Windowsのみかも
プラグインを入れる事で不要との事ですが、私は使ってなくてhostsファイルへ追記してます。
ファイルの場所
「C:\Windows\System32\drivers\etc\」
この中にある「hosts」というファイルへdefault.ymlで設定したipとhostnameの記述が必要となります。
記述例
【hosts】
192.168.33.11 myblog.test
※権限の問題で直接上書き保存ができない場合がありますので、ファイル自体をコピーしてファイル毎上書きする感じでOKです
・階層が合ってない問題
「vagrant up」を実行する時のコマンドプロンプト内での階層は合ってますか?
VCCWファイルの階層に入ったとこでコマンドを実行してください。
例えばVCCWフォルダの名前をmyblogにリネームした場合の例だと
C:\Users\【PCのユーザー名】\Desktop\myblog>
こういった階層になるはずです。
※階層移動には「cd 【フォルダ名】」コマンドを使います
※上の階層に上がるには「cd ../」と書いてコマンド実行します
・仮想化支援機能の問題
これもWindowsのみかも。
仮想化支援機能ってのがうまく使えない場合はPCの設定の問題があるかもです。
BIOSの設定で仮想化支援機能が無効になってる可能性があります。
「仮想化支援機能 BIOS」とかで検索するとPCのメーカー毎に説明記事とか出ますので、それらを参考にBIOS内で有効にしてみて下さい。
この辺はIntelかAMDかで内容が変わってくるんで各自で調べた方がいいです。
つまり、ソフトとかの導入は完璧でファイル記述もコマンド入力も完璧の状態なのに、PC自体の設定でそれらが使えない状況になってるだけって事です。
・vccwのバージョンとの相性問題
私の推奨のVCCWのバージョンが「3.18.0」なのですが、もし他のバージョンを使っている場合は変更してみるのもいいかもしれません。
さらにチェックしてみて欲しい箇所がありまして…
Vagrantfileの中にこういう記述が複数あります。
【Vagrantfile】
ansible.compatibility_mode = "2.0"
↑これが書かれてる行を全て(3ヵ所)↓
# ansible.compatibility_mode = "2.0"
こういう形でコメントアウトしてみてください。
vagrant ssh接続でのエラー
SSH接続でのエラーと、接続後のWordmoveコマンド時のエラー等の話です。
・接続と階層移動
まず
vagrant ssh
を実行した後に必ず
cd /vagrant
でvagrant階層へと入ってください。
接続と階層移動が成功すれば
こんな感じになってるはずです。
vagrant@myblog:/vagrant$
・Movefile.ymlの記入ミス問題
だいたいSSHでうまくいかない時はこれが90%です。
Movefileはけっこうシビアで、インデント1つ間違えただけで動かないパターンもあるので気を付けましょう。
・Rubyのpathが通ってない問題
Rubyのインストールの時に「Rubyの実行ファイルへ環境変数PATHを設定する」にチェックを入れてれば恐らくOKのはずですが、万が一忘れている場合もあります。
pathの確認はPC画面の左下Windowsマーク(スタート)を右クリックして「システム」を選択。
そこから進んでいけます。
pathという項目を「編集」で開いて一覧を確認できるので、その中に
C:\Ruby23\bin
みたいな項目があれば大丈夫かと思います。
もしそれっぽいのがなければ手動で追記するか、Ruby自体を一度アンインストールして入れ直す事をオススメします。
Wordmoveコマンドでのエラー
・よくあるエラーやミス
よくあるのが単純にタイポ(打ち間違い)ですが、それ以上によくあるのが
「コマンドは合ってるのにpushできない、またはpullできない」という致命的なエラーです。
どういう事かと言うと、コマンド自体は合ってるのですが、そのコマンドに対して100%の反映をしてくれないというパターンです。
特に「初めてpull --allでサーバーからローカルに落とす場合」によく経験します。
これは恐らくですがファイル数が多すぎて一度では落ち切れないパターンなのかなと。
一度落としてしまえば次回からはその差分のみのpushやpullなので、そんなにファイル数は多くないと思うのですが、どうも初回は一度で落ち切れない事が多いので気をつけましょう。
コマンド内に
from~~~~
from~~~~
from~~~~
from~~~~
from~~~~
from…
というような記述が出たら要注意です。これエラーの時の内容です。
データベースが落ち切れない、またはアップしきれてない場合によく出ます。
回線が不安定な時とかも出る気がするので気をつけましょう。
vagrant destroy時の注意点
「ファイルを作り直したい」とか、「何か挙動がおかしいから一度ファイルを綺麗にしたい」等、そんな時に新しくVCCWフォルダから作り直したりすると思うのですが、その時に「vagrant destroy」コマンドを使います。
もしデストロイして削除しても、削除しきれてないパターンというのが存在します。
その場合は手動での削除が必要となりますので「VirtualBox VMs」フォルダ内をチェックして、目的のフォルダを削除しましょう。
「VirtualBox VMs」フォルダがどこにあるかはVirtualBoxの設定によります。
まとめ
他にもエラーやトラブルは多々ありますが、一度安定すればバージョン変更等をしない限りはずっと使っていけるはずです。
まずはローカル環境を整えられるまで諦めずにトライしてみて欲しいと願ってます。
では現場から以上です!
関連記事
Vagrant導入から使い方までを説明している記事です。
順番が違うだけでどちらからやってもゴールは同じです。
・Vagrantから始めてローカル環境→サーバーアップする順番の時はコチラ
[Windows10版]VCCW+VAGRANT+VirtualBox WordPressローカル環境構築【新規作成編】
https://phper.pro/471
・既にサーバー上にサイトを持ってて、それをVagrantを使ってローカルで落として作業する順番の時はコチラ
[Windows10版]VCCW+VAGRANT+VirtualBox WordPressローカル環境構築
1554