Symfonyのインストール方法(入門者・評価向け)

この文書は、Symfony 1系を対象としています。

Symfonyには、以下の5種類のインストール方法があります。

  1. pearによるインストール
  2. Symfonyパッケージをダウンロードしてインストール
  3. Symfony Sandboxパッケージをダウンロードしてインストール
  4. subversionリポジトリからチェックアウトしてインストール
  5. gitリポジトリ(github)からcloneしてインストール

これらのインストール方法については、公式サイトのいくつかのドキュメントで説明されています。

古いドキュメントでは、pearを使ったインストール方法で解説されているものが多くありますが、現在ではpearを使ったインストールは推奨されていません。

このページでは、Symfony入門者向けに一番手軽なSandboxパッケージを使ったインストール方法について説明します。

SymfonyのSandboxパッケージをダウンロード

まずは、Symfony 1.4の最新版パッケージをダウンロードしましょう。

Symfony 1.4の最新版パッケージのダウンロードは、公式サイトのこちらのページから行います。

ダウンロードページ

Downloadという行にtgz形式、またはzip形式でダウンロードできるリンクが表示されています。 また、SourceパッケージSandboxパッケージがあります。

  • Sourceパッケージ: Symfony本体のソースのみ
  • Sandboxパッケージ: Symfony本体のソースと、sf_sandboxプロジェクト、frontendアプリケーションが初期化されたファイル群が付属

今回は、Symfony 1.4のSandboxパッケージをダウンロードして下さい(Symfony 1.4の列、Sandboxのtgzまたはzipリンクから)。

WebサーバーのDocumentRoot配下のディレクトリ、またはユーザーのpublic_html配下のディレクトリにて、ダウンロードしたファイルを展開してください。 以下のようなディレクトリ、ファイルがあります(ファイルは一部のみ記載しています)。

sf_sandbox/
    apps/
        frontend/
    cache/
    config/
    data/
    lib/
        form/
        vendor/
            symfony/
    log/
    plugins/
    test/
    web/
        css/
        images/
        js/
        sfDoctrinePlugin/
        uploads/
        .htaccess
        frontend_dev.php
        index.php
        robots.txt
    LICENSE
    README
    symfony
    symfony.bat

Symfonyのディレクトリ構造について詳しく知りたい方は、『The Definitive Guide to symfony(日本語訳) 2.2.2 ファイルのツリー構造』を参照してください。

symfonyの最初の動作確認

展開したSandboxパッケージのSymfonyがお使いの環境で動作するかどうか調べてみましょう。 コマンドラインでパッケージを展開したディレクトリ(sf_sandboxディレクトリ)へ移動し、以下のコマンドを実行してみてください。

php symfony -V

以下のようにSymfonyのバージョン情報が表示されれば、動作確認はOKです。

symfony version 1.4.4 (パス)

sfディレクトリの準備

Symfonyには組み込みのエラー画面やデバッグツールバーがありますが、これら組み込み機能用のデザインファイルはプロジェクトのデザインファイルとは分離されています。 以下の操作を行って、組み込みのデザインが適用されるように準備してください。

Linux環境

# sf_sandboxディレクトリにて
ln -s lib/vendor/symfony/data/web/sf web/

Windows環境

# sf_sandboxディレクトリにて
xcopy /E /F /Y lib\vendor\symfony\data\web\sf web\sf\

# エクスプローラでsfディレクトリをwebディレクトリへコピーしても構いません

frontend_dev.phpにアクセスしても、デバッグツールバーの画像や背景画像が正しく表示されない場合は、 このsfディレクトリを正しく参照できていない可能性があります。 Webブラウザからsfディレクトリ内の画像などへアクセスできるかどうか確認してみてください。

パーミッションの設定

Linux環境の場合、cacheディレクトリとlogディレクトリにWebサーバーのプロセスから書き込みができるように設定しておく必要があります。 Symfonyにはこれらのディレクトリのパーミッションを設定するタスクが用意されています。 コマンドプロンプトでプロジェクトのルートディレクトリへ移動し、以下のコマンドを実行してください。

php symfony project:permissions

ブラウザから表示の確認

さて、ここまで準備ができたらWebブラウザからSymfonyのディレクトリにアクセスして、初期表示を確認しましょう。 sf_sandboxをローカル環境のドキュメントルート直下で展開した場合は、アクセスするURLは次のとおりです。

http://localhost/sf_sandbox/web/frontend_dev.php

Symfony Project Createdの画面

上のような「Symfony Project Created」の画面が表示されたでしょうか?このメッセージが表示されれば、まずはSymfonyを動作させる最低限の設定の完了です。

お使いの環境の設定やサンドボックスパッケージを展開したディレクトリによっては上記のURLとは異なる場合があります。 重要な点は、(プロジェクトルート)/web/frontend_dev.phpに対応するURLにアクセスするということです。

You are not allowed to access this file. Check frontend_dev.php for more information.

Symfonyを設置した開発サーバーとは別のコンピュータからアクセスした場合、このような表示になります。 これは、公開サーバーで誤って開発用フロントコントローラーが閲覧可能になってしまうのを防ぐためのコードです。 もしこのようなメッセージが表示された場合は、web/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.');
}
 

画面が真っ白になる

この段階で画面が真っ白になって何も表示されない場合、cacheディレクトリ、またはlogディレクトリのパーミッションが正しく設定されていない可能性があります。 Webサーバーのエラーログを確認してキャッシュに書き込めないというエラーが出ている場合は、パーミッションを設定し直して下さい。

インデックス

Document Index

関連ページリスト

Related Pages

  • Symfonyのインストール方法(入門者・評価向け)

日本語ドキュメント

Japanese Documents

リリース情報
Release Information

Symfony2 に関する情報(公式) Books on symfony