symfony-1.4を試す(1) - プロジェクトを始める
仕事でsymfonyを触ることになったので、まずはsymfony本家のドキュメントを参考にしながらsymfonyを触ってみる。
環境
環境はvmwareにある、Ubuntu Server 11.10(64bit)。
環境のチェック
チェック用のスクリプトをダウンロードし、実行する。
$ wget http://sf-to.org/1.4/check.php $ php check.php
チェックで引っかかったものをインストール。すべて、aptitudeでまかなった。
symfonyのインストール
アーカイブからインストールすることを選択。インストールの検証も併せて実施。
$ cd ~/ $ mkdir -p proj/jobee $ cd proj/jobee $ mkdir -p lib/vendor $ cd lib/vendor $ wget http://www.symfony-project.org/get/symfony-1.4.16.tgz $ tar xvfz symfony-1.4.16.tgz $ mv symfony-1.4.16 symfony $ rm symfony-1.4.16.tgz $ cd ../.. $ php lib/vendor/symfony/data/bin/symfony -V symfony version 1.4.16 (/home/te2u/proj/jobeet/lib/vendor/symfony/lib)
プロジェクトの作成
$ php lib/vendor/symfony/data/bin/symfony generate:project jobeet
アプリケーションの作成
$ ./symfony generate:app frontend
Webサーバの設定
$ sudo vi /etc/apache2/sites-avaliable/jobeet
とりあえず、本家のドキュメントを参考にして、以下のように設定。
Listen 8080 <VirtualHost *:8080> DocumentRoot /home/te2u/proj/jobeet/web DirectoryIndex index.php <Directory "/home/te2u/proj/jobeet/web"> AllowOverride All Allow from All </Directory> Alias /sf /home/te2u/proj/jobeet/lib/vendor/symfony/data/web/sf <Directory "/home/te2u/proj/jobeet/lib/vendor/symfony/data/web/sf"> AllowOverride All Allow from All </Directory> </VirtualHost>
サイトを有効化し、apache2をreloadする。
$ sudo a2ensite jobeet
$ sudo service apache2 reload
サイトの確認
http://サーバのIPアドレス:8080/ にアクセスし、symfonyのトップ画面が表示されることを確認。
frontend_dev.phpの編集と確認
ローカル以外から http://サーバのIPアドレス:8080/frontend_dev.php にアクセスすると、
You are not allowed to access this file. Check frontend_dev.php for more information.
と表示される。これを解決するために、frontend_dev.phpを編集する。
$ cd ~/proj/jobeet/
$ vi web/frontend_dev.php
frontend_dev.php
if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) { die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); }
のif文を
if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1', 'クライアントのIPアドレス'))) { die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); }
に変更する。
単にif文をまるごとコメントにするのもあり。その場合どこからでもアクセスできるので、環境によっては注意する。
変更後、http://サーバのIPアドレス:8080/frontend_dev.php にアクセスし、symfonyのトップ画面が表示されることを確認。