Hatena::ブログ(Diary)

かれ3  かれこれ3個目のブログ このページをアンテナに追加

地震情報を別ブログにしました。3/18以前の情報はここにあります。
メール通知の登録方法などについてはこちらをご覧ください。

2011-12-03

phpcloudを使ってみた

昨日のPHPer王子 @shin1x1さんのツイートに誘われてやってきました PHP Advent Calendar jp 2011 3日目

書籍化するの大丈夫なんだろうか。しかもTipsでも何でも無いという。

でも使ってみたかったphpcloud

使ってみた感じを公開したかったphpcloud

Zendから発表された phpcloud

phpcloud.comは、「Zend Developer Cloud」と呼ばれる開発環境と、「Zend Application Fabric」と呼ばれる実行環境で構成されます。

Zend Developer Cloudは、開発用のサンドボックス機能やデバッグのためのトレース機能、開発者間の情報共有機能などを備えており、無料で提供される予定。

Zend Application FabricPHPアプリケーションモニタリングと管理機能を備えており、通常のPHPアプリケーションのまま、負荷に応じたオートスケーリング機能も提供するとのこと。

引用元:publickey


他の類似した物をあげると

他にもあるかもしれませんが、こんなのがあります。


これまで、Java,Ruby ,Pythonとあったのですが、ついにphpホスティングサービスが来ました。しかもZendから。

インフラAmazon EC2を使っているという噂なので、それも確かめてみます。

と小難しい事はさておいて とりあえず、デプロイしなきゃ始まりません。



ログインからcontainer作りまで

TOPページ

f:id:tottokug:20111203092217p:image:w480:left

登録はもう済んでしまったので、ログインから

http://phpcloud.comアクセスすると、優しそうなお兄さんがいます。

右上の[Already a hero? login here]からログインします。


ログイン

f:id:tottokug:20111203092218p:image:w480:right

登録時に決めたusernameとパスワードを入れてログインします。


管理画面

f:id:tottokug:20111203092220p:image:w480:left

ログインするとこんな感じの画面が出てきます。

phpcloudではcontainerとapplicationという単位でアプリケーションを管理します。

containerはイメージとしてはVirtualHostのような感じです。

URLはhttp://[$container].my.phpcloud.com/[$application]

という形になるので、きっとcontainerの名前は世界中でユニークになるのでは無いかと思われます。

まずはcontainerを作ります。

この画面にある[CREATE CONTAINER]ボタンを押します。

現在は1ユーザ2個までcontainerが作れます。


container作るフォーム

f:id:tottokug:20111203092221p:image:w480:right

今回はproductsというcontainerを作ってみます。container名とパスワードを入力するだけの簡単なお仕事です。


container作るフォームに入力した所

f:id:tottokug:20111203092222p:image:w480:left

container名は使えるかどうかといったことや、パスワードが短かいよ、簡単だよと、その場でなんか言われます。


SMTPサーバの設定も出来ます。

f:id:tottokug:20111203092223p:image:w480:right

オプションSMTPサーバの設定なんかも出来ます。



作成ちう

f:id:tottokug:20111203092224p:image:w480:left

必要な情報を入れ、[Create Container]ボタンを押せば、20秒ほどくるくるしてcontainerは出来上がります。


containerが出来ました

f:id:tottokug:20111203095624p:image:w480:right

出来上がるとこの画面に戻され、↑こんな感じでcontainerが増えています。


出来た!

ちょっとこの段階でURLっぽいproducts.my.phpcloud.comをクリックしてみると、、、、

f:id:tottokug:20111203095625p:image:w480:left

your new application container is up and running

と、なんだか新しいapplication containerが出来ましたよーで、動いてるんだぜみたいな事を表示してくれます。




ちょっと休憩

ほんとにAmazonEC2を使ってるかな?

ちなみにこのドメインをdigって見ると

$ dig products.my.phpcloud.com

; <<>> DiG 9.7.3-P3 <<>> products.my.phpcloud.com
〜略〜

;; QUESTION SECTION:
;products.my.phpcloud.com.     IN     A

;; ANSWER SECTION:
products.my.phpcloud.com. 300     IN     A     107.20.77.208

;; Query time: 99 msec
;; SERVER: 222.146.35.1#53(222.146.35.1)
;; WHEN: Thu Dec  1 14:22:04 2011
;; MSG SIZE  rcvd: 58

となっておりIPアドレス107.20.77.208な事がわかります。

このIPアドレスを逆引きしてみると

