[symfony] askeet 1日目
symfony を学習するために askeet を順番にやっていくことにしました。まずは1日目です。
インストール
まず PEAR をアップデート
$ pear upgrade PEAR
symfony プロジェクトの PEAR チャネルを登録
$ pear channel-discover pear.symfony-project.com
symfony をインストール
$ pear install symfony/symfony
とここで
symfony/symfony requires PHP extension "dom" No valid packages found install failed
というエラーがでる
# yum install php-xml
で php-xml を入れると symfony をインストールできました。
インストールの確認をしておきます。
$ symfony -V symfony version 1.1.0 (/usr/share/pear/symfony)
プロジェクトの作成
askeet プロジェクトのディレクトリを作成します。
$ mkdir /home/askeet $ cd /home/askeet $ symfony init-project askeet
作成したディレクトリで symfony コマンドを実行して adkeet プロジェクトを作成します。下記のようなファイルが作成されました。
>> dir+ /home/askeet/web >> file+ /home/askeet/web/.htaccess >> dir+ /home/askeet/web/images >> dir+ /home/askeet/web/uploads >> dir+ /home/askeet/web/uploads/assets >> dir+ /home/askeet/web/js >> file+ /home/askeet/web/robots.txt >> dir+ /home/askeet/web/css >> file+ /home/askeet/web/css/main.css >> dir+ /home/askeet/config >> file+ /home/askeet/config/properties.ini >> file+ /home/askeet/config/ProjectConfiguration.class.php >> file+ /home/askeet/config/databases.yml >> file+ /home/askeet/config/propel.ini >> file+ /home/askeet/config/schema.yml >> file+ /home/askeet/config/rsync_exclude.txt >> dir+ /home/askeet/plugins >> dir+ /home/askeet/lib >> dir+ /home/askeet/doc >> dir+ /home/askeet/test >> dir+ /home/askeet/test/functional >> dir+ /home/askeet/test/bootstrap >> file+ /home/askeet/test/bootstrap/functional.php >> file+ /home/askeet/test/bootstrap/unit.php >> dir+ /home/askeet/test/unit >> dir+ /home/askeet/data >> file+ /home/askeet/symfony >> dir+ /home/askeet/log >> dir+ /home/askeet/apps >> dir+ /home/askeet/cache >> tokens /home/askeet/config/properties.ini >> tokens /home/askeet/config/propel.ini >> tokens /home/askeet/config/ProjectConfiguration.class.php >> chmod 777 /home/askeet/cache >> chmod 777 /home/askeet/log >> chmod 777 /home/askeet/web/uploads >> chmod 777 /home/askeet/symfony >> chmod 777 /home/askeet/web/uploads/assets
次に frontend というアプリケーションを作成します。
symfony init-app frontend
アプリケーション用の下記ファイルが作成されました。
>> dir+ /home/askeet/apps/frontend/config >> file+ /home/askeet/apps/frontend/config/app.yml >> file+ /home/askeet/apps/frontend/config/settings.yml >> file+ /home/askeet/apps/frontend/config/factories.yml >> file+ /home/askeet/apps/frontend/config/security.yml >> file+ /home/askeet/apps/frontend/config/filters.yml >> file+ /home/askeet/apps/frontend/config/view.yml >> file+ /home/askeet/apps/frontend/config/routing.yml >> file+ /home/askeet/apps/frontend/config/cache.yml >> file+ /home/askeet/apps/frontend/conf...licationConfiguration.class.php >> dir+ /home/askeet/apps/frontend/modules >> dir+ /home/askeet/apps/frontend/lib >> file+ /home/askeet/apps/frontend/lib/myUser.class.php >> dir+ /home/askeet/apps/frontend/i18n >> dir+ /home/askeet/apps/frontend/templates >> file+ /home/askeet/apps/frontend/templates/layout.php >> tokens /home/askeet/apps/frontend/config/settings.yml >> file+ /home/askeet/web/index.php >> file+ /home/askeet/web/frontend_dev.php >> tokens /home/askeet/web/index.php >> tokens /home/askeet/web/frontend_dev.php >> rename /home/askeet/apps/frontend/conf...frontendConfiguration.class.php >> tokens /home/askeet/apps/frontend/conf...frontendConfiguration.class.php >> chmod 777 /home/askeet/cache >> chmod 777 /home/askeet/log >> chmod 777 /home/askeet/web/uploads >> chmod 777 /home/askeet/symfony >> chmod 777 /home/askeet/web/uploads/assets >> dir+ /home/askeet/test/functional/frontend
httpd.conf の設定
作成したプロジェクトにアクセスできるように httpd.conf を設定します。
その前に PEAR のデータのパスを調べておきます
pear config-show .... PEAR data directory data_dir /usr/share/pear/data ....
symfony のデフォルトの CSS や画像は symfony のデータディレクトリにあるので、そのデータディレクトリのパスを httpd.conf で指定するために必要です。私の環境では /usr/share/pear/data でした。
httpd.conf に以下を追加
<VirtualHost *:80> ServerName askeet DocumentRoot "/home/askeet/web" DirectoryIndex index.php Alias /sf /usr/share/pear/data/symfony/web/sf <Directory "/home/askeet/web"> AllowOverride All </Directory> </VirtualHost>
Alias /sf /usr/share/pear/data/symfony/web/sf の部分を先ほど調べたパスに合せます。
設定後、設定を反映させるために Apache を再起動させます。
ここまでで http://askeet/ にアクセスすると下記のような画面になります。
また、symfony ではデバッグモードというのがあるそうで
http://askeet/frontend_dev.php/ にアクセスすると表示できるそうです。
ただ、なぜか下記のようなエラーメッセージがでてしまいアクセスすることができませんでした。
Your are not allowed to access this file. Check frontend_dev.php for more information.
原因を調査中なのですが今日は時間切れのようなので明日続きを調べたいと思います。
関連する投稿
4 comments
コメントをどうぞ
Additional comments powered by BackType
[...] askeet 1日目の最後でデバッグモードを表示させると [...]
[...] 無事デバッグモードも表示できたので askeet 2日目に進みました。 [...]
Selma Balistreri…
symfony ã?’å?¦ç¿’ã?™ã??ã?Ÿã??ã?? askeet ã?’é?†ç?ªã??ã??ã?£ã?¦ã??ã??ã?“ã?¨ã??ã??ã??ã??ã?Ÿã??ã??ã?šã?¯1æ??ç?®ã?§ã?™ã?? ã?¤ã??ã??ã??ã??ã?? ã??ã?š PEAR…
2petrograd…
…