【更新】VCCWで新規追加の際失敗すると思ったら電光石火のアップデートで快適に使えるようになった 😍

VCCWの作者の宮さんのおかげでVCCWはv3.3.0へアップデート!!
squizlabs/php_codesnifferのバージョンを2.9固定?にして無事vagrant upでエラーなしとなりました 😀

本当にありがとうございます!!!!!!!

  • Vagrant 1.9.5
  • VirtualBox バージョン 5.1.22 r115126 (Qt5.6.2)

の構成で、新規にサイトを作成する際、TASK [Install Composer libraries]のタスク部分で、以下のメッセージが出た 😵

...ignoring
failed: [vccw3.dev] (item=wp-coding-standards/wpcs:*) => {"failed": true, "item": "wp-coding-standards/wpcs:*", "msg": "./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - Conclusion: remove squizlabs/php_codesniffer 3.0.0 - Conclusion: don't install squizlabs/php_codesniffer 3.0.0 - wp-coding-standards/wpcs 0.3.0 requires squizlabs/php_codesniffer ~2.0 -> satisfiable by squizlabs/php_codesniffer[2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1]. - wp-coding-standards/wpcs 0.4.0 requires squizlabs/php_codesniffer ~2.0 -> satisfiable by squizlabs/php_codesniffer[2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1]. - wp-coding-standards/wpcs 0.5.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1]. - wp-coding-standards/wpcs 0.6.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1]. - wp-coding-standards/wpcs 0.7.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1]. - wp-coding-standards/wpcs 0.7.1 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1]. - wp-coding-standards/wpcs 0.8.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1]. - wp-coding-standards/wpcs 0.9.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1]. - wp-coding-standards/wpcs 0.10.0 requires squizlabs/php_codesniffer ^2.6 -> satisfiable by squizlabs/php_codesniffer[2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1]. - wp-coding-standards/wpcs 0.11.0 requires squizlabs/php_codesniffer ^2.8.1 -> satisfiable by squizlabs/php_codesniffer[2.8.1, 2.9.0, 2.9.1]. - Can only install one of: squizlabs/php_codesniffer[2.0.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.1.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.2.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.3.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.3.1, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.3.2, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.3.3, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.3.4, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.4.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.5.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.5.1, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.6.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.6.1, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.6.2, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.7.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.7.1, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.8.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.8.1, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.9.0, 3.0.0]. - Can only install one of: squizlabs/php_codesniffer[2.9.1, 3.0.0]. - Installation request for squizlabs/php_codesniffer (locked at 3.0.0, required as *) -> satisfiable by squizlabs/php_codesniffer[3.0.0]. - Installation request for wp-coding-standards/wpcs * -> satisfiable by wp-coding-standards/wpcs[0.10.0, 0.11.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.7.1, 0.8.0, 0.9.0]. Installation failed, reverting ./composer.json to its original content.", "stdout": "./composer.json has been updated\nLoading composer repositories with package information\nUpdating dependencies (including require-dev)\nYour requirements could not be resolved to an installable set of packages.\n\n  Problem 1\n    - Conclusion: remove squizlabs/php_codesniffer 3.0.0\n    - Conclusion: don't install squizlabs/php_codesniffer 3.0.0\n    - wp-coding-standards/wpcs 0.3.0 requires squizlabs/php_codesniffer ~2.0 -> satisfiable by squizlabs/php_codesniffer[2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].\n    - wp-coding-standards/wpcs 0.4.0 requires squizlabs/php_codesniffer ~2.0 -> satisfiable by squizlabs/php_codesniffer[2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].\n    - wp-coding-standards/wpcs 0.5.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].\n    - wp-coding-standards/wpcs 0.6.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].\n    - wp-coding-standards/wpcs 0.7.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].\n    - wp-coding-standards/wpcs 0.7.1 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].\n    - wp-coding-standards/wpcs 0.8.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].\n    - wp-coding-standards/wpcs 0.9.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].\n    - wp-coding-standards/wpcs 0.10.0 requires squizlabs/php_codesniffer ^2.6 -> satisfiable by squizlabs/php_codesniffer[2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].\n    - wp-coding-standards/wpcs 0.11.0 requires squizlabs/php_codesniffer ^2.8.1 -> satisfiable by squizlabs/php_codesniffer[2.8.1, 2.9.0, 2.9.1].\n    - Can only install one of: squizlabs/php_codesniffer[2.0.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.1.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.2.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.3.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.3.1, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.3.2, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.3.3, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.3.4, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.4.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.5.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.5.1, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.6.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.6.1, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.6.2, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.7.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.7.1, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.8.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.8.1, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.9.0, 3.0.0].\n    - Can only install one of: squizlabs/php_codesniffer[2.9.1, 3.0.0].\n    - Installation request for squizlabs/php_codesniffer (locked at 3.0.0, required as *) -> satisfiable by squizlabs/php_codesniffer[3.0.0].\n    - Installation request for wp-coding-standards/wpcs * -> satisfiable by wp-coding-standards/wpcs[0.10.0, 0.11.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.7.1, 0.8.0, 0.9.0].\n\n\nInstallation failed, reverting ./composer.json to its original content.\n", "stdout_lines": ["./composer.json has been updated", "Loading composer repositories with package information", "Updating dependencies (including require-dev)", "Your requirements could not be resolved to an installable set of packages.", "", "  Problem 1", "    - Conclusion: remove squizlabs/php_codesniffer 3.0.0", "    - Conclusion: don't install squizlabs/php_codesniffer 3.0.0", "    - wp-coding-standards/wpcs 0.3.0 requires squizlabs/php_codesniffer ~2.0 -> satisfiable by squizlabs/php_codesniffer[2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].", "    - wp-coding-standards/wpcs 0.4.0 requires squizlabs/php_codesniffer ~2.0 -> satisfiable by squizlabs/php_codesniffer[2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].", "    - wp-coding-standards/wpcs 0.5.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].", "    - wp-coding-standards/wpcs 0.6.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].", "    - wp-coding-standards/wpcs 0.7.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].", "    - wp-coding-standards/wpcs 0.7.1 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].", "    - wp-coding-standards/wpcs 0.8.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].", "    - wp-coding-standards/wpcs 0.9.0 requires squizlabs/php_codesniffer ~2.2 -> satisfiable by squizlabs/php_codesniffer[2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].", "    - wp-coding-standards/wpcs 0.10.0 requires squizlabs/php_codesniffer ^2.6 -> satisfiable by squizlabs/php_codesniffer[2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.8.0, 2.8.1, 2.9.0, 2.9.1].", "    - wp-coding-standards/wpcs 0.11.0 requires squizlabs/php_codesniffer ^2.8.1 -> satisfiable by squizlabs/php_codesniffer[2.8.1, 2.9.0, 2.9.1].", "    - Can only install one of: squizlabs/php_codesniffer[2.0.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.1.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.2.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.3.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.3.1, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.3.2, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.3.3, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.3.4, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.4.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.5.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.5.1, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.6.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.6.1, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.6.2, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.7.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.7.1, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.8.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.8.1, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.9.0, 3.0.0].", "    - Can only install one of: squizlabs/php_codesniffer[2.9.1, 3.0.0].", "    - Installation request for squizlabs/php_codesniffer (locked at 3.0.0, required as *) -> satisfiable by squizlabs/php_codesniffer[3.0.0].", "    - Installation request for wp-coding-standards/wpcs * -> satisfiable by wp-coding-standards/wpcs[0.10.0, 0.11.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.7.1, 0.8.0, 0.9.0].", "", "", "Installation failed, reverting ./composer.json to its original content."]}

