dotcloudでphpを動かしてみました

twitterでdotcloudというpaasがあることを知り、phpでも使えるということなので
ちょっと試してみました。


まだbeta版ということで、invite codeが必要になります。
自分の場合は申し込んで3日後にinvite codeが送られてきました。


チュートリアル
http://docs.dotcloud.com/tutorials/firststeps/
を見ながらやっていきます。

1. dotcloudコマンドをインストールする

$ sudo easy_install dotcloud

これで、dotcloudに対して自分用のアカウントを作ったり、デプロイするためのコマンドが使えるようになりました。

2. アプリの名前空間を作る

ojimacという名前にします。

$ dotcloud create ojimac

まだdotcloud上にない、ユニークな名前を付ける必要があります。チュートリアルにある"ramen"という名前をそのまま
使ってしまうと、

error: "ramen" already exists.

のようにエラーになります。

3. phpファイルをデプロイする

phpinfoを表示するだけのプログラムhoge.phpを作成します。

デプロイしてみます。

$ dotcloud deploy -t php ojimac.www

うまくいくと、

Created "ojimac.www".

のようなメッセージが返ってきます。

4. アクセスしてみます

デプロイ先はhttp://..dotcloud.com/
ということなので、
http://www.ojimac.dotcloud.com/
にアクセスすると、

うまく表示されました!

5. ファイルのアップロード

<?php
echo 'hello! dotcloud world!';

という内容のindex.phpというファイルをdotcloudにアップしたいとします。
単にファイルをアップロードするときには、pushコマンドを使います。3. と同じディレクトリで、

$ dotcloud push ojimac.www .

とすると、dotcloud側にファイルがアップロードされます。


http://www.ojimac.dotcloud.com/
にアクセスすると、index.phpの内容が表示され、

http://www.ojimac.dotcloud.com/hoge.php
にアクセスすると、でphpinfoが表示されることが確認できます。

6. sshするには?

$ dotcloud ssh ojimac.www

sshログインできます。

7. gitとの連携

dotcloud pushするディレクトリに.gitディレクトリがある場合は、git pushしたときのような挙動になるようです。

$ dotcloud push ojimac.www .

とすると、commitした内容がdotcloud側に反映されます。

ひとまず今回はここまでにしました。最初から環境が用意されているのはとても楽ですね!
サービスを動かす際の選択肢のひとつになりそうです。