FuelPHPのscaffoldで作成した画面をdotcloudにデプロイしてみた
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 3,067 views

 

Statistics

Views

Total Views
3,067
Views on SlideShare
2,170
Embed Views
897

Actions

Likes
3
Downloads
2
Comments
0

6 Embeds 897

http://toshihirock.blogspot.jp 562
http://wordpressapp-toshihirock.dotcloud.com 288
http://toshihirock.blogspot.com 42
http://webcache.googleusercontent.com 3
http://toshihirock.blogspot.de 1
http://toshihirock.blogspot.it 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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も 可能。cronとかも仕込める
  • 目次• ローカル環境で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 refine migrate
  • http://localhost/blog/public/
  • 2.dotcloud利用準備
  • アカウント作成https://www.dotcloud.com/
  • コマンドラインツー ルのインストール$ sudo easy_install pip && sudo pip install dotcloud$ dotcloud setup • 公式:http://docs.dotcloud.com/firststeps/install/ • Windows,Linuxは上記を確認 • 「dotcloud setup」でログイン情報など入力
  • 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したアプリに pushする。最後にアクセスするURLが表示 されるのでブラウザでアクセス
  • 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), 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 );
  • 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%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
  • ご清聴ありがとうご ざいました