symfonyを動かす
ここ(http://www.symfony.gr.jp/docs/symfony1-docs/gentle-introduction/ja/03-running-symfony)見ながらhogeってみたので備忘録として今回やったことメモメモ。
- 環境について
自分の環境は、設定が面倒だったのでXAMPPぶっこんだ。ここではあくまでsymfonyを動かしてみる事が目標だからいいやと思って。ただmysqlはXAMPP付属のモノじゃなくて自前のを以前入れたのでそれ使う予定。
- プロジェクト作成
プロジェクトの置き場所は/Users/username/apwork/hoge
http://www.symfony-project.org/installation から最新の安定版をダウンロード&解凍して名前をsymfonyに変更。その後hogeディレクトリ下に【lib/vendor】を作成しそのなかに先程のsymfonyフォルダを移動。
svnで落としてくるのを推奨してたがなんか今回はgitを使ってみたいと思ってるのでパス。
この時点でこんなフォルダ構成
hoge/lib/vendor/symfony
ここからはsymfonyのバッチ処理祭り。
プロジェクト作成
$ php lib/vendor/symfony/data/bin/symfony generate:project hoge
データベース設定.第三引数はパスワード。↑のコマンド実行でhogeフォルダ直下にlib/vendor/symfony/data/bin/symfonyのエイリアスが作られるのでここからはphp symfonyでおk.
$ php symfony configure:database "mysql:host=localhost;dbname=hoge" root 0000
アプリケーション作成。frontendはアプリケーション名。symfonyはプロジェクト内で複数アプリケーションを作成できるみたい。ユーザーに見せる通常のページ(frontend)と管理ページのようなモノ(backend)を綺麗に分けられそうでいい感じ。
$ php symfony generate:app frontend
パーミッション設定。symfonyがcacheやlogディレクトリに書き込めるように。自動で設定してくれるんだね。
$ php symfony project:permissions
- WEBサーバーの設定
WEBサーバーはDocumentRootにプロジェクトごとにフォルダおいてlocalhost/projectname/とかでアクセスしてればよくねーって思ったりもしたけど、ちょっとカッコ悪いのでプロジェクトごとにVirtualHost設定してhostsファイルにwww.projectname.localhostみたいなドメインを127.0.0.1に向かせるように設定する方針で。
httpd.confの最終行に下記を追加。(プロジェクトへのパスとServerNameは適宣変更)
NameVirtualHost 127.0.0.1:80ServerName www.hoge.localhost DocumentRoot "/Users/username/apwork/hoge/web" AllowOverride All Allow from All Alias /sf /Users/username/apwork/hoge/lib/vendor/symfony/data/web/sf AllowOverride All Allow from All
自分のXAMPP環境では【/Applications/XAMPP/xamppfiles/etc/httpd.conf 】にあった。管理者じゃないと編集できない事を忘れてReadOnryで開いてがつがついじって保存できなかったという事を3回ぐらいしてしまった。
あとはhostsファイルにこの一行追加。(/etc/hosts)
127.0.0.1 www.hoge.localhost
ふぅ。あとはhttp://www.hoge.localhost/ でそれっぽいものが表示されてればおっけー
- 最後に
要するに大したことしてないんだけどすごく大変だった。何が大変かっていちいちブログにやったことを書いているのが大変。まぁ今書きたい気分だから書きなぐってるだけなんだけど。学びたかったら本家チュートリアルを普通に読み進めるようが分かりやすいし為になるしでそっちのほうがオススメ。となるとこの文章をわざわざネットに公開する意味があるのかと8割ぐらい書いたところで疑問に思ってきた。
ファッキングじーちゃん!