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をベースに開発する場合、この環境を使わない手はないと言うくらい、楽ちんです。

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

 

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。いやはや、ホントに便利っすな〜 (^^)

mysqlコマンドメモ

vagrant sshしてmysqlコマンドを少しずつやっているところ。。

今できるようになりたいのはWordPressの場合、wp_postmetaの中身とかを見たい。

mysql> show tables;

で、
+———————–+
| Tables_in_wordpress |
+———————–+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_mappress_maps |
| wp_mappress_posts |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_terms |
| wp_usermeta |
| wp_users |
+———————–+

って感じでテーブルが見える。

mysql> select * from wp_postmeta;

で、ダダーーーっと中身は見れるんだけどあまりにも大量すぎて見づらい…。
見易く出す方法ってないのかなぁ… (´。`)

VagrantとVMの位置関係

メモ。

VCCWで毎度ローカル環境作ってるけど、Vagrantで作られるVMがどれがどれだか判らなくなってきたので、何とかパッと判るようにできないか考え中。

/Users/xxx/VirtualBox\ VMs/vccw_default_1405919019915_29922/vccw_default_1405919019915_29922.vbox

の中に、

<SharedFolder name=”/tmp/vagrant-chef-1/chef-solo-2/cookbooks” hostPath=”/Users/path/to/vccw/site-cookbooks” writable=”true” autoMount=”false”/>
</SharedFolders>

ってのがあった。この /path/to/vccw が作業ディレクトリ。これを直ぐ確認する方法ってないかなぁ…。

wp-cliのwp post list –post_type=page –format=ids 便利

投稿を確認して削除したいとき大変便利だった。

投稿を確認して削除したいとき便利

wp post list --post_type=page --format=ids

して、
+————+
| post_title |
+————+
| News |
| Business |
| Business |
| News |
| |
| |
| News |
+————+
とか出てきて(あ、これ作って見失ったヤツ…(^0^;))

wp post delete 12 11 10 9 7 6  --force

でバッチリ削除 😀

grunt: command not found 直る

iemotoを最近になって使わせてもらうようになりました。

megumiteam/iemoto

前にチラッとテストしてやり方は確認していたんですが、子テーマで開発するのが主流だったので…(^0^;)
で、久しぶりに使い出したと言った方が正しいです。。

iemotoとは

これは、WordPressテーマ用の grunt-init テンプレートです。

Grunt を使うとWordPressテーマを開発する上で必要な様々なプロセスを自動化することができます。

ということで、vccwな環境で大変便利です。手順はmegumiteam/iemotoを参照してください。

ところが、Sass(Compass)のコンパイル+minifyをやろうと”grunt”を実行すると、

grunt: command not found

という残念な反応が出てしまいます…。
さっぱり意味がわからず、あれこれネットを彷徨っておりましたら見つけました!! ありがとうございます!!

gruntを”-g”でインストールしたのに”command not found” – 混沌とした備忘録

……ってことで

npm uninstall -g grunt
npm uninstall -g grunt-cli

…僕はあれこれ漁っててどちらもあったのでですね…一旦両方とも削除してあらためて

npm install -g grunt-cli

で無事gruntで動くようになりました。。。

参考サイト(ありがとうございます)

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 も同様。

WP_DB_PREFIX で躓く…(泣

すっかりVCCWのお世話になりっぱなしです、ありがとうございます!!

今回はタイトル通りなんですが、WordPressを覚えたての頃に$table_prefixをいろいろと書き換えていたことが原因だったのに、ずーっと気がつかなかった事を備忘として残しておこうと思います。

wp db importでsuccess出てんのに変わんない

VCCWwp-cliがデフォルトで入っています。何が便利かって全部便利なんですが、wp db importとwp search-replaceが大変便利です。

wp db import | WP-CLI

僕は主に本番環境からエクスポートしたDBをVCCWにインポートしてプラグインのアップデートで不具合出ないか確認するんですが、wp-cliのおかげで今まで苦手だった置換作業がコマンド一発で終わります。

wp search-replace | WP-CLI

今回は2サイトこの状態で、何度上記のコマンドを実行しても反映されませんでした。
っていうか、絶対反映されるはずなかったんですが… ( ꒪⌓꒪)

自分で$table_prefix書き換えてたの忘れてただけ…

はい、コレだけ。
もう情けないといいますか、これが判らず3週間位放置してました。。

2サイトは僕がWordPressを覚えたての頃作成したサイトで、盲目的に$table_prefixを書き換えて構築していました。
現在は特にそのような事はしていないのですが、すっかり忘れていて、ずっと書き換わるはずもないのに同じ事を繰り返していました。。

始末に負えないのが、その2サイトが同じ所に置いてあったサイトだったので、担当の方に質問までしてしまいました。。。

しかし、その質問で気付きましてVagrantfileの”WP_DB_PREFIX”を書き換えて vagrant provision → vagrant reload で無事インポート・置換完了しました。
Nさん、お忙しい中貴重なお時間をホントありがとうございましたっ 😀

そして忘れるな、気付け…(^0^;)

テーマ翻訳振り出しに戻る。でも前進しちゃってるもんね (^^)

translate-readyなテーマ達

translate-readyなテーマ達

えー、宮内さんからVCCW使ってテーマの翻訳するとモテると聞いて、やり始めたんですが、なかなか進まないでいたら、なんと自分が翻訳しようとしているテーマは既に日本語ファイルがあることを直子さんから教えていただきましたたたた。

GlotPress から WordPress.com の無料テーマの翻訳をエクスポートする – ja.naoko.cc

上記の直子さんのエントリー通り進めて行くと、wpcom-ja.poというファイルがダウンロードされます。それをja.poとリネームしてテーマファイルの/laungageへ置くとあっさり日本語化されたテーマに変身するワケです (^0^;)
あ、僕はExpoundというテーマの翻訳をやってみようと進めていたので、直子さんから直でダウンロードリンクを教えていただきました。直子さん、ありがとうございます!! 😀

また、更に日本語翻訳がまだで、翻訳準備ができているテーマが存在することも教えていただきました。

http://wordpress.org/themes/tags/translation-ready ↑ このタグが付いたものが翻訳対応してるものです。その中でも最近テーマレビューチームのチェックを通ったもののほうが、きちんと国際化されていてやりやすいと思います〜。

なるほど!! translation-ready。まんまっすね (^^)。気を取り直してここから僕でもできそうなテーマを選んで再度挑戦してみることにします!!

あ、一応やってみようかなぁと思ったテーマはTranslations < Japanese < WordPress.com < GlotPressでfilterかけてまだ翻訳ファイルがないかどうかを確認しようと思います 😀

もうすぐ全国のWordBench同日開催で中継しながらやるイベント【予告】地域合同企画:春の翻訳&ドキュメンテーション祭り | WordBenchだし、6月7日、8日2日間にわたって開催されるWordCamp Kansai 2014の2日目にある日本のWordCampで初めての試み!コントリビューターデイってなんだ? | WordCamp Kansai 2014もあるし、僕の中ではとてもホットな話題でした!!

テーマ翻訳はなかなか進んでいませんでしたが、自分のブログのテーマをExpoundにして触ってみて、いろいろコードを見ることができてとても勉強になりました。

WordPress Free Theme Expound
Expoundに変更中の僕のブログ。アイキャッチ画像を常に使いたくなるマガジン風のレイアウトがとてもカッコイイです 😀

春のドキュメンテーション祭りは、鹿児島まだ会場が確定できていないので、なんとか確保したいですね〜。最悪は、僕んちでもいいかなぁと思いつつ 😀

VCCWでホストマシンからwp-cli使う時のメモ

VCCW、大変便利に使わせて頂いております、あざます、あざます (^^)。

ローカル環境をVCCWへ移行している最中です。だいぶ慣れてきました。しかし、慣れて来たと言っても操作に慣れてきたということで、中身に関してはまだわかっているわけではありませんw

VCCWでWordPressの開発環境を構築する方法は、こちらの手順通りに進めれば簡単にできるんですが、wp-cliがホストマシンから使えなくなっておりました。WordPressインストールディレクトリ内でwpコマンドが使えない感じです。

vagrant sshすれば問題無いのですが、いちいち面倒くさい…(^0^;)
ホストマシンから操作したかったわけです。まぁ操作と言ってもテーマ切り替えとか、プラグインインストールとか、DBのインポート・エクスポートとかそういう基本的な操作です。岡本さんの記事がとても参考になっております!!ありがとうございます 😀

以前はホストマシンからできていたのに、wpコマンド打つと、

$ wp
Warning: mysql_connect(): No such file or directory in /xxx/vagrant-wp/www/wordpress/wp-includes/wp-db.php on line 1147
Error:

データベース接続確立のエラー

これは wp-config.php ファイルのユーザー名とパスワードが間違っているか、localhost のデータベースサーバーに接続できないかのどちらかを意味します。ホストのデータベースサーバーがダウンしているのかもしれません。

  • ユーザー名とパスワードに間違いはありませんか ?
  • ホスト名に間違いはありませんか ?
  • データベースサーバーは動いていますか ?

上記の用語の意味が分からない場合は、サーバーの管理者にお問い合わせください。ヘルプが必要であれば WordPress 日本語フォーラム または WordPress サポートフォーラム (英語) へどうぞ。

という表示が…。ちゃんとわかってないとこういう所であっさり躓くわけです (^0^;)。しばらくはvagrant sshでやっていましたが、やっぱりホストマシンからやりたい!!

という事で、宮内さんに質問してみました!!

21行目の’localhost’をWP_IPに

ん?これは古いVagrantfile.sampleには無かった行…。。
要は僕がちゃんと見ていないだけって話でした。。こんなことで聞いちゃってホントすみませんでした。
大変助かりました (^0^;)

みなさんからのフィードバックで改善されていくわけですww

なるほど…(^0^;)

オープンソースってこういうことなのかなぁと改めて感じました。また、聞き知ってはいましたが、今まで自分から参加したことはなくて聞くとするでは全然違うなぁと改めて思った次第です。

これからはHistoryや購読などちゃんとやっていこうと思います。
ホストマシンからwp-cli使えるのは今の僕の使い方だと大変便利なので、デフォルトで設定することになりそうです (^^)

OSSもこういうことなんだろうなぁと。僕にできることがあればどんどん参加していこうと思います 😀

README-ja.md,README.md更新されてました!!

ありがとうございます〜!! 😀
ばんばん使っていきます〜!!