start-installation.md 14.5 KB
Newer Older
1 2 3 4 5 6
Yii をインストールする
======================

Yii は二つの方法でインストールできます。[Composer](http://getcomposer.org/) を使う方法とアーカイブファイルをダウンロードする方法です。
前者がお薦めの方法です。と言うのは、一つのコマンドを走らせるだけで、新しい[エクステンション](structure-extensions.md) をインストールしたり、Yii をアップデートしたり出来るからです。

7 8 9 10 11 12 13 14 15 16 17 18
Yii の標準的なインストールを実行すると、フレームワークとアプリケーションテンプレートの両方がダウンロードされてインストールされます。
アプリケーションテンプレートは、いくつかの基本的な機能、例えば、ログインやコンタクトフォームなどを実装した、動作する Yii アプリケーションです。
そのコードは推奨される方式に従って組織されています。
そのため、アプリケーションテンプレートは、あなたのプロジェクトのための好ましい開始点としての役割を果たしうるものです。

この節と後続のいくつかの節においては、いわゆる *ベーシックアプリケーションテンプレート* とともに Yii をインストールする方法、および、このテンプレート上に新しい機能を実装する方法を説明します。
Yii は [アドバンストアプリケーションテンプレート](tutorial-advanced-app.md) と呼ばれるもう一つのテンプレートも提供しています。
こちらは、チーム開発環境において多層構造のアプリケーションを開発するときに使用する方が望ましいものです。

> Info|情報: ベーシックアプリケーションテンプレートは、ウェブアプリケーションの 90 パーセントを開発するのに適したものです。
  アドバンストアプリケーションテンプレートとの主な違いは、コードがどのように組織されているかという点にあります。
  あなたが Yii は初めてだという場合は、シンプルでありながら十分な機能を持っていることを理由にして、ベーシックアプリケーションテンプレートに留まることを強く推奨します。
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36


Composer によるインストール<a name="installing-via-composer"></a>
---------------------------

まだ Composer をインストールしていない場合は、[getcomposer.org](https://getcomposer.org/download/) の指示に従ってインストールすることが出来ます。
Linux や Mac OS X では、次のコマンドを実行してください:

    curl -s http://getcomposer.org/installer | php
    mv composer.phar /usr/local/bin/composer

Windows では、[Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe) をダウンロードして実行してください。

何か問題が生じたときや、Composer の使い方に関してもっと学習したいときは、[Composer Documentation](https://getcomposer.org/doc/) を参照してください。

以前に Composer をインストールしたことがある場合は、確実に最新のバージョンを使うようにしてください。
Composer は `composer self-update` コマンドを走らせてアップデートすることが出来ます。

37
Composer がインストールされたら、ウェブからアクセスできるフォルダで下記のコマンドを実行することによって Yii をインストールすることが出来ます:
38

Qiang Xue committed
39
    composer global require "fxp/composer-asset-plugin:1.0.0-beta4"
40 41 42
    composer create-project --prefer-dist yiisoft/yii2-app-basic basic

最初のコマンドは [composer asset plugin](https://github.com/francoispluchino/composer-asset-plugin/) をインストールします。
43
これにより、Composer を通じて bower と npm の依存パッケージを管理することが出来るようになります。
44 45 46 47
このコマンドは全体で一度だけ走らせれば十分です。
第二のコマンドは `basic` という名前のディレクトリに Yii をインストールします。
必要なら別のディレクトリ名を選ぶことも出来ます。

48
> Note|注意: インストール実行中に Composer が あなたの Github のログイン認証情報を求めることがあるかも知れません。
49
> これは、Comoser が依存パッケージの情報を Github から読み出すために十分な API レートを必要とするためで、普通にあることです。
50
> 詳細については、[Composer ドキュメント](https://getcomposer.org/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens) を参照してください。
51

52
> Tip|ヒント: Yii の最新の開発バージョンをインストールしたい場合は、[stability option](https://getcomposer.org/doc/04-schema.md#minimum-stability) を追加した次のコマンドを代りに使うことが出来ます。
53 54 55
>
>     composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
>
56
> 開発バージョンは動いているあなたのコードを動かなくするかもしれませんので、本番環境では使うべきでないことに注意してください。
57 58 59 60 61


アーカイブファイルからインストールする<a name="installing-from-archive-file"></a>
--------------------------------------

62
アーカイブファイルから Yii をインストールするには、三つのステップを踏みます。
63 64 65

1. [yiiframework.com](http://www.yiiframework.com/download/) からアーカイブファイルをダウンロードする。
2. ダウンロードしたファイルをウェブからアクセスできるフォルダーに展開する。
66
3. `config/web.php` ファイルを編集して、`cookieValidationKey` というコンフィギュレーション項目に秘密キーを入力する
67
   (Composer を使って Yii をインストールするときは、これは自動的に実行されます)。
68 69 70 71 72 73 74 75 76 77 78

   ```php
   // !!! 下記に(もし空白なら)秘密キーを入力する - これはクッキー検証のために必要
   'cookieValidationKey' => '秘密キーをここに入力',
   ```


他のインストールオプション<a name="other-installation-options"></a>
--------------------------

上記のインストール方法の説明は Yii のインストールの仕方を示すものですがそれは同時にそのままで動作する基本的なウェブアプリケーションを作成するものでもあります
79 80
これは規模の大小に関わらずほとんどのプロジェクトを開始するのに良い方法です
特にYii の学習を始めたばかりの場合にはこの方法が適しています
81

82
しかし他のインストールオプションも利用可能です
83

84 85 86 87
* コアフレームワークだけをインストールしアプリケーション全体を一から構築したい場合は[アプリケーションを一から構築する](tutorial-start-from-scratch.md)
  で説明されている指示に従うことが出来ます
* もっと洗練されたチーム開発環境により適したアプリケーションから開始したい場合は [アドバンストアプリケーションテンプレート](tutorial-advanced-app.md)
  をインストールすることを考慮することが出来ます
88 89 90 91 92


インストールを検証する<a name="verifying-installation"></a>
----------------------

93
インストール完了後ブラウザで下記の URL によってインストールされた Yii アプリケーションにアクセスすることが出来ます
94 95 96 97 98 99

```
http://localhost/basic/web/index.php
```

この URL は、あなたが Yii を ウェブサーバのドキュメントルートディレクトリの下の `basic` という名前のディレクトリにインストールしたこと、
100
そして、ウェブサーバがローカルマシン (`localhost`) で走っていることを想定しています。
101 102 103 104 105 106 107 108 109
インストールされた環境に合うように URL を変更してください。

![Yii のインストールが成功](images/start-app-installed.png)

ブラウザに上のような "おめでとう!" のページが表示されるはずです。
もし表示されなかったら、PHP のインストールが Yii の必要条件を満たしているかどうか、チェックしてください。
最低限の必要条件を満たしているかどうかは、次の方法のどちらかによってチェックすることが出来ます:

* ブラウザを使って `http://localhost/basic/requirements.php` という URL にアクセスする。
110
* 次のコマンドを実行する。
111 112 113 114 115 116 117 118

  ```
  cd basic
  php requirements.php
  ```

Yii の最低必要条件を満たすように PHP のインストールを構成しなければなりません。
最も重要なことは、PHP 5.4 以上でなければならないということです。
119 120
また、アプリケーションがデータベースを必要とする場合は、[PDO PHP 拡張](http://www.php.net/manual/ja/pdo.installation.php) および対応するデータベースドライバ
(MySQL データベースのための `pdo_mysql` など) をインストールしなければなりません。
121 122


123
ウェブサーバを構成する<a name="configuring-web-servers"></a>
124 125
----------------------

126
> Info|情報: もし Yii の試運転をしているだけで、本番サーバに配置する意図がないのであれば、当面、この項は飛ばしても構いません。
127

128 129
上記の説明に従ってインストールされたアプリケーションは、[Apache HTTP サーバ](http://httpd.apache.org/) と [Nginx HTTP サーバ](http://nginx.org/) のどちらでも、
また、Windows、Mac OS X、Linux のどれでも、PHP 5.4 以上を走らせている環境であれば、そのままの状態で動作するはずです。
130 131 132
Yii 2.0 は、また、facebook の [HHVM](http://hhvm.com/) とも互換性があります。
ただし HHVM がネイティブの PHP とは異なる振舞いをする特殊なケースもいくつかありますので、HHVM を使うときはいくらか余分に注意を払う必要があります。

133
本番用のサーバでは、`http://www.example.com/basic/web/index.php` の代りに `http://www.example.com/index.php` という URL
134
でアプリケーションにアクセス出来るようにウェブサーバを設定したいと思うかもしれません。
135
そういう設定をするためには、ウェブサーバのドキュメントルートを `basic/web` フォルダに向けることが必要になります。
Nobuo Kihara committed
136
また、[ルーティングと URL 生成](runtime-routing.md) の節で述べられているように、URL から `index.php` を隠したいと思うかも知れません。
137 138 139 140 141 142 143
この節では、これらの目的を達するために Apache または Nginx サーバをどのように設定すれば良いかを学びます。

> Info|情報: `basic/web` をドキュメントルートに設定することは、`basic/web` の兄弟ディレクトリに保管されたプライベートなアプリケーションコードや取り扱いに注意を要するデータファイルにエンドユーザがアクセスすることを防止することにもなります。
これらの他のフォルダに対するアクセスを拒否することはセキュリティ強化の一つです。

> Info|情報: ウェブサーバの設定を修正する権限のない共用ホスティング環境でアプリケーションが走る場合でも、
セキュリティ強化のためにアプリケーションの構造を調整することが出来ます。
144
詳細については、[共有ホスティング環境](tutorial-shared-hosting.md) の節を参照してください。
145 146


147
### 推奨される Apache の構成<a name="recommended-apache-configuration"></a>
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169

下記の設定を Apache の `httpd.conf` ファイルまたはバーチャルホスト設定の中で使います。
`path/to/basic/web` の部分を `basic/web` の実際のパスに置き換えなければならないことに注意してください。

```
# ドキュメントルートを "basic/web" に設定
DocumentRoot "path/to/basic/web"

<Directory "path/to/basic/web">
    # 綺麗な URL をサポートするために mod_rewrite を使う
    RewriteEngine on
    # ディレクトリかファイルが存在する場合は、リクエストを直接使う
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # そうでなければ、リクエストを index.php に回送する
    RewriteRule . index.php

    # ... 他の設定 ...
</Directory>
```


170
### 推奨される Nginx の構成<a name="recommended-nginx-configuration"></a>
171 172

[Nginx](http://wiki.nginx.org/) を使うためには、PHP を [FPM SAPI](http://jp1.php.net/install.fpm) としてインストールしていなければなりません。
173 174
下記の設定を使うことができます (`path/to/basic/web` の部分を `basic/web` の実際のパスに置き換え、`mysite.local`
を実際のサーバのホスト名に置き換えてください)。
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215

```
server {
    charset utf-8;
    client_max_body_size 128M;

    listen 80; ## listen for ipv4
    #listen [::]:80 default_server ipv6only=on; ## listen for ipv6

    server_name mysite.local;
    root        /path/to/basic/web;
    index       index.php;

    access_log  /path/to/basic/log/access.log main;
    error_log   /path/to/basic/log/error.log;

    location / {
        # 本当のファイルでないものは全て index.php にリダイレクト
        try_files $uri $uri/ /index.php?$args;
    }

    # 存在しないスタティックファイルの呼び出しを Yii が処理するのを
    # 防止したい場合は、コメントを外すこと
    #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
    #    try_files $uri =404;
    #}
    #error_page 404 /404.html;

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass   127.0.0.1:9000;
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
        try_files $uri =404;
    }

    location ~ /\.(ht|svn|git) {
        deny all;
    }
}
```

216
この構成を使う場合は、同時に `php.ini` ファイルで `cgi.fix_pathinfo=0` も設定して、多数の不要な `stat()` の呼び出しを避けるべきです。
217

218 219
また、HTTPS サーバを走らせている場合には、安全な接続であることを Yii が正しく検知できるように、`fastcgi_param HTTPS on;`
を追加しなければならないことにも注意を払ってください。