最近、PCやMacの環境を作り直したのですが、その際に問題になったのがVCCWでした。
VCCWは、VagrantとVirtualBoxを使って、WordPressの仮想環境をつくるツールです。以前は、MacのOSがLinuxに近いことから、ローカル環境上にApacheやMySQLを導入し、WordPressの開発環境をつくるのがふつうだったのですが、最近はほとんどVCCWに置き換わりました。
VCCWなら、Macでなくても、ふつうのWindows PCでも同様の環境ができるのもメリットです。
初回のvagrant upが終わらない
さて、問題というのは、VCCWの初回の環境作成(vagrant up)が終わらないというもので、下図のようなメッセージが出て、エラーになってしまいます。
Authentication failure. Retrying… というメッセージが続いて、そのままエラーになってしまいます。
この画面はMacのものですが、Windowsでも同様でした。
ちなみに、使用しているバージョンは下記のとおりです。
VirutalBox 5.1.2
Vagrant 1.8.5
VCCW 2.21.0
原因はauthorized_keysのパーミッション
ログのメッセージを見る限り、VirtualBox上の仮想環境(Linux)にログインできていないわけです。
VirutalBoxのウィンドウを開いて見る限り、仮想環境そのものは起動しているので、vagrant sshでログインしてみます。
すると、パスワードが聞かれますが、ログインはできるんですね。(デフォルトパスワード:vagrant)
VCCWでは仮想環境にSSH公開鍵認証でログインするので、その際に使用するファイルのパーミッションを見てみます。
仮想環境側(ログインされる側)の、~/.ssh/authorized_keys のパーミッションが664になっています。
それでは公開鍵認証でのログインが失敗するのは当然のことで、600に変更してみます。
あとは、仮想環境を抜けて、一旦、vagrant haltで仮想環境を終了し、再度、vagrant upしてみたところ、SSHログインが成功し、以後のChefによる自動の環境構築が動き始めました。
ということで、バージョンアップでいずれ解決しそうな問題ではありますが、当面は、この方法で回避することができます。(一度、パーミッション変更をすれば、その環境においては再発はしません。)