Prerequisites

FuelPHP uses Composer, both for installation and for package dependencies. Make sure you installed composer locally before you continue, because the installation methods described below depend on it being present. See the Download Composer page on how to install composer on your machine.

Command Line Installation

using Oil

Our quick installer is a stripped down interface for the Oil package. It allows you to create a new project with one command. You will also no longer need to use 'php' in your oil commands.

クイックインストーラをインストールするためには、シェルを開き次のコマンドを実行するだけです:

$ curl get.fuelphp.com/oil | sh

この場合、スクリプトを /usr/bin にインストールするためパスワードを尋ねてくるでしょう。

これであなたのプロジェクトでは php oil の代わりに oil だけを使用することができます。

バージョン 1.6 以前の oil スクリプトをインストール済みの場合は、composer を実行させるために再度、インストールし直す必要があります!

新しいプロジェクトを作成するには単に以下を実行します:

$ oil create <project_name>

これで、カレントディレクトリにあなたが指定したプロジェクト名のフォルダが作成されます。そしてリポジトリとすべてのサブモジュールをそのフォルダに複製します。

Note: これは、必要なディレクトリを書き込み可能にするための $ oil refine install も実行します。 そして、Composer により定義された依存ライブラリを取得する $ composer update も実行します。

This currently only works on *nix systems (Linux, OS X, Unix, etc).

using Composer

これはバーチャルホストのルートディレクトリに FuelPHP フレームワークをデフォルトインストールします。

GitHub から最新のリリースを clone する

$ cd /where/ever/your/virtualhost/root/is
$ git clone git://github.com/fuel/fuel.git .
$ composer install --prefer-dist

最後のドットを忘れないでください。さもないと、バーチャルホストのルートディレクトリに fuel というフォルダが作成されます!

Alternatively, you can use composer to install everything in one go:

$ composer create-project fuel/fuel --prefer-dist .

The first method has the advantage that you install the part that will contain your application installed as a git repository. You can change the origin of that repository to your own git server, so your application development is under version control.

The second method creates a complete package with all dependencies. If you want to add that to a git repository, you will also add all dependencies to it. You would like to take this route if your target server on which you run production doesn't have the option to run composer locally to download application dependencies.

Clone the latest development branch from github

$ cd /where/ever/your/virtualhost/root/is
$ git clone git://github.com/fuel/fuel.git -b 1.9/develop .
$ composer install

最後のドットを忘れないでください。さもないと、バーチャルホストのルートディレクトリに fuel というフォルダが作成されます!

別の方法として、Composer を使いすべてをインストールすることもできます:

$ composer create-project fuel/fuel:dev-1.9/develop --prefer-source .

Both will do exactlt the same, and install the latest development version as local git repository clones.

Zip ファイルをダウンロードする

If for some reason you can't have access to composer, you can also Download the Fuel Framework in a single ZIP file. It contains exactly the same as the command composer create-project fuel/fuel --prefer-dist . would produce.

Altering the default installation

After installation, you will find a folder structure in your installation directory that looks like this:

/
  docs/
  fuel/
    app/
    core/
    packages/
  public/
    .htaccess
    assets/
    index.php
  oil

In this structure, the public directory in the source equals your web server's public document directory. If you can't define your own public folder (or DocumentRoot) in your webserver configuration, Move its contents of the public directory to the folder your provider dictates, i.e. public_html, public, htdocs, etc.

If you want to re-locate the fuel directory, or any directory inside the fuel directory, you need to modify the constants defined in the web frontloader (public/index.php) and the commandline frontloader (oil) so that they point to the correct app, core and packages directories.

インストールの後は、フレームワークがアクセスする必要のあるフォルダのパーミッションが正しいことを確認してください。 デフォルトのフォルダを書き込み可能にする oil タスクが用意されています:

$ oil refine install
	Made writable: APPPATH/cache
	Made writable: APPPATH/logs
	Made writable: APPPATH/tmp
	Made writable: APPPATH/config

If you haven't installed oil like documented at the top of this page, you can also run oil from the installation root directory using:

$ cd /where/ever/your/virtualhost/root/is
$ php oil refine install
	Made writable: APPPATH/cache
	Made writable: APPPATH/logs
	Made writable: APPPATH/tmp
	Made writable: APPPATH/config

設定

メインの設定は app/config/config.php にあります。好きに編集してください。

URL rewriting

Fuel comes with default rewrite rules for Apache (.htaccess) and IIS (web.config). You can find these files in the web application DOCROOT, by default this is the "public folder". If you use Nginx, please find an example here.

