OS X Sierra / Vagrant VCCW v3 / Wordmoveでハマる

そのアップデート…迂闊だな!
Sierraで今まで動いていたVagrant / VCCWが動かなくなって1週間程ナンギしました。

備忘録と誰かのために!

構築環境

Mac Pro 2009 / OS X Sierra
Vagrant 1.8.7
Vagrant Box vccw-team/xenial64
VCCW v3.0.3

「Box addでコケる」
最初にツマヅク幸先の悪さ。
http://qiita.com/KonishiYudai/items/6a473ca20254a1e2fbe6
先人に感謝を!

$ sudo rm /opt/vagrant/embedded/bin/curl

wordmoveでpullすると、permission deniedがでる

ここからが長かった…Vagrant / VCCWは無事起動するも、サーバデータが引っ張れない。
以前上手くいっていた設定で [wordmove pull –all] を行っても、何故かpermission desiniedが多発する。

結論

VCCW3で再構築する際は、以前まで使っていた[Movefile]を一度退避させる。
local:のwordpress_pathが自分で意識している場所と異なっている場合があります。
vagrant provisionで[Movefile]が再度書き出されると、wordpress_pathが正しい記述になります。
この状態でdatabaseの設定等を行うことで、permission deniedがでなくなります。

さくらインターネットのDBを引っ張れない

さくらのインターネットのDBをそれでも引っ張れない時がありました。
これは[Movefile] database項目(接続先側)host設定の後ろに

charset: "utf8"

を追記して解決する場合があります。

もし解決しない場合は、
同じく[Movefile]のdatabase項目(接続先側)に初期で記載してある

port: "3308" # Use just in case you have exotic server config
mysqldump_options: "--max_allowed_packet=50MB" # Only available if using SSH

の先頭に#をつけてコメントアウトします。

#port: "3308" # Use just in case you have exotic server config
#mysqldump_options: "--max_allowed_packet=50MB" # Only available if using SSH

protocolエラーが出る場合

さくらインターネットにVCCW3で接続すると、転送プロトコルが古いみたいなエラーが出る場合があります。
その場合は、[Wordmove]のssh設定箇所のrsync_optionsに

rsync_options: --verbose  --protocol=30

で回避できます。

DBがutf8mb4になってしまいpushできない場合

ストレスマッハな案件です。
VCCW3のwordpressにサーバーデータを普通にpullすると、文字コードを最新にしてしまう場合があります。
その場合古いさくらのサーバにはpushできませんでした。
これを直すのが異常にめんどくさいのです。

phpmyAdminをvccwで使う

このやり方もわかる人にはわかるんだろうけど、どこ検索しても省略して書かれててストレスが高い。
なので、超分かりやすく解説。

  1. phpmyadminをダウンロード
  2. ダウンロードして解凍したフォルダを作業フォルダにコピーする(フォルダ名はphpmyadminとかに)
    (これが分かりづらいですが、vagrantfileとかsite.yml、Movefileがあるフォルダです。もっと分かりやすくいうと、vagrant upする時使うフォルダ)
  3. vagrant upした後に、vagrant sshでssh接続状態に
  4. cd /vagrant/phpmyadmin

    でフォルダを移動

  5. php -S 192.168.xxx.xxx:8888

    site.ymlのnetwork settingで指定しているIPアドレス+:8888を指定

  6. ブラウザで上のIPアドレスを入力 IDとPASSはwordpress(初期設定) もしわからなければ[Movefile]にローカル設定が記載されています。

これでphpmyadminが使用可能になります。
次に

  1. wordpressのテーブルを選択して、エクスポートをクリック
  2. エクスポート方法が下にあるので、[詳細 – 可能なオプションをすべて表示]にチェックを入れる
  3. 「フォーマット特有のオプション」にて「他のデータベースシステムまたは古い MySQL サーバとの互換
    性:NONE」となっているところを「MYSQL40」に変更
  4. 実行をクリックしてエクスポート
  5. 書き出されたSQLファイルをエディターで開き、[TYPE = InnoDB]を[ENGINE=InnoDB]に置換する。
  6. 既存のテーブルを全部削除して、utf8でインポートする

これで解決できました。

困った方の役に立てば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です