ほんとにで鼻血が出るぐらい便利だった。この何年間かでこんなにびっくりしたツールは他にないかも。
Vagrant Cloudとは?
先日リリースされたばかりのVagrant 1.5と連動して動作する新サービスで、これを利用すると自動的に仮のドメイン名が割り当てられて、Vagrant上の仮想マシンにインターネット経由でアクセスできるようになります。
これがおどろくほど簡単で、インターネット経由で見れるようにするには、vagrant share
とコマンドを入力するだけです。
$ vagrant share ==> default: Detecting network information for machine... default: Local machine address: 192.168.33.10 default: Local HTTP port: 80 default: Local HTTPS port: disabled ==> default: Checking authentication and authorization... ==> default: Creating Vagrant Share session... default: Share will be at: xxxxx ==> default: Your Vagrant Share is running! Name: xxxxx ==> default: URL: http://xxxxx.vagrantshare.com
上のようにコマンドを実行すると、URLが最後に出力されます。
あとはブラウザでそのURLにアクセスするだけ。
もちろんiPhoneなどの他の端末や、お客さんに見てもらうことだってできます。
僕が作ったVagrant+WordPressと組み合わせて超便利なWordPress開発環境が手にはいります!
設定方法
基本的には以下のサイトに書いてあることそのまんまでオッケーです。
Vagrant CloudのVagrant Shareを試してみたら凄すぎて鼻血出た – 憂鬱な世界にネコパンチ!
ただし、いくつか補足があります。
まずMacの場合(Windowsはわかんないw)、以下のようにファイヤーウォールでvagrantへのアクセスを許可してあげてください。
(ファイヤーウォールの設定はあくまでもオウンリスクよ!)
次にWordPress側で解決しないといけない問題があります。
実際にVagrant上のWordPressにアクセスすると分かるんですが、CSSや画像などに対してリンク切れを起こしてしまいます。
で、これはプラグインを作りました。
まず、以下のページに従ってVagrant+WordPressな環境を構築してください。
http://firegoby.jp/archives/5141
あとは、こちらからプラグインを入手してそれをVagrant上のWordPressにインストールしましょう!
https://github.com/miya0001/dynamic-hostname
あとは、vagrant share
!
このプラグインをインストールするとWordPress内で使用されているホスト名をvagrant share
によって割り当てられたホスト名に自動的に置換します。
この置換はあくまでも仮のものなので、実際にデータベースの中身等は書き換えたりしません。
さらに、仮のホストから投稿された記事内の画像や内部リンクのURLは、本来のURL(WP_HOMEの値)に置換されて保存されますので、WP_HOMEのホスト名を本番環境と同じドメイン名にしておけば、本番環境に移行する際にデータベースのデータの置換作業等が必要ありません。
vagrant connectも超便利
vagrant shareだけだと、httpでの接続しかできませんが、vagrant connectを使用するとSSHなどでの接続も可能になります。
もちろんこれ、セキュリティ的にリスクも当然ありますので、これを立ち上げっぱなしにすることはおすすめしませんが、チームでVangarnt環境を共有して開発してる時に「ちょっとあたしのVagrantうごかなーい」みたいなことになった時にはかなり心強い味方になるはずです。
$ vagrant connect xxxxx (略) ==> connect: Connect is running! ==> connect: SOCKS address: 127.0.0.1:59563 ==> connect: Machine IP: xxx.xxx.xxx.xxx ==> connect: ==> connect: Vagrant has successfully connected to the remote shared machine! ==> connect: You can either use the machine IP above to talk to it like any other ==> connect: computer, or you can configure your software to use a standard ==> connect: SOCKS5 proxy at the address above. With either method, you'll be able ==> connect: to communicate with the shared machine. ==> connect: ==> connect: If you're having trouble communicating, verify that the shared machine ==> connect: has given you access to the specified ports. ==> connect: ==> connect: Press Ctrl-C to stop connection.
というわけでVagrant Cloud、あまりにも素晴らしすぎて、無料で使わせていただくのは申し訳ないほどすごいです。
最近の投稿
- oEmbed Gist + Jetpack 2.9について
- WordPressで jQuery UI を使うときに、WordPressと同じバージョンのCSSをGoogleから取得する
- WordPressでget_*()を使うときは念のためソースを確認して適切に処理すべし!
- WordPressで画像のサイズの一覧とそれぞれのサイズを取得する
- 2013年の振り返り!
- Sphero2をLeap Motionで動かしちゃおー!(その2)
- Sphero2をLeap Motionで動かしちゃおー!
- oEmbed Instagram 1.4.0 – 動画にも対応しました!
- わお!WordPress 3.8がもうすぐ出ちゃうので、プラグイン開発者の立場でお願い!
- WordPressに独自のURLを追加する。2014年版