Please note that in some default webserver configuration, URL rewriting is disabled by default. To quickly check if this is the case, make a typo in your rewrite config (for example, in your .htaccess file). If your webserver can read and process the file, a typo should give you a 500 Server error. If the typo you introduced doesn't make a change, changes are rewriting or htaccess processing is disabled in the global config.

ドキュメントルート内にインストールする

For security reasons, it is strongly advised NOT to install Fuel inside your webserver's document root.

しかしながらそうしたいケースもあります。例えば、Apache の大量の動的なバーチャルホストモジュールのある (ローカルの) 開発環境は、 Web サーバを再起動せずに新しい開発環境を素早く構築するために使用されます。

これが必要な場合、ルートと決めたフォルダに FuelPHP をインストールします。その後、publc フォルダに移動し、 すべてのファイルを 1つ上の階層に移動し、public フォルダを削除します。public フォルダの唯一の目的は、Web サーバのドキュメントルートのためのアンカーポイントを提供することです。 FuelPHP をドキュメントルートフォルダにインストールしたら、もはや必要ありません。

移動した後、index.php の中のアプリケーション、パッケージ、フレームワークコアの場所を変更します:

define('APPPATH', realpath(__DIR__.'/fuel/app/').DIRECTORY_SEPARATOR);
define('PKGPATH', realpath(__DIR__.'/fuel/packages/').DIRECTORY_SEPARATOR);
define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);

いくつかのフォルダをより深くするのはどうでしょう?

違いはありません。手順はまったく同じです。

しかしながら、この場合のアプリケーションへのアクセスは、フォルダ構成のため少々複雑になるかもしれません。同じフォルダ構成のまま移動したファイル群にそのままアクセスすることは、 従来の .htaccess ではできません。

FuelPHP がドキュメントルートの "/deep/sub/folder" にインストールされているとすると、通常ならば http://example.org/deep/sub/folder でアプリーケーションにアクセスする必要があります。

Apache

上位フォルダのどこかに以下の .htaccess を置くことで、存在しないファイルやディレクトリにアクセスがあった場合に、 あなたのアプリケーションにリダイレクトをさせることができます:

<IfModule mod_rewrite.c>
	RewriteEngine on

	# 存在するファイルやフォルダでなかったり、ルートへのリクエストの場合、リクエストをサブフォルダに送る
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d [OR]
	RewriteCond $1 ^$

	RewriteRule ^(.*)$ /deep/sub/folder [R=301,L]
</IfModule>

これはリダイレクトであることに注意してください。ユーザにサブフォルダを隠しません。もし、サブフォルダを隠したい場合は、代わりに以下を使ってください:

<IfModule mod_rewrite.c>
	RewriteEngine on

	# 存在するファイルやフォルダでなかったり、ルートへのリクエストの場合、リクエストをサブフォルダに送る
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d [OR]
	RewriteCond $1 ^$

	RewriteRule ^(.*)$ /deep/sub/folder [QSA,L]
</IfModule>

もちろん、もし "sub" フォルダに配置した場合は、URL から "sub/folder" を隠せますが、"deep" は隠せません...

.htaccess を有効にすると Apache はかなりスローダウンすることに注意してください。サーバ設定へのアクセス権を持っている場合は、 これを無効にし、バーチャルホストの定義に rewrite のルールを追加することを検討してください。

Nginx

Nginx はクライアントの設定ファイルをサポートしていませんので、Nginx の設定ファイルにバーチャルホストのための rewrite ルールを追加する必要があります。 ガイドラインとして以下を使用できます:

server {
	server_name fuelphp.local;

	# これらのファイルに Nginx が書き込めることを確認する
	access_log /var/www/fuelphp/nginxlogs/access.log;
	error_log /var/www/fuelphp/nginxlogs/error.log;
	root /var/www/fuelphp/public;

	location / {
		index index.php;
		try_files $uri $uri/ /index.php$is_args$args;
	}

	location ~ \.php$ {
		include /etc/nginx/fastcgi_params;
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		fastcgi_param FUEL_ENV "production";
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}
}

環境を設定する

デフォルトでは、環境は開発モードにセットされています。Fuel は環境を使用して、使用するデータベース設定を定義します。しかし、他のことにも利用できます。

環境を設定するために、.htaccess ファイルに次の行を追加します。

SetEnv FUEL_ENV production

Nginx では、上の例にあるように "fastcgi_param" 文を使います。使用できるオプションの詳細は Fuel クラスの クラス定数 にあります。