[symfony] jobeetをやってみる - day23

Posted by Toc on 1 月 19, 2009 in symfony |

Day23

前回の続きです。公式ドキュメントはこちら

今回は製品サーバへのデプロイとその周辺について。

Preparing the Production Server

Server Configuration

製品サーバにPHPや必要な拡張モジュールがインストールされているかを、check_configuration.php(下記URLからDL可能)で、ブラウザとコマンドラインの両方から確認。

http://trac.symfony-project.org/browser/branches/1.2/data/bin/check_configuration.php?format=raw

$ php check_configuration.php

PHP Accelerator

APCの説明。

The symfony Libraries

Embedding symfony

“config/ProjectConfiguration.class.php”にある”sfCoreAutoload.class.php”への絶対パスだけは確認しておいてね、とのこと。

Upgrading symfony

symfonyのアップグレード方法について。SVNやFTPを使う場合、新バージョンを試す方法など。

Tweaking the Configuration

コマンドラインでのDB設定方法。

plugin:installを使わずにインストールしたプラグインの画像などへのシンボリックを作成してくれる、”plugin:publish-assets”タスクについて。

“config/error/error.html.php”(for prod)と”config/error/exception.html.php”(for dev)のファイルを作ることで、exceptionページをカスタマイズすることができる。

Customizing the Directory Structure

ディレクトリ構造のカスタマイズ方法について。config/ProjectConfiguration.class.phpを使用。

The Web Root Directory

public function setup()
{
  $this->setWebDir($this->getRootDir().'/public_html');
}

The Cache and Log Directory

public function setup()
{
  $this->setCacheDir('/tmp/symfony_cache');
  $this->setLogDir('/tmp/symfony_logs');
}

The Factories

“factories.yml”でのコアオブジェクト(sfUser, sfRequest, sfResponse, sfI18N, sfRouting, etc)のカスタマイズ方法。

Cookie Name

セッション用クッキー名の変更方法。

Session Storage

セッションをDBで扱う場合の設定例:

storage:
  class: sfPDOSessionStorage
  param:
    session_name: jobeet
    db_table:     session
    database:     propel
    db_id_col:    id
    db_data_col:  data
    db_time_col:  time

Session Timeout

セッションタイムアウトの設定:

user:
  class: myUser
  param:
    timeout: 1800

Logging

prod環境ではデフォルトでログ機能はOFF。ファイルシステムでのログ機能をONにする例:

logger:
  class: sfFileLogger
  param:
    level: error
    file:  %SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%.log

Deploying

いよいよデプロイ方法について。project:deployタスクを使用。1.0のsyncタスクのことですね。

“config/properties.ini”でデプロイ先の設定。

設定後、下記コマンドで転送をシミュレートして:

$ ./symfony project:deploy production

問題なければ、下記コマンドで実行:

$ ./symfony project:deploy production --go

転送対象から外したいファイルやディレクトリの設定は”config/rsync_exclude.txt”で。その逆の”config/rsync_include.txt”のファイルを作成することも可能。

転送後はキャッシュのクリアをお忘れなく。

See you Tomorrow

“factories.yml”ファイルで色々とカスタマイズできそうですね。
コマンドもネームスペース化されたものの、デプロイコマンドは未だに”sync”の方を使っています。。

次回はいよいよ最終回。では、また。

Tags: ,

ブックマーク

コメント

お気軽にコメント下さい。

Copyright © 2010 tic-toc.info All rights reserved. Theme by Laptop Geek.