AWSにWordPress構築→VCCWでローカルに同期まで(2)

前回の続き

なんか前回の記事での最後の書き方だと、VCCWを使えばWordmoveで簡単に同期できるってのを最初からわかってた上でそれを選択したみたいな感じに読めますが(そんな感じで書いてしまいましたが)、実際にはそんなことはなくてたまたまVCCWでやってみよう!と進めていたらWordmoveなるものが使えるというのがわかって、結果的にベストな方法を選択できたんじゃないか?みたいな、割と行き当たりばったりな感じでした。

ま、AMIMOTOでphpMyAdminが非推奨といっても、実際に変更するのはテーマファイルぐらいなもんだし、そもそも本番環境でかなり変更を加えた後だというならまだしもただ1件記事を書いたくらいなわけで、カスタム投稿とか色々追加するようなつもりもない以上は別にデータベースの中身まで同期しなくたっていいじゃん、そんな言うほど問題でもないじゃんって感じもあったんですけど、それでもMAMPはやめてVCCWにしてみようって思ったのはただ単にやってみたかっただけです。やっぱ仮想環境とか「べーぐらんと」とか最近よく聞くし。使ったことないとか言うのちょっと恥ずかしい感じがしてきたし。会社じゃやりたくてもできないし(別に勝手にやってしまってもいいんだけど、自分が辞めた後で引き継ぐの面倒だしな…。使いこなせる人いないだろうし)。

てなわけでVCCWを導入

これに関してはこちらの記事「【使ってみよう(・∀・)】WordPressのローカル環境 Vagrant & VCCW 【入門者必見!】」がわかりやすかったです。

それ以前にドットインストールのローカル開発環境の構築 [MacOS X編]をやっていたのでVagrant、Virtual Boxはすでにダウンロード済。てなわけで手順1は飛ばして2から順にやっていったら時間はかかったけど割と問題なく完了。最後までいくと「vccw」フォルダ内にwww/wordpressができているのでその中のファイルをいじればOKと。ちゃんとFinderからいじれる形なのがありがたいです。ターミナルからviでしか編集できないみたいなの怖い…。

で、ここで編集したらそのファイルをどうやってアップロードしようかってところで迷うわけなんですけど、まぁ普通にCyberduckとかでssh接続して手動でアップしていくか…→いやでも俺だってgitとか使ってみたいのよ、コマンド一発でデプロイっすよーとか言ってみたいじゃん(別にそんなん言う機会はないかもしれないが)→なんかAWSにはCodeCommitっていうのがあるらしいよ、それ使えばいいんじゃないの?→いやVCCWにもWordmoveっていうのがあるらしいからそっちでもいいんじゃん?→こんなん(下記記事)あった!ちょうどAMIMOTOで解説してくれてるからこれで簡単にできそう!ってな流れで。

Wordmoveで同期する

基本的に全部他のブログの記事を紹介するだけで全然オリジナルな情報がないっていうことにもう皆様気づかれているかと思いますが気にせずに。「WordMoveを使ってVagrant内のWordPressと本番環境を同期する! | Firegoby」という記事を参考にやりました。

ただ似非エンジニアの自分にはこの記事の中で一箇所よくわからずに戸惑った部分がありまして、ここです。

最後にAmimotoの~/.ssh/authorized_keysに先ほどの作業でコピーした公開鍵を追加してください。

この部分、この一言で終わってるけどそれどうやればいいの?ってなっちゃいまして。

まずsshでAmimotoに接続。/home/ec2-user/.sshにautorized_keysっていうファイルがあるのでこれをエディタで開いて、vagrantで作った公開鍵の情報をペーストして保存。これでOKです。

(と、これを書きながら上記記事の中に「ssh-agentを使ってVagrant上のゲストOSからMac側の秘密鍵を使えるようにする」という便利な情報へリンクされていることに今頃気付きました。これやっとけば良かったのか…)

ターミナルからやる人は

$ cd .ssh
$ vi autorized_keys

みたいな感じですかね。僕は怖いんでCyberduckで繋いでファイル落としてきてから編集しました。

で、実際にpush,pullするときのやり方。自分が忘れそうなのでここでメモ。

$ vagrant ssh
$ cd /vagrant
$ wordmove push --themes(ここは任意で)

いやー、しかしこれ、実際やってみると便利っすね!そうそう、こういう今っぽい開発をやりたかったんですよ。行き当たりばったりで進めた偶然の結果みたいな感じではありますが、最終的に良い感じの環境作れて良かったです。

あとはBrowserSyncっていうのも取り入れたいけどそれはまたいずれってことで。

ついでに、複数台のPCに開発環境を作るには

玄人な方々は言われなくてもわかるかもしれないですが、一応書いておきます。

とりあえずデスクトップ用のPCに開発環境を作ったものの、せっかくもう一台ノートPCもあるのだし、同じ環境を作れば持ち出して気分転換的に場所を変えて作業もできるよなと思いまして。

当初自分はAWSのインスタンスに接続する用のプライベートキーがノートPCに無いので接続できないよなと思って「Linux インスタンスでのユーザーアカウントの管理」というページを見ながら進めようとしていたのですが。あれ、このauthorized_keysとかって最近いじったよな?と思いつきまして。

何のことはない、Wordmoveの設定の時にやったVCCWの公開鍵をAmimotoのauthorized_keysファイルに追加するっていうのをまたやればいいだけですね。Wordmove以外(ターミナルなど)からAWSへの接続はできないけど、その作業はデスクトップPCからやればいいだけだし。

というわけで、手順的には1.VCCWを導入→2.VCCWで鍵を作成。その情報をauthorized_keysファイルに追加(ここはデスクトップでの作業)→3.Movefileを編集→4. wordmove pull --all

これで同じ環境をノートPCにも作れました。

余談

ところで、毎回VCCWを立ち上げるのが結構重いような気がしているんですけど、こんなもんなんでしょうかね? ちなみに今立ち上げる時に計ってみたら1分半くらい(言うほどでもないだろうか。でもMAMPだともっと一瞬だし…)。

毎回、SSH auth method: private keyというところで一旦止まり、Warning: Remote connection disconnect. Retrying...となり、その後すぐにMachine booted and ready!が出る。

一応Warningなんだしなんか問題あるのかな?と思いつつ、ググってみるとこれが何度も表示されて結局繋がらないという症状は結構見つかるのですが、でも自分の場合は2回目で必ず繋がるんだからたぶん大丈夫なんだよな?と一応納得しています。

これ本当に大丈夫なんでしょうか? ここの問題解決すればもっと起動が早くなるのかな? どなたか親切な方見ていたら教えてください。

この投稿へのコメント

コメントはありません。

コメントを残す

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

CAPTCHA


この投稿へのトラックバック

トラックバックはありません。

トラックバック URL