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

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.phpPHP 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: timeSession Timeout
セッションタイムアウトの設定:
user:
class: myUser
param:
timeout: 1800Logging
prod環境ではデフォルトでログ機能はOFF。ファイルシステムでのログ機能をONにする例:
logger:
class: sfFileLogger
param:
level: error
file: %SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%.logDeploying
いよいよデプロイ方法について。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”の方を使っています。。
次回はいよいよ最終回。では、また。