symfony askeet Day 1
とりあえず、symfonyをインストールする。
PEARを使って楽々インストール。
askeetはv1.0対象なので、v1.0指定でインストールする。
最新は1.0.20っぽいのでそうすることに。
その前に、pear.symfony-project.comをPEARにチャンネル登録する。
sudo pear channel-discover pear.symfony-project.com
で、できたらsymfony 1.0.20を入れる。
sudo pear install symfony/symfony-1.0.20
sudo pear install symfonyとやるとv1.2が入ってしまうのでちゃんと指定してあげる。
ちゃんと正しいバージョンが入っているか確認する。
symfony -V symfony version 1.0.20
ちゃんと1.0.20が入っていればok
プロジェクトセットアップ
作業フォルダを作るってことですね、わかります。
今回は/Users/shota/education/enomoto/askeet/というところに作ることにします。
mkdir /Users/shota/education/enomoto/askeet/
cdで作業フォルダに移動して
プロジェクトを作ります。
今回はaskeetというプロジェクトにします。
symfony init-project askeet
frontendアプリケーションも作成します。
symfony init-app frontend
Apacheの設定
今回、VirtualHostの設定が必要なので設定します。
ホスト名は askeet.localhost にしたいとおもいます。
httpd.confというファイルがApacheの設定ファイルだったので
それをemacsで開く。(※場所は環境によって違います。)
sudo emacs /opt/local/apache2/conf/httpd.conf
最終行にぐわぁっと行ってこれを追加する。
<VirtualHost *:80> ServerName askeet.localhost DocumentRoot "/Users/shota/education/enomoto/askeet/web" DirectoryIndex index.php Alias /sf /opt/local/lib/php/data/symfony/web/sf <Directory "/Users/shota/education/enomoto/askeet/web"> AllowOverride All Allow From All </Directory> <Directory "/opt/local/lib/php/data/symfony/web/sf"> AllowOverride All Allow From All </Directory> </VirtualHost>
- askeet通りに設定するとAllow From Allが無いことでハマった。
このままだと見られないのでhostsファイルを編集する。
MacやUNIX/Linuxとかなら/etc/hosts。
(中略) 127.0.0.1 askeet.localhost
忘れないようにApacheを再起動しておく
sudo /opt/local/apache2/bin/apachectl restart
これでhttp://askeet.localhost/でアクセス可能に。(自分のPC上だけで)
http://askeet.localhost/frontend_dev.php/にアクセスするといろいろ出てくるみたいです。
設定情報とかが見られるみたいです。
subversionを使うために
askeetでは1からもろもろ設定していますが、
当環境ではsubversion管理下にaskeetフォルダを作っています。
だからといって飛ばしていいわけでもないので重要な部分だけ書いていきたいと思います。
まず、cache以下とlog以下のファイルを削除する。
cacheはコミットしてもしょうがないし、logは環境によるのでコミットしない。
rm -rf cache/* rm -rf log/*
削除したらsubversion(以下svn)の管理下除外リストに
cacheとlogを追加する。
svn propedit svn:ignore cache --editor-cmd emacs svn propedit svn:ignore log --editor-cmd emacs
emacsが開くので * とだけ書いて保存する。
あとは、cacheとlogのパーミッションを777にする。
chmod 777 cache chmod 777 log