この章では symfony フレームワークを 'sandbox' アーカイブからのインストール、PEAR パッケージからのインストール、またはソースリポジトリから手動でのインストールするための手順を解説します。
symfony は PHP で書かれたファイル群から構成されています。プロジェクトは symfony がこれらのファイルを使用することに基づいているため、 symfony をインストールするということはこれらのファイルを取得し、あなたのプロジェクトに利用できるようにすることを意味します。
symfony は1つまたは多くのプロジェクトに利用することができます。もしあなたがたった1つのプロジェクトの仕事をしているのなら、あなたが開発しているアプリケーション内のみにフレームワークを埋め込みたいかもしれません。また一方で、もし symfony を2つ以上のプロジェクトのために使うことを選択したのならば、アップグレードをより簡単にするためにもあなたはすべての symfony ファイルを一箇所にまとめたいことでしょう。
さらに、アプリケーションを開発するにあたって、あなたは2度 symfony をインストールする必要がおそらくあるでしょう。なぜなら一度目は開発環境のために、もうひとつはホストサーバーのために(もしホストに symfony がインストールされていなければですが。)
すべてのこれらの異なるニーズには異なる回答が存在しているため、あなたが symfony をインストールする選択肢が複数存在します。
PEAR インストール はアップグレードが簡単であり、数種類の symfony がベースとなるプロジェクトを実行したいと考えている人たちに推奨されます。これは PEAR 版1.4.0またはそれ以上を必要とします。そして、それは大部分の PHP ディストリビューションに含まれています。
マニュアルインストール は先進の PHP 開発者、つまり最新のパッチや彼ら自身独自の機能を加えたいと考えている人たちだけによって使われるはずです。
symfony フレームワークが速く進化し、安定したバージョンがあなたが最初にインストールして数日後にでることがあることに注意してください。あなたはフレームワークのアップグレードを大きな懸案事項として捉えなければありません、そういうわけでリアルなウェブサイトを開発するのであれば最初のソリューション( sandbox )は推薦されません。実際、 sandbox で開発されるアプリケーションは簡単にアップグレードさせることができません。
symfony を使うためには PHP5 とウェブサーバーを設置しておく必要があります。もし、 PEAR によるインストールを使うのであれば PEAR も必要となるでしょう。もし持続的なデータを使うのならデータベースは必要です。 symfony は、 Creole のドライバーがある MySQL 、 PostgreSQL 、オラクル、 MSSQL や他の Creole ドライバーがあるどんなデータベースとも互換性を持ちます 。
注意: 多くの LAMP パッケージがダウンロードできます、またそれらは Apache サーバー、 MySQL 、 PHP 全てを含んでおり、プラットフォーム(多くのプラットフォームのための (XAMPP であったり、 Macintosh のためのMAMP であったり、Windowsのための WAMP であったり、、、)を設定できます。もし PHP5 をインストールしていないのであれば、これらはあなたがスタートするにはベストな選択かもしれません。
標準的な PHP5 のディストリビューションは普通 symfony を完全に動作させます。しかしながら、全ての設定は異なります、そして、多くの開発者が PHP を彼ら自身でコンパイルしているため、あなたのウェブサーバーが PHP でコンポーネントが見つからずにエラーを投げることがたまにあるかもしれません。もし、あなたがどうしても symfony を動かすことができないなら、 installation forum をチェックしましょう、そこは多くの個々のケースにおいて解決されており、あなたの解決に役立つでしょう
注意: パッケージの中にはときどき PHP4 と PHP5 両方が埋め込まれている場合があります。 symfony は PHP5 のみで動作します。あなたが使っている PHP のバージョンをチェックするには、コマンドラインで次をタイプしてください。
$ php -v
sandbox は簡単なファイルのアーカイブです。全ての必要なライブラリ( symfony, pake , creole , propel , phing )が既に収録されている空のプロジェクトを含んでいます。これをインストールするためにはただあなたのサーバー(通常 web/)に設定されている root ディレクトリ以下でアーカイブを取り出すだけです。設定または更なる追加パッケージなしでそれは"すぐにそのまま"使えます。
sandbox はローカル環境で symfony を練習してみたい人を対象としており、最終的にウェブ上で複雑なアプリケーションを開発するためのものではありません。しかしながら、 sandbox として出されている symfony のバージョンは完全に機能的であり、 PEAR でインストールできるバージョンと同等です。 sandbox バージョンは簡単にアップグレードできないことに注意してください。
sandbox はこちらで取得してください。http://www.symfony-project.com/get/sf_sandbox.tgz. アーカイブを展開したあとは、次のURLをリクエストすることでテストしてください。
http://localhost/sf_sandbox/web/
そうすれば、"congratulation" ページが見えるでしょう
もし、 sf_sandbox/ ディレクトリにいるなら、実用的なサイト管理操作のためのコマンドラインを利用することができます。たとえば、キャッシュをクリアするには次のようにコマンドを入力してください。
$ ./symfony.sh clear-cache (*nix)
symfony clear-cache (Windows)
symfonyコマンドラインの利用できるアクションの全てを知りたいのなら次のようにコマンドを入力してください。
$ ./symfony.sh -T (*nix)
symfony -T
詳細はREADMEファイルを参照してください。
sandbox をダウンロードしたあとに、あなたが symfony での開発基礎について知るためには My first project に情報があります。
PEAR は中心となるリポジトリからライブラリをインストールするために PHP によって利用されています。 symfony プロジェクトには自身のためのリポジトリかチャンネルがあります。チャンネルは PEAR のバージョンが 1.40 以降から利用できるということに注意してください、そのため、バージョンが古い場合はアップグレードしなければなりません。
$ pear upgrade PEAR
最初にすべきことは 'symfony' チャンネルを追加することです。
$ pear channel-discover pear.symfony-project.com
このチャンネル内で利用可能なライブラリを見てみます
$ pear remote-list -c symfony
これで、最新の symfony のバージョンをインストールする準備ができ、全ては
$ pear install symfony/symfony
に依存しており、これでインストールは完了です。新しいプロジェクトやは新しいコマンドラインツール symfony によって作ることができ、ライブラリのメソッドやクラスを利用できます。
symfony を動かすためにいくつかのパッケージが必要です。パッケージに含まれているものもあれば、存在しない場合はインストールしなくてはならないものもあります。
phing: 手動によるインストールが必要です
$ pear install http://phing.info/pear/phing-current.tgz
コマンドラインツールによって直接呼び出せる全てのタスクを一見するには
$ symfony -T
と入力してください。
symfony ライブラリは次の場所にインストールされています。
$php_dir/symfony/ メインライブラリ
$data_dir/symfony/ アプリケーションのスケルトンとデフォルトモジュールと設定
$doc_dir/symfony/ ドキュメント
$test_dir/symfony/ 単体テスト
_dir 変数はPEARの設定の一部です。これらの変数を見たい場合は
$ pear config-show
とタイプしてください。
実際、正確なファイルの場所は決して重要ではありません。
というのも、インストールすることによってあなたは新しい実行可能なプログラムである symfony を提供されているからです。そして、この symfony はあなたにとって全ての仕事(プロジェクトを作成したり、アプリケーションをインストールしたり初期化したり。。。等)をしてくれます。唯一 $doc_dir ディレクトリがウェブサーバーの設定において必要とされるでしょう。というのも、 symfony プロジェクトのあるページによって必要とされるいくつかの標準ファイル(スタイルシートであったり画像ファイルであったり)が含まれているからです。
この設定については次章で詳細を説明します。
覚書として、標準のUnixとWindowsのロケーションは次のようになっています。
| Unix | Windows | - |
|---|---|---|
| usr/local/lib/php/symfony/ | c:/Program Files/php/pear/symfony/ | メイン実行フィアル、ライブラリ |
| usr/local/lib/php/data/symfony/ | c:/Program Files/php/pear/data/symfony/ | symfony アプリケーションのスケルトン |
| usr/local/lib/php/doc/symfony/ | c:/Program Files/php/pear/doc/symfony/ | ドキュメント |
| usr/local/lib/php/test/symfony/ | c:/Program Files/php/pear/test/symfony/ | 単体テスト |
上述のプロセスによって、最新の安定したバージョンをインストールします。 2つの安定したバージョンの間で最新のバグ訂正をするために、あなたは最新のナイトビルドをインストールしたい場合があるかもしれません。 これらのビルドは 'beta' タグがついた状態で symfony チャンネルで発行されており、次のようにしてインストールできます。
$ pear install symfony/symfony-beta
もし、すでにベータバージョンをインストールしていて、最新版がほしいときは次のように入力してください。
$ pear upgrade symfony/symfony-beta
注意: 意''Windows プラットフォームの中には、 PEAR ユーティリティが自身のウェブキャッシュを使用してしまい、正確に symfony チャンネルにチェックし最新版を要求できない場合があります。アップグレードを行う前に PEAR キャッシュを空にすることが確実です。(
pear config-showをキャッシュフォルダの場所を確認するために使いましょう)
symfony インストレーションをアップグレードしたとき、忘れずにアプリケーションが使っているキャッシュをクリアしましょう。
$ cd myproject
$ symfony clear-cache
もしキャッシュする内容を選択したい場合は(すでに存在する HTML ファイルのキャッシュを残しつつ各アプリの設定のみをクリアしたい場合)は次のようにしてください。
$ cd myproject
$ symfony clear-cache myapp1 config
$ symfony clear-cache myapp2 config
インストールされているsymfonyのバージョンは次のようにして確認できます。
$ symfony -V
もし、 PEAR を使いたくなければ、最新版を直接SVNリポジトリからチェックアウトし、ダウンロードし、手動によりインストールすることができます。
$ mkdir /home/steve/mysymfony
$ cd /home/steve/mysymfony
$ svn co http://svn.symfony-project.com/trunk/ .
あなたのプロジェクトがこのインストレーションを利用できるために、 2つのシンボリックリンクをあなたのプロジェクトの lib ディレクトリからsymfonyの lib ディレクトリにはらなければなりません。
$ cd /home/steve/myproject
$ ln -sf /home/steve/mysymfony/lib lib/symfony
$ ln -sf /home/steve/mysymfony/data data/symfony
さらに、コマンドラインツールである pake と symfony を呼び出せるショートカットを作る必要があります。
注意: Phing と Pake をインストールしなければなりません。それらを
lib/symfonyディレクトリにインストールするだけです。
もし、コマンドラインが使えないサーバー(それはあなたのホスティングプロバイダがFTPアクセスのみを許可している場合などもありえるかもしれません)のサイトにおいて使いたい場合は、プロジェクトのツリー構造に手動で2つの symfony をインストールする必要があります。
まず最初に、symfony プロジェクトサイトから symfony フレームワークパッケージの .tgz ファイルを取得します。それをテンポラリフォルダにて解答します。そうすると次のようなファイル構造があらわれます。
package.xml
symfony/
LICENSE
bin/
data/
lib/
bin ディレクトリについてはコマンドを利用しないため使いません。
すでに離れたサーバーに symfony 対応のプロジェクトを転送済みだとしましょう。
ツリー構造は次のようになっています。
myproject/
apps/
myapp/
batch/
cache/
config/
data/
doc/
lib/
log/
test/
web/
より symfony プロジェクトのファイル構造についてしりたいのであれば、 関連する章を読んでください。
今必要なことは、あなたのプロジェクトディレクトリに symfony パッケージからファイルをいくつかコピーすることです。最初に、 data と lib ディレクトリに symfony サブディレクトリを作ります。そして、次のファイルを転送します。
| - | local | - | distant |
|---|---|---|---|
| copy | symfony/data/* | to | myproject/data/symfony/ |
| copy | symfony/lib/* | to | myproject/lib/symfony/ |
もし、何を予想したらよいのかわからないのであれば、sandboxをダウンロードし、プロジェクトがフレームワークに埋め込まれている様子をみることができます。さらに、sandbox生成スクリプトはプロジェクトが単独で稼動するために必要な操作について詳細に説明しています。
ヒント: ホスティング会社の中には拡張子が
.php5でないと PHP5 が動かないところもあります。もし、あなたのサーバーがこのケースであれば、myproject/web/にあるindex.phpをindex.php5とりネームする必要があります。他のファイルをリネームするかどうか悩まなくていいです。というのも、symfony はフロントコントローラーを使用しています。そのため、index.phpファイルのみをphp5ですよと宣言してあげればよいのです。(フロントコントローラーについてもっと学びたいのであればコントローラーについての章 ) をみてください)
symfony wiki は様々なプラットフォームでのインストール手順についての記事を含んでいます。
forum には多くのインストール時の問題を解決している熱心なセクションがあり、あなたが問題にぶつかったときに数分で助けてくれる symfony ユーザーを見つけることができるでしょう。
original: http://www.symfony-project.com/content/book/page/installation.html