最初はほとんど Getting Started with symfony と同じかも。
#### Practical symfony 1日目(http://www.symfony-project.org/jobeet/1_4/Doctrine/ja/01) > cd Y:\Storage\jobeet > mkdir .\lib\vendor > mkdir .\lib\vendor\symfony #### 1.4 ブランチを使う事にする(see also http://svnbook.red-bean.com/index.en.html) > svn checkout http://svn.symfony-project.com/branches/1.4/ .\lib\vendor\symfony リビジョン 32074 > php lib\vendor\symfony\data\bin\symfony -V symfony version 1.4.10-DEV (Y:\Storage\jobeet\lib\vendor\symfony\lib) > php lib\vendor\symfony\data\bin\symfony generate:project jobeet >> dir+ Y:\Storage\jobeet\apps >> dir+ Y:\Storage\jobeet\cache >> dir+ Y:\Storage\jobeet\config >> file+ Y:\Storage\jobeet\config/ProjectConfiguration.class.php >> file+ Y:\Storage\jobeet\config/properties.ini >> file+ Y:\Storage\jobeet\config/rsync_exclude.txt >> dir+ Y:\Storage\jobeet\data >> dir+ Y:\Storage\jobeet\data/fixtures >> file+ Y:\Storage\jobeet\data/fixtures/fixtures.yml >> dir+ Y:\Storage\jobeet\lib/form >> file+ Y:\Storage\jobeet\lib/form/BaseForm.class.php >> dir+ Y:\Storage\jobeet\log >> dir+ Y:\Storage\jobeet\plugins >> file+ Y:\Storage\jobeet\symfony >> dir+ Y:\Storage\jobeet\test >> dir+ Y:\Storage\jobeet\test/bootstrap >> file+ Y:\Storage\jobeet\test/bootstrap/functional.php >> file+ Y:\Storage\jobeet\test/bootstrap/unit.php >> dir+ Y:\Storage\jobeet\test/functional >> dir+ Y:\Storage\jobeet\test/unit >> dir+ Y:\Storage\jobeet\web >> file+ Y:\Storage\jobeet\web/.htaccess >> dir+ Y:\Storage\jobeet\web/css >> file+ Y:\Storage\jobeet\web/css/main.css >> dir+ Y:\Storage\jobeet\web/images >> dir+ Y:\Storage\jobeet\web/js >> file+ Y:\Storage\jobeet\web/robots.txt >> dir+ Y:\Storage\jobeet\web/uploads >> dir+ Y:\Storage\jobeet\web/uploads/assets >> tokens Y:/Storage/jobeet/config/ProjectConfiguration.class.php >> tokens Y:/Storage/jobeet/config/properties.ini >> tokens Y:/Storage/jobeet/config/rsync_exclude.txt >> tokens Y:/Storage/jobeet/config/ProjectConfiguration.class.php >> tokens Y:/Storage/jobeet/config/properties.ini >> tokens Y:/Storage/jobeet/config/rsync_exclude.txt >> tokens Y:/Storage/jobeet/lib/form/BaseForm.class.php >> file+ Y:\Storage\jobeet\config/databases.yml >> dir+ Y:\Storage\jobeet\config/doctrine >> file+ Y:\Storage\jobeet\config/doctrine/schema.yml >> chmod 777 Y:\Storage\jobeet\web\uploads >> chmod 777 Y:\Storage\jobeet\cache >> chmod 777 Y:\Storage\jobeet\log >> chmod 777 Y:\Storage\jobeet/symfony >> chmod 777 Y:/Storage/jobeet/web/uploads/assets >> tokens Y:/Storage/jobeet/config/databases.yml >> tokens Y:/Storage/jobeet/config/doctrine/schema.yml >> tokens Y:/Storage/jobeet/config/ProjectConfiguration.class.php >> tokens Y:/Storage/jobeet/config/properties.ini >> tokens Y:/Storage/jobeet/config/rsync_exclude.txt >> tokens Y:/Storage/jobeet/lib/form/BaseForm.class.php #### これで "symfony" がコピーされるのでバッチファイルをコピーすればパスを打たずに済む > copy lib\vendor\symfony\data\bin\symfony.bat . > symfony -V symfony version 1.4.10-DEV (Y:\Storage\jobeet\lib\vendor\symfony\lib) #### アプリケーションの作成 > symfony generate:app --escaping-strategy=on --csrf-secret=HiMITsU frontend >> dir+ Y:\Storage\jobeet\apps/frontend\config >> file+ Y:\Storage\jobeet\apps/frontend\config/app.yml >> file+ Y:\Storage\jobeet\apps/frontend...licationConfiguration.class.php >> file+ Y:\Storage\jobeet\apps/frontend\config/cache.yml >> file+ Y:\Storage\jobeet\apps/frontend\config/factories.yml >> file+ Y:\Storage\jobeet\apps/frontend\config/filters.yml >> file+ Y:\Storage\jobeet\apps/frontend\config/routing.yml >> file+ Y:\Storage\jobeet\apps/frontend\config/security.yml >> file+ Y:\Storage\jobeet\apps/frontend\config/settings.yml >> file+ Y:\Storage\jobeet\apps/frontend\config/view.yml >> dir+ Y:\Storage\jobeet\apps/frontend\i18n >> dir+ Y:\Storage\jobeet\apps/frontend\lib >> file+ Y:\Storage\jobeet\apps/frontend\lib/myUser.class.php >> dir+ Y:\Storage\jobeet\apps/frontend\modules >> dir+ Y:\Storage\jobeet\apps/frontend\templates >> file+ Y:\Storage\jobeet\apps/frontend\templates/layout.php >> tokens Y:/Storage/jobeet/apps/frontend/config/settings.yml >> file+ Y:\Storage\jobeet\web/index.php >> file+ Y:\Storage\jobeet\web/frontend_dev.php >> tokens Y:\Storage\jobeet\web/index.php >> tokens Y:\Storage\jobeet\web/frontend_dev.php >> rename Y:\Storage\jobeet\apps/frontend...frontendConfiguration.class.php >> tokens Y:\Storage\jobeet\apps/frontend...frontendConfiguration.class.php >> chmod 777 Y:\Storage\jobeet\web\uploads >> chmod 777 Y:\Storage\jobeet\cache >> chmod 777 Y:\Storage\jobeet\log >> chmod 777 Y:\Storage\jobeet/symfony >> chmod 777 Y:/Storage/jobeet/web/uploads/assets >> dir+ Y:\Storage\jobeet\test/functional/frontend #### httpd の設定の別ポートの所は飛ばす。 #### 名前ベース virtual host の設定を追記 # This is the configuration for one of my symfony projectServerName jobeet.localhost DocumentRoot "Y:/Storage/jobeet/web" DirectoryIndex index.php #### ブラウザで http://jobeet.localhost/ と http://jobeet.localhost/frontend_dev.php/ を確認。 #### subversion のリポジトリを作成 > svnadmin create --fs-type fsfs F:\Storage\repos\jobeet #### WebDAV の設定 #### httpd.conf の dav_module と dav_fs_module を有効化する、dav_lock_module は dav_fs_module を使う場合は必要ない。 #### 更に下記2つのモジュールを読み込み LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so" LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so" #### 下記行を追記AllowOverride All Allow from All Alias /sf "Y:/Storage/jobeet/lib/vendor/symfony/data/web/sf"AllowOverride All Allow from All AddHandler application/x-httpd-php .php AddDefaultCharset UTF-8DAV svn SVNParentPath "f:\Storage\repos" #AuthType Basic #AuthName "Subversion repositories" #AuthUserFile "C:/Program Files/Apache Group/Apache2/etc/svnpasswd" # #### TortoiseSVN で http://localhost/svn/jobeet をチェックアウトしてみる。 #### 標準的なディレクトリ構造を作って即コミット > svn mkdir -m "standard directory structure is created." http://localhost/svn/jobeet/trunk http://localhost/svn/jobeet/branches http://localhost/svn/jobeet/tags #### trunk をチェックアウト > svn checkout http://localhost/svn/jobeet/trunk Y:\Storage\jobeet #### cache/* と log/* を削除、その他もコミットしたくない物を移動か削除しておく(php_errors.log などができているかもしれない) > del /Q Y:\Storage\jobeet\cache\* > del /Q Y:\Storage\jobeet\log\* #### ↑じゃサブディレクトリが消えない…… > rmdir /S /Q Y:\Storage\jobeet\cache > rmdir /S /Q Y:\Storage\jobeet\log > mkdir Y:\Storage\jobeet\cache > mkdir Y:\Storage\jobeet\log #### カレントディレクトリ以下の全てを管理対象に指定 > svn add * svn: Skipping argument: '.svn' は末尾に予約されたパス名がついています A apps A apps\frontend A apps\frontend\config A apps\frontend\config\app.yml A apps\frontend\config\cache.yml A apps\frontend\config\factories.yml A apps\frontend\config\filters.yml A apps\frontend\config\frontendConfiguration.class.php A apps\frontend\config\routing.yml A apps\frontend\config\security.yml A apps\frontend\config\settings.yml A apps\frontend\config\view.yml A apps\frontend\i18n A apps\frontend\lib A apps\frontend\lib\myUser.class.php A apps\frontend\modules A apps\frontend\templates A apps\frontend\templates\layout.php A config A config\databases.yml A config\doctrine A config\doctrine\schema.yml A config\ProjectConfiguration.class.php A config\properties.ini A config\rsync_exclude.txt A data A data\fixtures A data\fixtures\fixtures.yml A lib A lib\form A lib\form\BaseForm.class.php A lib\vendor svn: 警告: 'lib\vendor\symfony' は既にバージョン管理下におかれています A plugins A test A test\bootstrap A test\bootstrap\functional.php A test\bootstrap\unit.php A test\functional A test\functional\frontend A test\unit A web A web\.htaccess A web\css A web\css\main.css A web\frontend_dev.php A web\images A web\index.php A web\js A web\robots.txt A web\uploads A web\uploads\assets #### svn:externalsプロパティ設定 > svn propset svn:externals "symfony http://svn.symfony-project.com/branches/1.4" .\lib\vendor\ #### svn:ignoreプロパティ設定 > svn propset svn:ignore "*" .\cache > svn propset svn:ignore "*" .\log #### もし propset ではなくて propedit を使う場合は 環境変数 SVN_EDITOR を設定しておくか --editor-cmd=エディタへのパス で指定する > SET SVN_EDITOR=notepad > svn propedit svn:externals .\lib\vendor > svn propedit svn:ignore .\cache > svn propedit svn:ignore .\log or > svn propedit svn:externals .\lib\vendor --editor-cmd=notepad > svn propedit svn:ignore .\cache --editor-cmd=notepad > svn propedit svn:ignore .\log --editor-cmd=notepad #### コミットする > svn commit -m "symfony files are commited." . #### アップデートしてみる > svn update #### 外部項目の更新が重い。symfony は svn:externals じゃなくて svn:ignore でもいいかも。# Require valid-user #