…長いっすね。。。
更に、TASK [Install Ruby gems]でも

changed: [vccw3.dev] => (item=bundler)
...ignoring
failed: [vccw3.dev] (item=wordmove) => {"cmd": "/usr/bin/gem install --version 2.0.2 --user-install --no-document wordmove", "failed": true, "item": "wordmove", "msg": "WARNING:  You don't have /home/vagrant/.gem/ruby/2.3.0/bin in your PATH,\n\t  gem executables will not run.\nERROR:  Error installing wordmove:\n\tphotocopier requires Ruby version ~> 2.4.", "rc": 1, "stderr": "WARNING:  You don't have /home/vagrant/.gem/ruby/2.3.0/bin in your PATH,\n\t  gem executables will not run.\nERROR:  Error installing wordmove:\n\tphotocopier requires Ruby version ~> 2.4.\n", "stdout": "Successfully installed colorize-0.8.1\nSuccessfully installed thor-0.19.4\nSuccessfully installed i18n-0.8.1\nSuccessfully installed thread_safe-0.3.6\nSuccessfully installed tzinfo-1.2.3\nSuccessfully installed concurrent-ruby-1.0.5\nSuccessfully installed activesupport-5.1.1\nSuccessfully installed net-ssh-4.1.0\nSuccessfully installed net-scp-1.2.1\nSuccessfully installed net-ssh-gateway-2.0.0\n", "stdout_lines": ["Successfully installed colorize-0.8.1", "Successfully installed thor-0.19.4", "Successfully installed i18n-0.8.1", "Successfully installed thread_safe-0.3.6", "Successfully installed tzinfo-1.2.3", "Successfully installed concurrent-ruby-1.0.5", "Successfully installed activesupport-5.1.1", "Successfully installed net-ssh-4.1.0", "Successfully installed net-scp-1.2.1", "Successfully installed net-ssh-gateway-2.0.0"]}

っと…😵

一先ず、WordMoveは動くようになった

“Error installing wordmove:tphotocopier requires Ruby version ~> 2.4.”って言っているので、vagrant sshでログイン後、

sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.4 ruby2.4-dev
ruby2.4 -v

とした後、ログアウトし、”vagrant provision”で、WordMoveちゃんと入った 😀

TASK [Install Composer libraries]の方は、

WordPress-Coding-Standards/WordPress-Coding-Standards: PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions

Requirements

The WordPress Coding Standards require PHP 5.2 or higher and the PHP_CodeSniffer version 2.9.0 or higher. The WordPress Coding Standards are currently not compatible with the upcoming PHPCS 3 release.

ってあるから、それが原因かなぁと思っているところ。

provision後はWordMove使えてるから一先ず作業はできる。
rubyをインストールする部分のコードを読んで、2.4が入るようになればいいのかなぁ…。

