Ubuntu11.10では非常に簡単に開発環境が整いました。以下参考にしてみてください。ネットワークにつながっていること、 Apache2が動いていることが条件になると思います。
公式ページにも詳しいドキュメントがあります。
http://docs.symfony.gr.jp/sf2-blog-tutorial/01-introduction.html
http://symfony.com/download
からSymfony2の最新版を入手します。2011年現在では、Symfony standerd 2.0.1(ZIP)辺りをダウンロードするとよいです。ダウンロードが完了したら、開発するWEBサーバーのディレクトリに設置します。今回は例として、
参考:http://d.hatena.ne.jp/taka512/20110725/1311613543
ここまででPHPに関する環境が整う筈です。
Debain風に各サイトを設定してあげます。バーチャルサイトやドメインの設定はここでは割愛。
ドキュメントルートの変更
すべての設定が完了したらapache再起動して設定を反映
開発環境がLAN内であるとかWAN側からアクセスできるとか、そういう風な部分に関しては任意で設定してください。
以下削除、勿論開発環境をLAN内、またはローカル内におさめておきたい場合はこの部分を削除する必要はありません。
にアクセスして、不備がないか確認します。以下の画面がでたら成功。次にデータベースなどの設定に進んでゆきます。
この画面では不備なプラグインやモジュール、または開発に必要ないけれど一応推奨するというようなものに関して警告をしてくれるのでとても便利です。

公式ページにも詳しいドキュメントがあります。
http://docs.symfony.gr.jp/sf2-blog-tutorial/01-introduction.html
Symfonyのダウンロードとインストール
http://symfony.com/download
からSymfony2の最新版を入手します。2011年現在では、Symfony standerd 2.0.1(ZIP)辺りをダウンロードするとよいです。ダウンロードが完了したら、開発するWEBサーバーのディレクトリに設置します。今回は例として、
/var/www/Symfonyに設置します。ディレクトリ名はSymfonyに変更しています。
参考:http://d.hatena.ne.jp/taka512/20110725/1311613543
必要モジュールをインストール
# apt-get upgrade
# apt-get install apache2
# apt-get install mysql-server
# apt-get install php5 php5-mysql php-pear
# apt-get install sqlite3 php5-sqlite
# apt-get install make libpcre3-dev
# apt-get install php5-intl
# pecl install apc
# pecl install xdebug
# apt-get install php-apc
# pear channel-discover pear.phpunit.de
# pear channel-discover components.ez.no
# pear upgrade pear
# pear install phpunit/PHP_CodeCoverage
# apt-get install phpunit
ここまででPHPに関する環境が整う筈です。
apacheの設定を変更
# gedit /etc/apache2/sites-available/default(# gedit /etc/apache2/sites-available/<symfony設定箇所の設定ファイル>)
Debain風に各サイトを設定してあげます。バーチャルサイトやドメインの設定はここでは割愛。
ドキュメントルートの変更
DocumentRoot /var/www/Symfony/web/ # この部分も個々で変更DocumentRootはSymfony内のwebディレクトリに置くとよいです。appまたはbinディレクトリなどは外に出さない方がよいからです。
AllowOverride All # これ大切
すべての設定が完了したらapache再起動して設定を反映
sudo /etc/init.d/apache2 restart
開発環境がLAN内であるとかWAN側からアクセスできるとか、そういう風な部分に関しては任意で設定してください。
外部からのアクセス制限を削除
$ gedit /var/www/Symfony/web/config.php
$ gedit /var/www/Symfony/web/app_dev.php
以下削除、勿論開発環境をLAN内、またはローカル内におさめておきたい場合はこの部分を削除する必要はありません。
if (!in_array(@$_SERVER['REMOTE_ADDR'], array(
'127.0.0.1',
'::1',
))) {
header('HTTP/1.0 403 Forbidden');
die('This script is only accessible from localhost.');
}
php.iniの設定
sudo vi /etc/php5/apache2/php.iniという風に教科書通りの設定をしましたが、extensionの設定は特に明記しなくてもいいみたいです。逆に二重に読み込まれるみたいでWarningが出てしまいました。タイムゾーンの設定とショートタグの設定だけで大丈夫です。
date.timezone = Asia/Tokyo
short_open_tag = Off
# extension=sqlite3.so
# extension=apc.so
# extension=intl.so
# extension=xdebug.so
アクセス権限の調整
app/cacheとapp/logsについては、実行ユーザー本人とwww-dataつまりApache2が同時に書き込める権限が必要です。aclでもってスレッドセーフティーな設定をすることが薦められていますが、acl環境が整っていない環境では仕方がないのでパーミッションを777にします。- app/console
- web/app.php
- web/app_dev.php
umask(0000); //パーミッション777を与えますこれでOK
アクセスして確認
<Symfonyをインストールした場所の URL>/Symfony/web/config.phpにアクセスして、不備がないか確認します。以下の画面がでたら成功。次にデータベースなどの設定に進んでゆきます。
この画面では不備なプラグインやモジュール、または開発に必要ないけれど一応推奨するというようなものに関して警告をしてくれるのでとても便利です。



