symfony2をローカルで動作させる環境をサクッと作る
この記事は、Symfony アドベントカレンダー 2010 に参加しています。
- Symfony Advent 2010 : ATND
- Symfony アドベントカレンダー2010
- 前の記事: DIコンテナ用設定ファイル - * 4me blog.stripejam *
開発環境が不手際によって消えてしまったため用意してきた記事がパーになってしまいブルーです。
そこで開発環境の再構築をまとめた結果を記事にすることにしました。
アドベントに参加されている他のみなさんの記事を読んで、自分もsymfony2を試してみたい!
そう思った方の参考になれば幸いです。
なおUbuntu大好きな僕なので今回の構築作業はUbuntu10.10にて行っています。
必要なソフトウェアのインストール
apache,php,mysql,mongoDB,gitをインストールします。
sudo apt-get install -y apache2 sudo apt-get install -y mysql sudo apt-get install -y mysql-server sudo apt-get install -y mongodb sudo apt-get install -y mongodb-server sudo apt-get install -y git sudo apt-get install -y php5 sudo apt-get install -y php5-mysql sudo apt-get install -y php5-dev sudo apt-get install -y php-pear sudo apt-get install -y php-apc sudo pecl install pdo
必要なものはインストールできました。
symfony2のダウンロードと設置
次にsymfony2の最新ソースをgithubからチェックアウトします。
今回は/home/jiska/Public以下にソースを設置することにします。
cd /home/jiska/Public
git clone https://github.com/symfony/symfony-sandbox.git
最後にapp/cache,app/logsディレクトリを全ユーザーで書き込める権限をつけます。
本番運用時ではphp実行ユーザーに適切な権限を与えましょう。
chmod 777 app/cache chmod 777 app/logs
これでsymfony2の設置は完了です。
php.iniの設定確認
symfony2は設置しましたがすぐに使うことはできません。
php.iniの設定を変更する必要があります。
php /home/jiska/Public/symfony-sandbox/web/check.php
以下のエラーと警告が表示されました。
[[ ERROR ]] Checking that the "date.timezone" setting is set: FAILED *** Set the "date.timezone" setting in php.ini (like Europe/Paris) *** You must fix this problem before resuming the check. [[WARNING]] Checking that php.ini has short_open_tag set to off: FAILED *** Set short_open_tag to off in php.ini ***
/etc/php5/cli/php.ini, /etc/php5/apache2/php.ini それぞれに以下の値を設定します。
date.timezone = Asia/Tokyo short_open_tag = Off
最後にapacheのドキュメントルートを設定してブラウザからアクセスしましょう。
/etc/apache2/sites-available/defaultを編集します。
オリジナルのdefaultは消してしまうともったいないので/etc/apache2/sites-available/default.distとリネームして保存しておきます。
cd /etc/apache2/sites-available
sudo cp default default.dist
sudo vi default
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /home/jiska/Public/symfony-sandbox/web <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/jiska/Public/symfony-sandbox/web> Options Indexes FollowSymLinkS AllowOverride None Order allow,deny allow from all </Directory> LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ErrorLog ${APACHE_LOG_DIR}/error.log </VirtualHost>
編集がおわったらapacheのconfファイル文法チェックを行ないましょう。
apache2ctl -S VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server localhost.localdomain (/etc/apache2/sites-enabled/000-default:1) port 80 namevhost localhost.localdomain (/etc/apache2/sites-enabled/000-default:1) Syntax OK
Syntax OKと表示されているので大丈夫ですね。たぶん。
apacheを再起動して、ブラウザからアクセスしてみます。
http://localhost/check.php
すべてグリーンで表示されていますか?もし表示されていなければphp.iniを確認してください。
これでsymfony2の環境作成は終わりです!
symfony2の使い方
symfony2の使い方ですが、いきなりソースを読み始めてもなにがなんだかわからない状態になってしまうかもしれません。
僕はなりました。symfony2はsymfony1.4から大きく構造が変わっているのも戸惑う原因の一つでした…。
公式サイトのドキュメントを見るのがいちばん手っ取り早いです。
Symfony2 Documentation
それでは良きsymfony2 lifeを。
Symfony Advent 2010
Symfony Advent 2010では12月1日から12月24日までを使って日替わりでsymfonyでイイなと思った小さなtipsから内部構造まで迫った解説などをブログ記事にして公開していくイベントです。
日本Symfonyユーザー会
Symfony アドベントカレンダー2010
※Syfony Advent 2010はsymfony好きな有志で集まったチームです。