Вы можете установить Yii двумя способами, с помощью менеджера пакетов Composer или путем загрузки файла архива. Первый из них является предпочтительным способом, так как он позволяет устанавливать новые расширения или обновления Yii воспользовавшись запуском одной команды из консоли. Второй способ будет удобен тем, кто еще не умеет и только начинает пользоваться Composer. Также следует заметить, что на обычных хостингах использовать Composer нельзя, поэтому приходится устанавливать Yii через Composer сначало локально у себя на компьютере и только потом заливать все файлы через FTP.

В результате производится установка Yii фреймворка и шаблона проекта. Шаблон проекта является  рабочим примером проекта на Yii с некоторыми основными функциями, такими как вход, контактная форма и т.д. Таким образом, он может послужить хорошей отправной точкой для ваших проектов.

Установка через Composer

Если вы еще не установили Composer, вы можете сделать это, следуя инструкциям на сайте getcomposer.org. На Linux и Mac OS X, нужно выполнить следующие команды:

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

В операционной системе Windows, вам нужно скачать и запустить Composer-setup.exe. При помощи Composer вы можете установить Yii, выполнив следующие команды:

composer global require "fxp/composer-asset-plugin:^1.2.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic project

Первая команда устанавливает плагин asset composer, который позволяет управлять bower и nmp зависимостями через Composer. Нужно лишь запустить эту команду один раз для всех. Вторая команда устанавливает последнюю стабильную версию Yii в каталоге с именем project. Вы можете выбрать любое другое имя каталога.

Если команда composer create-project не работает, то убедитесь, что у вас правильно установлен плагин composer. Чтобы проверить это, запустите composer global show, которое должно содержать запись fxp/composer-asset-plugin. Когда проблема устранена, то возобновите прерванную установку командой composer update внутри каталога project.

Если вы хотите установить последнюю development версию Yii, то можете использовать следующую команду:

composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic project

Обратите внимание, что development версия Yii не должна использоваться в рабочем проекте, поскольку это может привести к поломке вашего работающего кода.

Установка из архива

Установка Yii из архива включает в себя три этапа:

  1. Загрузку файлов архива из yiiframework.com
  2. Распаковку загруженных файлов в web каталог
  3. Изменение в файле конфигурации config/web.php секретного ключа для значения cookieValidationKey (которое устанавливается автоматически, если вы загрузили Yii с помощью Composer)
// !!! вставить секретный ключ, если он пуст - это требуется для проверки cookie
'CookieValidationKey' => 'ввести секретный ключ здесь',

Настройка веб-сервера

Установленное приложение должно работать из коробки с сервером Apache или Ngnix, на Windows, Mac OS X или Linux с PHP версией 5.4 и выше. На рабочем сервере вы можете настроить приложение так, чтобы получить доступ к нему по адресу http://www.example.com/, вместо http://www.example.com/project/web/index.php. Такая конфигурация требует указывать корневой каталог вашего веб-сервера к каталогу project/web. Вы также можете скрыть index.php из адреса.

Рекомендации настройки Apache

Используйте следующую конфигурацию в файле httpd.conf Apache или в конфигурации виртуального хоста.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Рекомендации настройки Ngnix

Чтобы использовать Nginx, вы должны установить PHP как FPM SAPI и использоват следующую конфигурацию:

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;
    error_log   /path/to/basic/log/error.log;

    location / {
        # Redirect everything that isn't a real file to index.php
        try_files $uri $uri/ /index.php$is_args$args;
    }

    # uncomment to avoid processing of calls to non-existing static files by Yii
    #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
    #    try_files $uri =404;
    #}
    #error_page 404 /404.html;

    # deny accessing php files for the /assets directory
    location ~ ^/assets/.*\.php$ {
        deny all;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
        try_files $uri =404;
    }

    location ~* /\. {
        deny all;
    }
}