FuelPHPのScaffoldで作成した画面をdotcloudにデプロイしてみた         2013/03/23   FuelPHP勉強会 東京 vol.3       @toshihirock
自己紹介• @toshihirock• PHPは今年まで未経験。• 今年に入って「PHPでプログラム作成し て」といわれた。しかも納期は約1ヶ 月、だと・・・• 先輩の勧めで「FuelPHP」を利用• FuelPHPのおかげで無事納品←今ここ
今日のお話
FuelPHPをdotcloudに デプロイしてみた
dotcloud?
dotcloud?• PaaS。AWSとかHerokuとか• PHP,Node.js,Ruby,Javaなど対応• DBはMySQL,PostgreSQLなど対応• 無料でも使える• WebSocket使える。サーバーへのsshも 可能。cro...
目次• ローカル環境でScaffold画面を作成• dotcloudの利用準備• Welcomeページをdotcloudで(メイン)• Scaffoldで作成した画面を表示 (メイン)• まとめ
確認内容• FuelPHP1.5• MySQL• ローカル操作はMacOSX• dotcloudのCLIは0.9
1.ローカル環境でScaffold画面を作成
アプリ作成+Scaffold$ cd ~/Site/$ oil create blog$ oil g scaffold post title:varchar[255]summary:varchar[255] body:text$ oil refi...
http://localhost/blog/public/
2.dotcloud利用準備
アカウント作成https://www.dotcloud.com/
コマンドラインツー      ルのインストール$ sudo easy_install pip && sudo pip install dotcloud$ dotcloud setup • 公式:http://docs.dotcloud.com/...
4.Welcomeページを   dotcloudで
ドキュメント類の削       除(必須ではない)$ cd ~/Site/blog/$ rm *.md$ rm -rf docs • dotcloudにpushする際に時間がかかるため、   不必要なファイルは削除
dotcloudアプリの作成$ dotcloud create fuelphpapp$ dotcloud list • 「dotcloud create <アプリケション名>」で   アプリを作成 • 「dotcloud list」で作成したア...
dotcloud.ymlの作成$ cd ~/Site/blog/$ vi dotcloud.yml • dotcloudにデプロイする際に必須 • デプロイする言語、利用するDB、Webサイ   トのDocumentRootなどを指定 • ファ...
dotcloud.yml1 www:2      type: php3      approot: public4 db:5      type: mysql
push$ dotcloud connect fuelphpapp$ dotcloud push • 「dotcloud connect <アプリケーション名   >」で利用するアプリを選択 • 「dotcloud push」でconncetし...
http://[hostname]
5.Scaffoldで作成した   画面の表示
Nginxの設定• dotcloudではWebサーバーはNginxを利用• 「nginx.conf」というファイルをpushすると doctloudでnginxの設定が出来る• URLから「index.php」を取り除く為に rewrite設定...
nginx.conf1 try_files $uri /index.php?$uri&$args;
MySQL• 「dotcloud run db --mysql」でコンソールで の操作が可能。以下をSQLで実施。 • DB作成 • DB操作ユーザーの作成 • テーブルの作成時間の関係で詳細は省略させて頂きます。
DB接続設定• db.phpを編集し、dotcloudのMySQLに接続す る• 接続ホスト名、接続ポート番号などは 「dotcloud info <DBのインスタンス名>」で 確認できる• dotcloudにenvironment.jsonが...
どうやって設定?• ファイルを確認して直書き • 設定ミスがありえる(port番号間違えて  小1時間悩んだ。。。)• ファイルから取得して値を設定 • ミスがないので安心!
db.php 1   <?php 2   $filepath = $_SERVER[HOME]./environment.json; 3   $env = json_decode(file_get_contents($filepath), tr...
push$ dotcloud push
http://[hostname]/post/
まとめ• dotcloud独自の設定は以下のみでOK • dotcloud.yml • nginx.conf • db.php• dotcloudではSSHログイン、cron設定も無料 で出来るので結構便利(taskの定期実行など も可能かと)
参考にさせて頂いた                      サイト•   FuelPHPをNginxで動かしてみる    •   http://akibe.com/fuelphp%E3%82%92nginx        %E3%81%A7%...
ご清聴ありがとうご  ざいました
FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
Upcoming SlideShare
Loading in …5
×

FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた

3,564 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,564
On SlideShare
0
From Embeds
0
Number of Embeds
1,176
Actions
Shares
0
Downloads
2
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた

  1. 1. FuelPHPのScaffoldで作成した画面をdotcloudにデプロイしてみた 2013/03/23 FuelPHP勉強会 東京 vol.3 @toshihirock
  2. 2. 自己紹介• @toshihirock• PHPは今年まで未経験。• 今年に入って「PHPでプログラム作成し て」といわれた。しかも納期は約1ヶ 月、だと・・・• 先輩の勧めで「FuelPHP」を利用• FuelPHPのおかげで無事納品←今ここ
  3. 3. 今日のお話
  4. 4. FuelPHPをdotcloudに デプロイしてみた
  5. 5. dotcloud?
  6. 6. dotcloud?• PaaS。AWSとかHerokuとか• PHP,Node.js,Ruby,Javaなど対応• DBはMySQL,PostgreSQLなど対応• 無料でも使える• WebSocket使える。サーバーへのsshも 可能。cronとかも仕込める
  7. 7. 目次• ローカル環境でScaffold画面を作成• dotcloudの利用準備• Welcomeページをdotcloudで(メイン)• Scaffoldで作成した画面を表示 (メイン)• まとめ
  8. 8. 確認内容• FuelPHP1.5• MySQL• ローカル操作はMacOSX• dotcloudのCLIは0.9
  9. 9. 1.ローカル環境でScaffold画面を作成
  10. 10. アプリ作成+Scaffold$ cd ~/Site/$ oil create blog$ oil g scaffold post title:varchar[255]summary:varchar[255] body:text$ oil refine migrate
  11. 11. http://localhost/blog/public/
  12. 12. 2.dotcloud利用準備
  13. 13. アカウント作成https://www.dotcloud.com/
  14. 14. コマンドラインツー ルのインストール$ sudo easy_install pip && sudo pip install dotcloud$ dotcloud setup • 公式:http://docs.dotcloud.com/firststeps/install/ • Windows,Linuxは上記を確認 • 「dotcloud setup」でログイン情報など入力
  15. 15. 4.Welcomeページを dotcloudで
  16. 16. ドキュメント類の削 除(必須ではない)$ cd ~/Site/blog/$ rm *.md$ rm -rf docs • dotcloudにpushする際に時間がかかるため、 不必要なファイルは削除
  17. 17. dotcloudアプリの作成$ dotcloud create fuelphpapp$ dotcloud list • 「dotcloud create <アプリケション名>」で アプリを作成 • 「dotcloud list」で作成したアプリ一覧取得 し、アプリが作成された事を確認
  18. 18. dotcloud.ymlの作成$ cd ~/Site/blog/$ vi dotcloud.yml • dotcloudにデプロイする際に必須 • デプロイする言語、利用するDB、Webサイ トのDocumentRootなどを指定 • ファイルはアプリケーションの一番上の階 層に配置
  19. 19. dotcloud.yml1 www:2 type: php3 approot: public4 db:5 type: mysql
  20. 20. push$ dotcloud connect fuelphpapp$ dotcloud push • 「dotcloud connect <アプリケーション名 >」で利用するアプリを選択 • 「dotcloud push」でconncetしたアプリに pushする。最後にアクセスするURLが表示 されるのでブラウザでアクセス
  21. 21. http://[hostname]
  22. 22. 5.Scaffoldで作成した 画面の表示
  23. 23. Nginxの設定• dotcloudではWebサーバーはNginxを利用• 「nginx.conf」というファイルをpushすると doctloudでnginxの設定が出来る• URLから「index.php」を取り除く為に rewrite設定を行う
  24. 24. nginx.conf1 try_files $uri /index.php?$uri&$args;
  25. 25. MySQL• 「dotcloud run db --mysql」でコンソールで の操作が可能。以下をSQLで実施。 • DB作成 • DB操作ユーザーの作成 • テーブルの作成時間の関係で詳細は省略させて頂きます。
  26. 26. DB接続設定• db.phpを編集し、dotcloudのMySQLに接続す る• 接続ホスト名、接続ポート番号などは 「dotcloud info <DBのインスタンス名>」で 確認できる• dotcloudにenvironment.jsonが存在し、そこ にも書いてある
  27. 27. どうやって設定?• ファイルを確認して直書き • 設定ミスがありえる(port番号間違えて 小1時間悩んだ。。。)• ファイルから取得して値を設定 • ミスがないので安心!
  28. 28. db.php 1 <?php 2 $filepath = $_SERVER[HOME]./environment.json; 3 $env = json_decode(file_get_contents($filepath), true); 4 $host = $env[DOTCLOUD_DB_MYSQL_HOST]; 5 $port = $env[DOTCLOUD_DB_MYSQL_PORT]; 6 $dbname = test_db; 7 $dsn = mysql:host=.$host.;port=.$port.;dbname=.$dbname; 8 9 return array(10 default => array(11 connection => array(12 dsn => $dsn,13 username => dbuser,14 password => ******,15 persistent => false,16 compress => false,17 ),18 ),19 );
  29. 29. push$ dotcloud push
  30. 30. http://[hostname]/post/
  31. 31. まとめ• dotcloud独自の設定は以下のみでOK • dotcloud.yml • nginx.conf • db.php• dotcloudではSSHログイン、cron設定も無料 で出来るので結構便利(taskの定期実行など も可能かと)
  32. 32. 参考にさせて頂いた サイト• FuelPHPをNginxで動かしてみる • http://akibe.com/fuelphp%E3%82%92nginx %E3%81%A7%E5%8B%95%E3%81%8B %E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/• Ubuntu 12.04 にて dotCloud の MySQL を試してみる (PHP編) • http://www-indblue.blogspot.jp/2012/08/ ubuntu-1204-dotcloud-mysql-php.html
  33. 33. ご清聴ありがとうご ざいました

×