symfonyをセットアップします、なんかXREAでもお願いするとインストールしてもらえるようです。が、頼む前にローカルで少し遊んでみようと思います。(いちいちftpでアップしてから確認・・が面倒なので)
http://www.symfony-project.com/askeet/ja/1が参考になります。
ローカルではxamppに頼っています。
symfonyを動作させるには
- PEARのVersionが1.4.0以上
- PHPのVersionが5.1.0
である必要があります。
パスを通していないのでc:\Program Files\xampp\phpに移動してpear versionを実行します
c:\Program Files\xampp\php>pear version PEAR Version: 1.4.11 PHP Version: 5.2.1 Zend Engine Version: 2.2.0
大丈夫そうです。
次に
pear channel-discover pear.symfony-project.com
でパッケージを落とします。
c:\Program Files\xampp\php> pear channel-discover pear.symfony-project.com Adding Channel "pear.symfony-project.com" succeeded Discovery of channel "pear.symfony-project.com" succeeded
成功、pear install symfony/symfonyでインストールします。
c:\Program Files\xampp\php>pear install symfony/symfony downloading symfony-1.0.2.tgz ... Starting to download symfony-1.0.2.tgz (1,903,264 bytes) ................................................................................ ................................................................................ ................................................................................ ................................................................................ ......................................................done: 1,903,264 bytes install ok: channel://pear.symfony-project.com/symfony-1.0.2
1.0.2が入ったもよう、
symfony -V
でバージョンを確認できたら成功です。
C:\Program Files\xampp\php\PEAR\symfony
にファイルが展開されているはずです。
続いてプロジェクトのセットアップです。symfonyのお勉強プロジェクトであるaskeetですすめてみます。以下のコマンドでセットアップできるようです。
$ mkdir /home/sfprojects/askeet $ cd /home/sfprojects/askeet $ symfony init-project askeet
プロジェクトのディレクトリに移動して実行しないといけないのでしょうか、パス通していないんで・・・init-projectのパラメータを調べるのも面倒になったのであきらめてset pathでパスを一時的に設定して実行します(最初からそうすればよかった?)
H:\web\makotokw.com\labs\sandbox\askeet>Set PATH=%PATH%;"C:\Program Files\xampp\php" H:\web\makotokw.com\labs\sandbox\askeet>symfony init-project askeet >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\apps >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\batch >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\cache >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\config >> file+ H:\web\makotokw.com\labs\sandbox\askeet\config\config.php >> file+ H:\web\makotokw.com\labs\sandbox\askeet\config\databases.yml >> file+ H:\web\makotokw.com\labs\sandbox\askeet\config\propel.ini >> file+ H:\web\makotokw.com\labs\sandbox\askeet\config\properties.ini >> file+ H:\web\makotokw.com\labs\sandbox\askeet\config\rsync_exclude.txt >> file+ H:\web\makotokw.com\labs\sandbox\askeet\config\schema.yml >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\data >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\data\model >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\data\sql >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\doc >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\lib >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\lib\model >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\log >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\plugins >> file+ H:\web\makotokw.com\labs\sandbox\askeet\symfony >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\test >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\test\bootstrap >> file+ H:\web\makotokw.com\labs\sandbo...t\test\bootstrap\functional.php >> file+ H:\web\makotokw.com\labs\sandbox\askeet\test\bootstrap\unit.php >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\test\functional >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\test\unit >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\web >> file+ H:\web\makotokw.com\labs\sandbox\askeet\web\.htaccess >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\web\css >> file+ H:\web\makotokw.com\labs\sandbox\askeet\web\css\main.css >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\web\images >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\web\js >> file+ H:\web\makotokw.com\labs\sandbox\askeet\web\robots.txt >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\web\uploads >> dir+ H:\web\makotokw.com\labs\sandbox\askeet\web\uploads\assets >> tokens H:\web\makotokw.com\labs\sandbox\askeet\config\propel.ini >> tokens H:\web\makotokw.com\labs\sandbox\askeet\config\properties.ini >> tokens H:\web\makotokw.com\labs\sandbox\askeet\config\propel.ini >> tokens H:\web\makotokw.com\labs\sandbox\askeet\config\config.php >> chmod 777 H:\web\makotokw.com\labs\sandbox\askeet\cache >> chmod 777 H:\web\makotokw.com\labs\sandbox\askeet\log >> chmod 777 H:\web\makotokw.com\labs\sandbox\askeet\web\uploads >> chmod 777 H:\web\makotokw.com\labs\sandbox\askeet\symfony >> chmod 777 web\uploads\assets H:\web\makotokw.com\labs\sandbox\askeet
できました。
続いてアプリケーションのセットアップです。先ほど作成したのはプロジェクトです。プロジェクトが複数のアプリケーションを束ねると考えればokです。
H:\web\makotokw.com\labs\sandbox\askeet>symfony init-app frontend >> dir+ H:\web\makotokw.com\labs\sandbox\askeet/apps/frontend\config >> file+ H:\web\makotokw.com\labs\sandbo...et/apps/frontend\config\app.yml >> file+ H:\web\makotokw.com\labs\sandbo.../apps/frontend\config\cache.yml >> file+ H:\web\makotokw.com\labs\sandbo...apps/frontend\config\config.php >> file+ H:\web\makotokw.com\labs\sandbo...s/frontend\config\factories.yml >> file+ H:\web\makotokw.com\labs\sandbo...pps/frontend\config\filters.yml >> file+ H:\web\makotokw.com\labs\sandbo...t/apps/frontend\config\i18n.yml >> file+ H:\web\makotokw.com\labs\sandbo...pps/frontend\config\logging.yml >> file+ H:\web\makotokw.com\labs\sandbo...pps/frontend\config\routing.yml >> file+ H:\web\makotokw.com\labs\sandbo...ps/frontend\config\security.yml >> file+ H:\web\makotokw.com\labs\sandbo...ps/frontend\config\settings.yml >> file+ H:\web\makotokw.com\labs\sandbo...t/apps/frontend\config\view.yml >> dir+ H:\web\makotokw.com\labs\sandbox\askeet/apps/frontend\i18n >> dir+ H:\web\makotokw.com\labs\sandbox\askeet/apps/frontend\lib >> file+ H:\web\makotokw.com\labs\sandbo...s/frontend\lib\myUser.class.php >> dir+ H:\web\makotokw.com\labs\sandbox\askeet/apps/frontend\modules >> dir+ H:\web\makotokw.com\labs\sandbox\askeet/apps/frontend\templates >> file+ H:\web\makotokw.com\labs\sandbo...s/frontend\templates\layout.php >> tokens H:\web\makotokw.com\labs\sandbo...ps/frontend/config\settings.yml >> file+ H:\web\makotokw.com\labs\sandbox\askeet\web/index.php >> file+ H:\web\makotokw.com\labs\sandbox\askeet\web/frontend_dev.php >> tokens H:\web\makotokw.com\labs\sandbox\askeet\web\index.php >> tokens H:\web\makotokw.com\labs\sandbox\askeet\web\frontend_dev.php >> chmod 777 H:\web\makotokw.com\labs\sandbox\askeet\cache >> chmod 777 H:\web\makotokw.com\labs\sandbox\askeet\log >> chmod 777 H:\web\makotokw.com\labs\sandbox\askeet\web\uploads >> chmod 777 H:\web\makotokw.com\labs\sandbox\askeet\symfony >> chmod 777 web\uploads\assets >> dir+ H:\web\makotokw.com\labs\sandbox\askeet/test/functional/frontend H:\web\makotokw.com\labs\sandbox\askeet>
続いてWebサーバの設定をします。
C:\Program Files\xampp\apache\conf\extra\httpd-vhosts.conf
に以下のVirtualHostを追加します。
<VirtualHost *:80> ServerName askeet DocumentRoot "H:\web\makotokw.com\labs\sandbox\askeet\web" DirectoryIndex index.php Alias /sf "C:\Program Files\xampp\php\pear\data\symfony\web\sf" <Directory "H:\web\makotokw.com\labs\sandbox\askeet\web"> AllowOverride All </Directory> </VirtualHost>
最後の手順として
C:\Windows\system32\driver\etc\hosts
に以下を追加します。
127.0.0.1 askeet
http://askeet/でページが見れたら成功です。
とくにはまることなく旨くいきました。とりあえず今日はここまで。