phpcsの方は、金曜日作ったローカル環境が、

  • PHP_CodeSniffer version 3.0.0 (stable) by Squiz (http://www.squiz.net)

コケずにスムーズに作成されていたときのバージョンが、

  • PHP_CodeSniffer version 2.7.1 (stable) by Squiz (http://www.squiz.net)

ってことで、vccwを作成する際に3.0.0以下のバージョンを指定するか、site.yml内でコメントアウトするか悩み中……。

rubyも2.4指定でvccw内にインストールできるのか調べなきゃだ 😅

参考

別の更新が現在進行中です。

wp core upadte –locale=ja –force && wp core update-db && wp core language update

と打っちゃいました。。。( ꒪⌓꒪)
ほんと、tab補完を使いましょう(俺だよ)。

Error: 'upadte' is not a registered subcommand of 'core'. See 'wp help core'.

ごめんなさい、ごめんなさい。。
気を取り直して、改めて入力しなおすと、

Updating to version 4.7.2 (ja)...
Error: 別の更新が現在進行中です。

…と。。

前にも出たことはあったんですが、特に調べもせずだったので、ググってみると、結構皆さんハマってらっしゃるようで、沢山記事出てました。

参考 : WordPressの更新で”別の更新が現在進行中です。”エラーが出るときにすべき事

ありがとうございます!!!
ということで、15分待てばOKみたいですが、そんな待てない。。

参考 : WordPress「別の更新が現在進行中です。」の対処方2つ | Thought is free

  • DB から core_updater.lock を消す

これですね 😀

ということで、ローカル(VCCW)でやっていたので、

mysql -u wordpress -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 31
Server version: 5.7.16-0ubuntu0.16.04.1 (Ubuntu)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| wordpress          |
+--------------------+
2 rows in set (0.00 sec)

mysql> use wordpress;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;
+-----------------------+
| Tables_in_wordpress   |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_termmeta           |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+
12 rows in set (0.00 sec)

mysql> select * from wp_options where option_name = 'core_update.locl';
Empty set (0.00 sec)

mysql> delete from wp_options where option_name = 'core_updater.lock';
Query OK, 1 row affected (0.01 sec)

えーっと、タイプミスひどいですね…😅
これで、「別の更新が現在進行中です。」は消えました 😀

タイプミスは気をつけないとですね…😅

自分もCoreを確認してみる

/**
	 * Creates a lock using WordPress options.
	 *
	 * @since 4.5.0
	 * @access public
	 * @static
	 *
	 * @param string $lock_name       The name of this unique lock.
	 * @param int    $release_timeout Optional. The duration in seconds to respect an existing lock.
 *                                Default: 1 hour.
	 * @return bool False if a lock couldn't be created or if the lock is still valid. True otherwise.
	 */
public static function create_lock( $lock_name, $release_timeout = null ) {
	global $wpdb;
	if ( ! $release_timeout ) {
		$release_timeout = HOUR_IN_SECONDS;
	}
	$lock_option = $lock_name . '.lock';

	// Try to lock.
	$lock_result = $wpdb->query( $wpdb->prepare( "INSERT IGNORE INTO `$wpdb->options` ( `option_name`, `option_value`, `autoload` ) VALUES (%s, %s, 'no') /* LOCK */", $lock_option, time() ) );

	if ( ! $lock_result ) {
		$lock_result = get_option( $lock_option );

		// If a lock couldn't be created, and there isn't a lock, bail.
		if ( ! $lock_result ) {
			return false;
		}

		// Check to see if the lock is still valid. If it is, bail.
		if ( $lock_result > ( time() - $release_timeout ) ) {
			return false;
		}

		// There must exist an expired lock, clear it and re-gain it.
		WP_Upgrader::release_lock( $lock_name );

		return WP_Upgrader::create_lock( $lock_name, $release_timeout );
	}

	// Update the lock, as by this point we've definitely got a lock, just need to fire the actions.
	update_option( $lock_option, time() );

	return true;
}

/wp-admin/includes/class-wp-upgrader.php の826行目〜のWP_Upgraderクラスの中にあるんですね〜😀

VCCWでSiteGuard WP Pluginの画像認証を使えるようにする

設定を保存しました。

この機能を使用するには、httpd.confのAllowOverrideにLimitを指定する必要があります。

この機能を使用するには、httpd.confのAllowOverrideにLimitを指定する必要があります。

VCCWでSiteGuardプラグインを使うと、毎度このアラートが出る。。
ってことで、修正。

/etc/apache2/sites-available/000-default.confを修正。

<Directory /var/www/html>
  Options FollowSymLinks
  AllowOverride FileInfo Options Limit
  # AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

Allに変更。でもって、

sudo /etc/init.d/apache2 restart

※ VCCW3より前のバージョンはちょっと違う。
/etc/httpd/sites-available/wordpress.confを修正。
んで、

sudo service httpd restart

設定を保存しました。

でOK 😀

さくらの共用サーバでssh + wp-cli + WordMoveをセット

例によって、もっと早くやっておけば良かった話。

ありがとうございます!!
今回さくらの共用サーバでの作業になったので、サクッとできないかなぁ…確かやってる方いたよなぁということで、発見しました。っていうか、随分前に読んでたやつですね…読むだけで試していないパターン… (^0^;)

上記2記事の通り設定すれば、あっさりさくらの共用でもwp-cli, wordmove使えます。sshでパスワードを入力する必要もなく、WordMoveもssh使えるので楽ちんだし、コケないし、良いことずくめです。

最近は、AMIMOTO + VCCW + wp-cli + WordMoveを使う機会が多かったので、さくらでも同じようにwp-cliとWordMoveが使えるのはホントありがたいです。感謝っす!!

【旧バージョン】【修正版】VCCW起動時にMailCatcherを起動するエイリアス作ってみた

【更新】2017/02/11

VCCW Ver.3では、デフォルトでMailCatcher動いてます 😄

Checking Email with MailCatcher

※ 注意! こちらはVCCW旧バージョンでのやり方です。Checking Email with MailCatcher

VCCW in MailCatcher最高っす!! あざます!!

ここの所MailCatcherを使うことが多かったので、VCCWを起動後、直ぐに立ち上げたいという欲求が出まして、サクッと起動する方法ないかな〜とあれこれ試してたら、うまく行きました 🙂

※ 上手く動いたのは良かったんですが、宮さんから教えていただいて修正しました。ohaiとか、jqとか勉強になりました。あざます!!

【新】仮想マシンにログイン後、ipを取得してmailcatcherに投げる

vagrant ssh -c で仮想マシンにログイン後、ohaiとjqを使って、ipを取得します。
宮さんから教えていただいたコードはこちら↓↓

activate-mailcatcher/setup.sh at master · vccw-team/activate-mailcatcher

で、ohai と jq 使った方法に書き換えたのがこちら↓↓

チョーシこいてワンライナーにしたのがこちら↓↓

marushu/start-mailcatcher

で、以下はohai?jq?だったので、調べてみました。

ohaiとは?

ohaiはChefがサーバー環境の情報収集のために使うソフトウェアです。
収集できる情報はハードウェアからOS、ネットワークまで一通りの物が対象です。

Chef/初心者向けChef入門講座/ohaiとattributeの自動判定 – インターネットウィキ

とのこと。ohaiとググってオハイオ州が出てきたのは内緒ですw

実際、Mac上でohaiと打ち込んでも、command not found となってしまい、Macにインストールするところから始めました。
あ、VCCWには初めっから入ってます!!

インストールにあたってはコマンドだとどうしてもうまく行かず、以下のサイトからダウンロードしてインストールしました。

Chef Development Kit | Chef Downloads | Chef

参考: 初心者にお勧めするChefの正しいインストール方法 – Qiitaohaiを使ってサーバの情報をプログラムで扱おう – インフラエンジニアway – Powered by HEARTBEATS

インストール後、ohaiとコマンド打ち込んでみたら、しっかり出てきました。フォーマットはjsonです。

ohai
{
"cpu": {
"real": 2,
"total": 4,
"mhz": 2600,
"vendor_id": "GenuineIntel",
"model_name": "Intel(R) Core(TM) i5-4288U CPU @ 2.60GHz",
"model": 69,
"family": 6,
"stepping": 1,
"flags": [
"fpu",
"vme",
"de",
"pse",
"tsc",
"msr",
"pae",
"mce",
"cx8",
"apic",
"sep",
"mtrr",
"pge",
"mca",
"cmov",
"pat",
"pse36",
"clfsh",
"ds",
"acpi",
"mmx",
"fxsr",
"sse",
"sse2",
"ss",
"htt",
"tm",
…と、大量に(^0^;)

特にホスト側に入れる必要は無かったんですが、とりあえず入れて確認。

jqとは?

jqとは、コマンドラインからJSONを操作することができるツールです。
curlコマンドとかでJSONレスポンスを取得した場合、データ量が多いと非常に見づらいデータがかえってきたりして困ります。

jqで簡単JSON加工 | Developers.IO

ってことで、ohai で返ってきたデータをjq使ってフィルタかけて取り出したりできるツールのようです。

参考: jq Manual (development version)

ダウンロード → インストールもあるようですが、僕は今回は brewを使ってインストールしました。

brew install jq

jqは今の僕でもいろいろと使えるかも知れません 🙂
jqの出力はオプションで色つきにもできるようです。

jqを色つきでless表示する – Qiita

政倉さん、あざます!!

ということで、ohaiとjq使って書き換えました〜 🙂
若干遅いのが気になる所なんですが…。。

【古】site.ymlに設定しているip使って起動する方法

えっと、僕は普段新規にVCCWを立ち上げる場合、site.ymlファイルを編集します。ip: も変更しますし、localhostもipと同じ値に設定してます。

こんな設定で使う人あまり居ないかなぁと思いつつ、vagrant sshせずとも良い場合、このやり方が楽ちんでついっすね…^^;

で、VCCWが立ち上がった後、

  • vagrant ssh
  • mailcatcher –http-ip VCCW設定のip

と毎回打ち込むんですが、毎度だと面倒になったので、少しでも楽ちんにしたいなぁと言うことで、エイリアス作ってみました。

これです 🙂
因みに、site.ymlがあるディレクトリでやらないと動かないっす。

やってる内容

  • grep “ip:” site.yml でsite.ymlファイル内のip: がある行を取得
  • tr -d “ip: ” 取り出した行の内容から”ip: “を削除(コレでipのみになる)
  • 順番前後するけど、このipを変数IPへ代入
  • 変数IP使って、vagrant ssh -c “”で、vagrant にsshログイン後、””内のコマンドを実行
  • mailcatcher –http-ip ${IP} 変数IP(site.ymlのip部分)を代入

上記の内容をやってます。ってことでsite.ymlのip:記述が無くならない限り使えます ^^;

他にVCCWで使ってるエイリアス

それくらいやれよ…。。
な内容ですが、ワリと便利に使ってます。

site.ymlを先ず開く(新規VCCW設定の場合)

# vccw site.yml setup
alias vvccww='cd vccw; cp provision/default.yml site.yml; vim site.yml'

vagrant upしてエディタを開く

#vccw quick up
alias vccw-quick='vagrant up; cd www/wordpress; pstorm . '

;で繋いでるだけっすけどね 😛

MailCatcherの終了はブラウザから?

Starting MailCatcher
==&amp;amp;amp;gt; smtp://127.0.0.1:1025
==&amp;amp;amp;gt; http://192.168.19.181:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.

っと起動時に既にweb interfaceからやってねって書いてあるので他にはないのかな。。

あと、複数VCCWを立ち上げちゃってる場合は、-http-port PORT, –smtp-port PORT とかやった方が良いのかも。最近は同時に起動とかあまりしなくなったけど 😛

スクリプト作っといても

Run pre/post provisioning scripts

You can place shell scripts, so it will run at pre/post provisioning.

  • provision-pre.sh – Run before chef provisioning.
  • provision-post.sh – Run after chef provisioning.

VCCW – A WordPress development environment.

とかカスタマイズしても良いのかも。

ワンライナーを真似して作ってみた 🙂

GitHubに置いてワンライナーで行けるかどうかやってみた。
ばっちり 🙂

marushu/start-mailcatcher

readmeには書いたけど、site.ymlのあるディレクトリに移動して

curl https://raw.githubusercontent.com/marushu/start-mailcatcher/master/start-mailcatcher.sh | bash

でOK。GitHubに置いとくと何かと便利なんだなぁと置いてみてわかった次第。
ワンライナーってこうやって作るんすね〜!! 楽しい 🙂

参考

【メモ】MailCatcherの再起動

MailCatcher

VCCWには今やSMTPサーバが内蔵されています。ありがとうございます!!

VCCW + MailCatcherで送信メールを確認するための環境を構築 | Firegoby

で、快適に使っていると、落ちたりします。。(俺がやらかしてるかな…)
で、再起動ってどうやるの?って思ってたんですが、大変シンプルでした 🙂

mailcatcher --http-ip site.yml内のip:1080

これでOK。
で、今はwp_mailのwp_mail_charsetの変更ができなくてどん詰まり…( ꒪⌓꒪)
WP Multibyte Patchを有効化させつつ、wpmp-config.phpを置かずにmail_modeをUTF-8に変えられないものか…(^0^;)

参考

VCCW第0回勉強会を開催しました

……秘密裏にw

 

って言うのは冗談ですが、前日に告知して誰が来る!!
というわけで、今月からどうしても始めたくて開催しました。

第0回目は告知が前日だったのでもくもく勉強会として開催しました。

VCCW勉強会開催の経緯

理由は単純で、VCCWを使った開発があまりにも便利過ぎて、もっと知りたいと思ったからです。

VCCWとは?

VCCW

WordPressのプラグイン、テーマ、またはWebサイトのためのVagrantベースの開発環境です。開発者は、 サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル の著者の1人でもある 宮内隆行さん です。

  • 最新バージョン:2.0.0(2015/01/30現在)
  • 必要環境:Vagrant 1.5以上、VirtualBox 4.3以上

できること

  • WordPressのベータバージョンを試したい
  • 任意のドメイン名で立ち上げたい
  • 起動時に特定のテーマを有効化した状態にしたい
  • 起動時に特定のプラグインを有効化した状態で起動したい
  • テーマレビューをサクッとやりたい

などなど、その他にもwp-cli使えたり、WordMoveで開発環境と本番環境のPUSH, PULLしちゃったりと、WordPressを使ったWebサイト開発・運用に関して便利機能がてんこ盛りです!!

参考リンク

最新バージョンでの設定・起動方法を僕も書きましたので、良かったらご覧ください。

VCCW 2.0.0になったのでおさらい – VCCW + WordMove – | 自然体

何が便利かって、気軽に試せる点でしょうか。不要になれば、vagrant destroyで壊せるし、vagrant upで直ぐ立ち上げられるし、WordMoveを使えば運用中のサイトのメンテナンスも楽々です。
WordPressをベースに開発する場合、この環境を使わない手はないと言うくらい、楽ちんです。

ってなわけで、今後月一を目標に勉強会を開こうと思います。
気になる方や、既にバリバリに使っていらっしゃる方、良かったら一緒にやりましょう!! 😀

 

VCCW 2.0.0になったのでおさらい – VCCW + WordMove –

ええ、タイトル通りっすよ。もうっすね、便利過ぎて鼻血出ますw

VCCWが2.0.0になって設定方法が従来のVagrantfileを編集する方法から.ymlファイルを編集する方法に変わったので、手順をおさらいしようと思います。

先ずはvagrant起動まで

  • 開発用のディレクトリを作成
    任意の場所に開発用のディレクトリを作成。/User/ユーザー名/worksとか。

    cd /User/user-name/works
    mkdir new-vccw
  • VCCWをダウンロード
    VCCW – A WordPress development environment.よりダウンロード。

    cd new-vccw
    wget https://github.com/vccw-team/vccw/archive/2.0.0.zip
    
  • 解凍
    unzip 2.0.0.zip
  • vccw-2.0.0ってディレクトリになるから何となくリネーム
    mv vccw-2.0.0/ vccw
  • vccw/provisionにあるdefault.ymlをvccw配下へコピー
    cd vccw
    cp provision/difault.yml site.yml
    
  • site.ymlを開いて設定
    site.ymlはこんな感じ。
  • # encoding: utf-8
    # vim: ft=ruby expandtab shiftwidth=2 tabstop=2
    
    #
    # General Settings
    #
    wp_box: miya0001/vccw
    chef_cookbook_path: ./provision
    
    #
    # Network Settings
    #
    hostname: wordpress.local
    ip: 192.168.33.10
    
    #
    # WordPress Settings
    #
    version: latest
    lang: en_US
    title: Welcome to the VCCW
    multisite: false
    rewrite_structure: /archives/%post_id%
    
    #
    # WordPress Path
    #
    sync_folder: 'www/wordpress'
    document_root: '/var/www/vhosts/private.hibou-web.com'
    wp_home: ''     # Path to the WP_HOME like &quot;wp&quot;
    wp_siteurl: ''  # Path to the WP_SITEURL like &quot;wp&quot;
    
    #
    # WordPress User
    #
    admin_user: admin
    admin_pass: admin
    
    #
    # WordPress Database
    #
    db_prefix: wp_
    db_host: localhost
    
    #
    # WordPress Default Plugins
    # Plugin's slug or url to the plugin's slug.
    #
    plugins:
      - dynamic-hostname
      - wp-total-hacks
      - tinymce-templates
    
    #
    # WordPress Default Theme
    # Theme's slug or url to the theme's .zip.
    #
    theme: ''
    
    #
    # WordPress Options
    #
    options:
      blogdescription: Hello VCCW.
    
    #
    # The values of wp-config.php
    #
    force_ssl_admin: false
    wp_debug: true
    savequeries: false
    
    #
    # Theme unit testing
    #
    theme_unit_test: false
    theme_unit_test_uri: https://wpcom-themes.svn.automattic.com/demo/theme-unit-test-data.xml
    # theme_unit_test_uri: https://raw.githubusercontent.com/jawordpressorg/theme-test-data-ja/master/wordpress-theme-test-date-ja.xml
    
    #
    # DB will be reset when provision
    #
    reset_db_on_provision: true
    

    適宜編集。Vagrantfileよりもスッキリしててわかりやすいイメージっす 😀
    書き換えてみた↓↓

    # encoding: utf-8
    # vim: ft=ruby expandtab shiftwidth=2 tabstop=2
    
    #
    # General Settings
    #
    wp_box: miya0001/vccw
    chef_cookbook_path: ./provision
    
    #
    # Network Settings
    #
    hostname: wordpress.local
    ip: 192.168.66.66
    
    #
    # WordPress Settings
    #
    version: latest
    lang: ja 
    title: VCCWテスト
    multisite: false
    rewrite_structure: /archives/%post_id%
    
    #
    # WordPress Path
    #
    sync_folder: 'www/wordpress'
    document_root: '/var/www/vhosts/private.hibou-web.com'
    wp_home: ''     # Path to the WP_HOME like &quot;wp&quot;
    wp_siteurl: ''  # Path to the WP_SITEURL like &quot;wp&quot;
    
    #
    # WordPress User
    #
    admin_user: admin
    admin_pass: admin
    
    #
    # WordPress Database
    #
    db_prefix: wp_
    db_host: 192.168.66.66 
    
    #
    # WordPress Default Plugins
    # Plugin's slug or url to the plugin's slug.
    #
    plugins:
      - dynamic-hostname
      - wp-total-hacks
      - tinymce-templates
    
    #
    # WordPress Default Theme
    # Theme's slug or url to the theme's .zip.
    #
    theme: ''
    
    #
    # WordPress Options
    #
    options:
      blogdescription: Hello VCCW.
    
    #
    # The values of wp-config.php
    #
    force_ssl_admin: false
    wp_debug: true
    savequeries: false
    
    #
    # Theme unit testing
    #
    theme_unit_test: false
    theme_unit_test_uri: https://wpcom-themes.svn.automattic.com/demo/theme-unit-test-data.xml
    # theme_unit_test_uri: https://raw.githubusercontent.com/jawordpressorg/theme-test-data-ja/master/wordpress-theme-test-date-ja.xml
    
    #
    # DB will be reset when provision
    #
    reset_db_on_provision: true
    

    ※ YAMLファイルはコロン「:」はハッシュ値を表すようで、コロンの後には半角スペースが要るようです。
    YAML – Wikipedia
    Rubyist Magazine – プログラマーのための YAML 入門 (初級編)
    書き換えたとき、

    /opt/vagrant/embedded/lib/ruby/2.0.0/psych.rb:205:in `parse': (&lt;unknown&gt;): could not find expected ':' while scanning a simple key at line 13 column 1 (Psych::SyntaxError)

    とかでちゃんと教えてくれますが…(^0^;)

  • site.ymlを保存してvagrant up!!
    起動中…
    起動中…
    上に見えるのはyamlファイルのハッシュを書き間違えて出ているエラーっす…(^0^;)
    コロンの後は半角スペースが要ります。 あっ、boxのアップデートもあるw

    約5〜6分ほどで完了しました 😀
    絶対早くなってると思う。

    Hello world!
    お馴染みHello world! 😀
    起動も速くなって嬉しいっす。

次は、WordMoveでローカルとリモートをサクッと 😀

起動完了すると、vccwディレクトリ直下にMovefileができあがっています。

.
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── Movefile
├── README.md
├── Rakefile
├── Vagrantfile
├── provision
│   ├── cookbooks
│   ├── default.yml
│   └── site-cookbooks
├── site.yml
├── spec
│   ├── default
│   └── spec_helper.rb
└── www
└── wordpress

Movefileはこんな感じ。

local:
  vhost: &quot;http://wordpress.local&quot;
  wordpress_path: &quot;/var/www/vhosts/private.hibou-web.com&quot;

  database:
    name: &quot;wordpress&quot;
    user: &quot;wordpress&quot;
    password: &quot;wordpress&quot;
    host: &quot;192.168.66.66&quot;

staging:
  vhost: &quot;http://example.com&quot;
  wordpress_path: &quot;/var/www/your_site&quot; # use an absolute path here

  database:
    name: &quot;database_name&quot;
    user: &quot;user&quot;
    password: &quot;password&quot;
    host: &quot;localhost&quot;

  exclude:
    - &quot;.git/&quot;
    - &quot;.gitignore&quot;
    - &quot;.sass-cache/&quot;
    - &quot;bin/&quot;
    - &quot;tmp/*&quot;
    - &quot;Gemfile*&quot;
    - &quot;Movefile&quot;
    - &quot;wp-config.php&quot;
    - &quot;wp-content/*.sql&quot;

  # paths: # you can customize wordpress internal paths
  #   wp_content: &quot;wp-content&quot;
  #   uploads: &quot;wp-content/uploads&quot;
  #   plugins: &quot;wp-content/plugins&quot;
  #   themes: &quot;wp-content/themes&quot;
  #   languages: &quot;wp-content/languages&quot;
  #   themes: &quot;wp-content/themes&quot;

  # ssh:
  #   host: &quot;host&quot;
  #   user: &quot;user&quot;
  #   password: &quot;password&quot; # password is optional, will use public keys if available.
  #   port: 22 # Port is optional
  #   rsync_options: &quot;--verbose&quot; # Additional rsync options, optional
  #   gateway: # Gateway is optional
  #     host: &quot;host&quot;
  #     user: &quot;user&quot;
  #     password: &quot;password&quot; # password is optional, will use public keys if available.

  # ftp:
  #   user: &quot;user&quot;
  #   password: &quot;password&quot;
  #   host: &quot;host&quot;
  #   passive: true

# production: # multiple environments can be specified
#   [...]

“staging:”以下の情報を編集します。

“database:”, 必要に応じて”exclude:”など編集します。
僕の場合は網元なので、ssh:”以下を必要部分だけコメントを外します。
ftpでも行けちゃうのが便利っす。レンタルサーバでもOK 😀

※ Movefileもインデントがキモで、コメントを外して有効化する場合、インデントの位置も必ず合わせる必要があります。
Movefile編集後はこんな感じ。

local:
  vhost: &quot;http://wordpress.local&quot;
  wordpress_path: &quot;/var/www/vhosts/private.hibou-web.com&quot;

  database:
    name: &quot;wordpress&quot;
    user: &quot;wordpress&quot;
    password: &quot;wordpress&quot;
    host: &quot;192.168.66.66&quot;

staging:
  vhost: &quot;WordPress アドレス (URL)&quot;
  wordpress_path: &quot;/var/www/vhosts/....&quot; # use an absolute path here

  database:
    name: &quot;DB名&quot;
    user: &quot;DBユーザー名&quot;
    password: &quot;DBパスワード&quot;
    host: &quot;DBホスト&quot;

  exclude:
    - &quot;.git/&quot;
    - &quot;.gitignore&quot;
    - &quot;.sass-cache/&quot;
    - &quot;bin/&quot;
    - &quot;tmp/*&quot;
    - &quot;Gemfile*&quot;
    - &quot;Movefile&quot;
    - &quot;wp-config.php&quot;
    - &quot;wp-content/*.sql&quot;

  # paths: # you can customize wordpress internal paths
  #   wp_content: &quot;wp-content&quot;
  #   uploads: &quot;wp-content/uploads&quot;
  #   plugins: &quot;wp-content/plugins&quot;
  #   themes: &quot;wp-content/themes&quot;
  #   languages: &quot;wp-content/languages&quot;
  #   themes: &quot;wp-content/themes&quot;

  ssh:
    host: &quot;ホスト名&quot;
    user: &quot;ユーザー名&quot;
  #   password: &quot;password&quot; # password is optional, will use public keys if available.
    port: 22 # Port is optional
    rsync_options: &quot;--verbose&quot; # Additional rsync options, optional
  #   gateway: # Gateway is optional
  #     host: &quot;host&quot;
  #     user: &quot;user&quot;
  #     password: &quot;password&quot; # password is optional, will use public keys if available.

  # ftp:
  #   user: &quot;user&quot;
  #   password: &quot;password&quot;
  #   host: &quot;host&quot;
  #   passive: true

# production: # multiple environments can be specified
#   [...]

環境に合わせて編集したら保存してvagrantにログイン

vagrant ssh

/vagrant/ディレクトリへ移動して、wordmoveコマンドを実行!!
一先ず、リモートからデータをPULLしてみます。

wordmove pull --all

WordMoveのコマンドはまるっとだけではなく、データベースのみ、テーマのみなど、お好みで指定した部分のみやり取りすることもできます。
wordmove pullの場合はこんな感じ。

[vagrant@wordpress vagrant]$ wordmove help pull
Usage:
  wordmove pull

Options:
  -w, [--wordpress], [--no-wordpress]
  -u, [--uploads], [--no-uploads]
  -t, [--themes], [--no-themes]
  -p, [--plugins], [--no-plugins]
  -l, [--languages], [--no-languages]
  -d, [--db], [--no-db]
  -v, [--verbose], [--no-verbose]
  -s, [--simulate], [--no-simulate]
  -e, [--environment=ENVIRONMENT]
  -c, [--config=CONFIG]
      [--no-adapt], [--no-no-adapt]
      [--all], [--no-all]              

Pulls WP data from remote host to the local machine

早速このブログのデータをまるっと持ってきます。
wordmove pull –all 😀

ダダーーっとリモートからローカルへダウンロート中
ダダーーっとリモートからローカルへダウンロート中。
初回はある程度時間かかりますが、次回以降は差分のみなので、かなり短くなります 😀

今回は約6分程でローカルに持って来れました。

サクッとローカルへ持って来れました :D
サクッとローカルへ持って来れました 😀

vccw-team/vccwのreadme.mdに

Contribute

Setting up

  1. Clone this git repository on your local machine.
  2. Run bundle install to fetch all dependencies.

Running and writing tests

There is automated tests using Serverspec.

The tests files are in the spec/ directory.

To run the Serverspec tests, just run rake spec.

とありました。これもやってみなければ!!

WordMove メモ(あっさり解決)

WordMoveを使ってVagrant内のWordPressと本番環境を同期する! | Firegoby

宮さんのブログを参考に網元 ⇄ ローカルでwrodmoveを使おうと、設定中。
しかし、以下のエラーが出る。


/usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh.rb:219:in `start': Authentication failed for user ec2-user@xxx.com (Net::SSH::AuthenticationFailed)
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/photocopier-0.0.10/lib/photocopier/ssh.rb:52:in `session'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/photocopier-0.0.10/lib/photocopier/ssh.rb:60:in `exec!'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/deployer/ssh.rb:54:in `remote_run'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/deployer/ssh.rb:62:in `download_remote_db'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/deployer/ssh.rb:34:in `pull_db'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:47:in `block in pull'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:34:in `block in handle_options'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:32:in `each'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:32:in `handle_options'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/lib/wordmove/cli.rb:46:in `pull'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
from /usr/local/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/wordmove-1.2.0/bin/wordmove:6:in `'
from /usr/local/rbenv/versions/2.1.2/bin/wordmove:23:in `load'
from /usr/local/rbenv/versions/2.1.2/bin/wordmove:23:in `'

ってことで一旦メモ。
まだ原因不明のまま。

原因判明w

判明ってほどでもなかった…(^0^;)
ssh-agentを使ってVagrant上のゲストOSからMac側の秘密鍵を使えるようにする | Firegoby
こちらの記事中にある

以下のコマンドでssh-agentに秘密鍵を登録するだけです。

ssh-add -K ~/.ssh/id_rsa

-Kというオプションは、Macのキーチェーンに保存しといてねっていう意味で、これをしないとMacを再起動した時に忘れちゃうようです。

の部分で、僕の網元では~/Dropbox/配下に置いてある.pemキーを使っていたので、単純に


ssh-add -K ~/Dropbox/xxxx/xxx.pem

に差し替えるだけですんなり wordmove pull –all でダダーっとリモートからデータを持ってきてくれました!! 感激っす 😀

因みにssh-addしちゃったヤツを取り消すには、


ssh-add -d 消したい秘密鍵(-Dは全削除)

としてあげればOK。宮さんの記事中に、

以上で、VCCWからWordMoveを使いたいときには、WordPressの接続情報だけを書けばいいだけになりました。

従来の作業フローをひっくり返すほど便利なのでおすすめ。

とありましたが、ホントに快感です。
僕の網元環境では、ユーザーをnginxにしているので、Movefile内のuserをnginxにしました。

確認

上記の作業が完了したらためしにvagrant sshでゲストマシンにSSH接続して、以下のコマンドを実行してください。

$ ssh-add -l

以下のような出力があればばっちりです。

2048 6e:ef:86:27:2c:a9:xx:xx:xx /Users/xx/.ssh/id_rsa (RSA)

ssh-add -l でチェックするのを忘れないようにしよう(俺用)

WordMove使っていこう!!

ローカルで開発して部分的にpushってのも行けるみたいです。


[vagrant@wordpress vagrant]$ wordmove help
Commands:
wordmove help [COMMAND] # Describe available commands or one specific command
wordmove init # Generates a brand new Movefile
wordmove pull # Pulls WP data from remote host to the local machine
wordmove push # Pushes WP data from local machine to remote host

[vagrant@wordpress vagrant]$ wordmove help pull
Usage:
wordmove pull

Options:
-w, [–wordpress], [–no-wordpress]
-u, [–uploads], [–no-uploads]
-t, [–themes], [–no-themes]
-p, [–plugins], [–no-plugins]
-l, [–languages], [–no-languages]
-d, [–db], [–no-db]
-v, [–verbose], [–no-verbose]
-s, [–simulate], [–no-simulate]
-e, [–environment=ENVIRONMENT]
-c, [–config=CONFIG]
[–no-adapt], [–no-no-adapt]
[–all], [–no-all]

Pulls WP data from remote host to the local machine
[vagrant@wordpress vagrant]$ wordmove help push
Usage:
wordmove push

Options:
-w, [–wordpress], [–no-wordpress]
-u, [–uploads], [–no-uploads]
-t, [–themes], [–no-themes]
-p, [–plugins], [–no-plugins]
-l, [–languages], [–no-languages]
-d, [–db], [–no-db]
-v, [–verbose], [–no-verbose]
-s, [–simulate], [–no-simulate]
-e, [–environment=ENVIRONMENT]
-c, [–config=CONFIG]
[–no-adapt], [–no-no-adapt]
[–all], [–no-all]

Pushes WP data from local machine to remote host

気になることはとにかく直ぐやるべきッスね 😀
もっと早くやっておけば良かったです。

これでローカル・リモートの面倒くさい作業も楽勝ですね!!

2016/04/01追記

WordMoveって複数環境でpushやpullなどができることは知ってたんですが、実際使う機会なかったのでやってませんでした。今回、初めて複数環境(本番公開用と、プレビュー用)へ同じものを反映させる必要が出てきたのでやってみました。

-e 環境名 オプション でOK 😀

例えば、previewとstagingってセットがMovefile内にあって、previewに放りたい場合、

wordmove push --all -e preview

でOK。いやはや、ホントに便利っすな〜 (^^)

VCCWなWordPressサイトでupload_max_filesizeを変更する

upload_max_filesize

ってときの変更方法メモ

  • vagrant ssh
  • find / -name ‘php.ini’
  • ここだよ  → /etc/php.ini
  • cd /etc
  • sudo vi php.ini
  • /upload_max_filesize で該当部分へ移動
  • ; Maximum allowed size for uploaded files.
    upload_max_filesize = 2M
  • ↑を upload_max_filesize = 48M とか…書き換え
  • :wq でviを終了
  • sudo service httpd restart で再起動

post_max_size も同様。