27
PHP Fog + Symfony2 ステージング環境を作ってみた 2011/12/04 5Symfony2勉強会 重岡 正(@bakorer

5th Symfony2 Study Meeting Shigeoka' LT 20111204

Embed Size (px)

Citation preview

Page 1: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

PHP Fog + Symfony2 でステージング環境を作ってみた

2011/12/04第5回 Symfony2勉強会重岡 正(@bakorer)

Page 2: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

おまえ誰よ?

• 重岡 正• Tadashi Shigeoka• @bakorer• Programmer 1年生

Page 3: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

僕とSymfony• 新入社員研修でSymfony1.4

• それからは、、、まともに使ってない• 次の案件でSymfony2を使えるかも

Page 4: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

人生初のLTです。

Page 5: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

お手柔らかにお願いします。

Page 6: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

ところで、皆さんステージング環境ってどうしてます?

Page 7: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

• VPS 2つ契約してる

• 開発環境で確認したら、即、本番アップだぜ!

• ステージング環境なにそれ?おいしいの?

Page 8: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

Heroku を使うとステージング環境がカンタンに作れて素敵

※引用:Herokuで認証付きのステージング環境を構築する - exdesign http://blog.exdesign.jp/heroku

Page 9: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

Heroku で最近 PHP も使えるようになったし、

Herokuで作るか!

Page 10: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

Herokuでは、できませんでした。

Page 11: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

どのPaaS使おう?

Page 12: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

Symfony2なんだし、PHP Fogを使ってみよう

Page 13: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

PHP Fog + Symfony2 でステージング環境を作る手順• 1. PHP Fog で新規アプリ作成• 2. Symfony2 アプリケーションを PHP FogにPushする

• 3. PHP Fog App を Symfony2 用に設定する

• 4. Symfony2 に Basic認証を設定する

Page 14: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

PHP Fog で新規アプリ作成

Page 15: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

アプリケーションの選択

Symfonyがないじゃないか!仕方ないから「Custom App」から作ります

Page 16: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

MySQLのパスワードとドメインの設定

Page 17: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

できた!

Page 18: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

SSH公開鍵の設定

Page 19: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

Symfony2 アプリケーションをPHP FogにPushする

• $ git clone [email protected]:symfony2.phpfogapp.com

• $ cd symfony2.phpfogapp.com

• $ git rm index.php

• $ git remote add phpfog [email protected]:symfony2.phpfogapp.com

• Symfony2 のファイル一式を設置

• $ vim web/app_dev.php

• $ vim web/config.php

• $ git add .

• $ git commit -m 'symfony2 init'

• $ git push phpfog master

Page 20: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

Symfony2 の動作確認

Page 21: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

タイムゾーンの設定• date.timezone の設定をどこかに書く

• Rails の app/controllers/application_controller.rb 的なところに

• Symfony2 だと、どこに書けばいいですかね?

• → (追記) app/AppKernel.php に書けば良いと教えて頂きました!

• PHP アクセラレータはインストールできないのでスルー

• short_open_tag は変更できないのでスルー

ini_set('date.timezone', 'Asia/Tokyo');

Page 22: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

PHP Fog App を Symfony2 用に設定する• $ vim web/clean_prod_cache.php

• $ git add .

• $ git commit -m 'create clean_prod_cache.php'

• $ git push phpfog master

<?phpsystem('php ../app/console env=prod cache:clear');system('php ../app/console env=prod cache:warm');?>

Page 23: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

ドキュメントルートの設定

http://symfony2.phpfogapp.com/web/app_dev.php/→ http://symfony2.phpfogapp.com/app_dev.php/

と web を省略できる

Page 24: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

cache, logs ディレクトリに書込み権限を与える

Page 25: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

Symfony2 にBasic認証を設定する

• $ vim app/config/security.yml

security: encoders: Symfony\Component\Security\Core\User\User: plaintext providers: in_memory: users: admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] } firewalls: secured_area: pattern: ^/ http_basic: realm: "Secured Area" access_control: - { path: ^/, roles: ROLE_ADMIN }

Page 26: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

まとめ

• Symfony2 でアプリ開発するときに PHP Fogでステージング環境が作れる?

• Assetic を使うには有料プラン

• 参考• http://docs.phpfog.com/index.php/features/article/supported_frameworks

• http://www.developly.com/using-symfony2-on-phpfog-now-right-now

Page 27: 5th Symfony2 Study Meeting  Shigeoka' LT  20111204

Thank you!