sifue's blog

プログラマな二児の父の日常 ポートフォリオは www.soichiro.org

phpfogでクラウドアプリの作成を試してみる

http://dev.appfog.com/features/article/getting_started_custom_application
基本的には以上のやり方の日本語訳です。
このページにはAppFogというWordPressやSugreCRMやMediaWikiなどできあいをアップロードする方法も書かれているので注意。
ちなみにこのphpfog、無料版だと外部URLへのアクセスができなかったりかなり制限があるので、とりあえずテストとしてやってみるかぎりのことを以下にまとめておきます。
ちなみに詳しい制限は以下。
http://dev.appfog.com/features/article/shared_vs_dedicated


でははじめていきましょう。


◯ phpfogのアカウントを作成

https://phpfog.com

でトップページからsign upを選択し、その後、メールアドレス等を登録してアカウントを作成する。


◯ アプリを作成する

https://phpfog.com/account

以上の自分のアカウントのページのCloudsタブから、New Cloudを選択して、Sharedを選択する。3つまではタダで、色々なリソースがタダのよう。カスタムドメインだけ月5ドル必要とのこと。アクセスが小さいのであればShareで十分。あとから移行もできます。


Sharedを選択すると、次はApplicationsかFrameworksを選択できるが、ここではFrameworksのCustom Appを選択する。CakePHPなどのフレームワークを選択したい方は、それを選択。


最後にMySQLのパスワードとドメインを選択して、Create Appボタンを押して完了。MySQLのパスワードは、8文字以上で英数字と大文字小文字が全部入ってないとダメなので注意。


なお、DBはMySQLだが、MongoDBを使うオプションもあります。
自分はsifueというサブドメインでアプリを作成、大体10分ぐらいでアクセスできるようになる。

http://sifue.phpfogapp.com/

にアクセスすると。Hello world!が表示されている。


SSH Keyを登録
とはいうものの、まずはSSHのインストールが必要。
それに関しては各プラットフォームでいろいろインストールの仕方を確認してインストール。MacOSXには最初からインストールされているので大丈夫。


1. まずは、既にSSHのキーが無いかを確かめる。

cd ~/.ssh

もしディレクトリがない場合には、

mkdir ~/.ssh

でOK.


2. SSHが既にあった場合にはバックアップ

で作成してOKだが、もしあった場合はいざというという時のためにフォルダに有るファイルをバックアップしておくと良い。

ls

で確かめ、

mkdir key_backup
cp id_rsa* key_backup
rm id_rsa*

でkey_backupフォルダに移動しておく。


3. 公開鍵と秘密鍵を作成

ssh-keygen -t rsa

で終了。名前やパスワードを求められるがそのまま入力


4. 公開鍵id_rsa.pubの中身をテキストエディタで開いて

vim ~/.ssh/id_rsa.pub

このようにvimなどで開いてメールアドレス以前の公開鍵の内容をコピーして、
https://phpfog.com/account#/ssh_keys
のAdd SSH keyから追加して終了。コンソールからコピーすると変な改行が入ったりするのでその辺は注意。



◯ アプリのGitリポジトリの内容をクローン

適当なフォルダを作ってその中に入る

mkdir ~/Dropbox/Dev/phpfog
cd ~/Dropbox/Dev/phpfog

そして、自分のアプリのリポジトリからソースをクローン。先程自分はsifueという名前のリポジトリを作ったのでこんな感じ。先程キーを作った時のパスワードを求められるので、そのままそれを利用する。

git clone git@git01.phpfog.com:sifue.phpfogapp.com

すると、~/Dropbox/Dev/phpfog/sifue.phpfogapp.com というようなフォルダが作成され、その中には、index.phpが存在している。


phpファイルを編集してアプリのリポジトリにプッシュ
折角なので、index.phpを編集。
Hello world!をHello phpfog!とかに変えてしまう。


編集後、gitを使った人のある方ならば分かる通り、gitのインデックスに加えて、コミットし、サーバーにpushする。sifue.phpfogapp.comフォルダに移動して

cd ~/Dropbox/Dev/phpfog/sifue.phpfogapp.com
git add .
git commit -m "my first application update"
git push


となる。これでpushされたので、確認してみる。

http://sifue.phpfogapp.com/

以上のURLにアクセスするとすぐにHello phpfog!となっていることが確認できると思う。以上がphpfogの使い方でした。


なお、gitの使い方などは、


分散バージョン管理システムGitの使い方入門
http://sourceforge.jp/magazine/09/02/02/0655246


などを参考にしてみてください。あと、GitHubやHerokuを使う時もそうだけれど、Gitはまだコメントは英語の方がよさそうです。git logで見る時に文字化けたり、他の人の環境で文字化けたり、GitHubで文字化けたりします。

その他の使い方に関して、

http://dev.appfog.com/

にそれなりにまとまっているので参考に。


ただし、phpfog、有料版でなれけばかなり制約が多いです。
外部のURLから情報を取得したりするのですら、できません。
なのでボットとかにも使えず、結構制限が厳しいので予めPHPでしっかり作るぞということが決定しているような場合に役に立つのではないかなと思います。



ではでは。