$ dig -x 107.20.77.208

; <<>> DiG 9.7.3-P3 <<>> -x 107.20.77.208
〜略〜

;; QUESTION SECTION:
;208.77.20.107.in-addr.arpa.     IN     PTR

;; ANSWER SECTION:
208.77.20.107.in-addr.arpa. 300     IN     PTR     ec2-107-20-77-208.compute-1.amazonaws.com.

噂通りAmazon EC2でした

Application作るぞー

Applicationを作る


では、次にapplicationを作ります。左ペインにあるMyContainersの中から、今作ったproductsをクリックするとそこにあるapplicationが表示されます。

f:id:tottokug:20111203092225p:image:w480:right

containerを作ってすぐ段階ではdefaultとして何かデプロイされていますが、これは消しちゃって大丈夫です。

新しくapplicationを作る時に/配下のURLを指定する必要があるので、むしろ消してしまった方がURLの付け方とかを悩まなくて済むかもしれません。

appicationを作成しませう。

Deployed Applicationsという見出しの横にある[add / remove apps]のリンクをクリックします。


Applicationの一覧画面

f:id:tottokug:20111203101238p:image:w480:left

今あるapplicationの一覧が表示されてしまっています。

[+New Application]のボタンがあるので、これをポチッとします。


テンプレートからapplicationを作るぞー

f:id:tottokug:20111203092228p:image:w480:right

幾つかテンプレートが用意されていて、選ぶだけでZendFramework,ZendFramework2.0,Drupal,Joomla, Magento,Wordpress,phpBBが簡単に出来ます。

DrupalとかJoomlaとかやったほうが見栄えはいいのですが、自分はZendFrameworkが好きなのでZendFrameworkを選びます。


名前をつけよう

f:id:tottokug:20111203092229p:image:w480:left

applicationの名前とアクセスする為のパスを指定するだけの簡単なお仕事です。

そして今作ったapplicationに対してアクセスしてみます。

URLはhttp://{$container_name}.my.phpcloud.com/{$application_name}

です。


ZendFrameworkの画面

f:id:tottokug:20111203092231p:image:w480:right

無事にZendFrameworkが動いていそうです


この裸のZendFrameworkどうしてくれよう。

phpcloudはgitでapplicationのソースコードアクセスすることができます。

URL

https://{$container_name}@{$container_name}.my.phpcloud.com/git/{$application_name}.git

です。

{$container_name}、{$application_name}は読み替えて下さい。

さっきcalendarというapplicationを作っていたので、そいつのソースを持ってきてみます。

$ git clone https://products@products.my.phpcloud.com/git/calendar.git calendar
Cloning into calendar...
Password: 「container作成時に入力したパスワード」
remote: Counting objects: 24, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 24 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (24/24), done.
$
$
$
$ cd calendar
calendar$ find ./ -not -regex ".*\.git.*"
./
.//.zfproject.xml
.//application
.//application/Bootstrap.php
.//application/configs
.//application/configs/application.ini
.//application/controllers
.//application/controllers/ErrorController.php
.//application/controllers/IndexController.php
.//application/views
.//application/views/scripts
.//application/views/scripts/error
.//application/views/scripts/error/error.phtml
.//application/views/scripts/index
.//application/views/scripts/index/index.phtml
.//docs
.//docs/README.txt
.//public
.//public/.htaccess
.//public/index.php
.//tests
.//tests/application
.//tests/application/bootstrap.php
.//tests/library
.//tests/library/bootstrap.php
.//tests/phpunit.xml

という感じでZendFrameworkなアプリケーションスケルトンダウンロードできました。

デプロイgitを使ってします。


このファイルの中での注目はもちろん「.htaccess

.htaccessがいじれるというのはそれだけでかなり面白い予感です。ZendFrameworkが動く=rewriteは使える。

もし時間があれば、次回は.htaccess @phpcloudを深く追ってみたいと思います。

使い勝手


全体的に迷うことなくcontainerを作ってapplicationを作って開発をすることができそう。

後は実際の運用環境はどうするのか、データベースはどうなるのかなど、

まだまだ不明なところも多いですが、開発環境として使うには結構使い勝手が良いのかなと

思いました。



最後に

今回軽く触れたphpcloud あと4人招待することが出来ます。

もし、使ってみたい人がいましたら、

Twitter で @tottokugに「phpcloud使ってみたい!」とつぶやいて下さい。

人数が多い場合は、適当に選びマス。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/tottokug/20111203/1322877439