作業ノート

様々なまとめ、雑感など

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のトップ画面が表示されることを確認。