Встановлення Yii

Ви можете встановити Yii двома шляхами: використовуючи Composer або завантаживши архів. Перший варіант э бажанішим, тому що дозволить встановити всі нові розширення або оновити Yii однією командою.

Примітка: На відміну від Yii 1, після стандартного встановлення Yii 2 ми отримуємо як фреймворк, так і шаблон додатка.

Встановлення за допомогою Composer

Якщо у вас все ще не вставновлено Composer, то це можна зробити за допомогою інструкції на getcomposer.org. Користувачам Linux та Mac OS X потрібно виконати наступні команди:

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

При роботі з Windows, необхідно завантажити та запустити Composer-Setup.exe.

В разі наявності проблем або якщо вам необхідна додаткова інформація, зверніться до документації Composer.

Якщо ж Composer вже було встановлено раніше, переконайтесь, що використовуюєте його останню версію. Ви можете оновити Composer простою командою composer self-update.

Після встановлення Composer, встановити Yii можна виконавши наступну команду з директорії, яка доступна через Web:

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

Перша команда встановить плагін ресурсів composer (composer-asset-plugin), що дозволить керувати залежностями пакетів Bower та NPM за допомогою Composer. Цю команду потрібно виконати лише один раз. Друга команда встановить Yii у директорію під назвою basic. За бажанням, ви можете обрати іншу директорію.

Примітка: Під час встановлення може статися так, що Composer запитає облікові дані від вашого профілю на Github, через встановлені обмеження запитів Github API. Це є нормальним, оскільки Composer повинен отримати багато інформації для всіх пакетів із Github. Надання облікових даних профіля Github збільшить кількість запитів до API, потрібних для подальшої роботи Composer. Для більш детальної інформації, будь ласка, зверніться до документації Composer.

Підказка: Якщо ви хочете встановити останню нестабільну версію Yii, ви можете виконати наступну команду, яка додає опцію stability:

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

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

Встановлення з архіву

Встановлення Yii з архіву складається з трьох кроків:

  1. Завантажте архів за адресою yiiframework.com;
  2. Розпакуйте архів в директорію, доступну через Web.
  3. Відредагуйте файл конфігурації config/web.php - необхідно заповнити секретний ключ до пункту cookieValidationKey (це виконуєтся автоматично при вставленні Yii через Composer):

php // !!! встановити секретний ключ до наступного пункту (якщо порожній) - це необхідно для валідації кукі 'cookieValidationKey' => 'enter your secret key here',

Інші параметри встановлення

Вище наведені інструкції по встановленню Yii, які також створюють базовий веб-додаток, готового до роботи. Це відмінний варіант для невеликих проектів або для тих, хто тільки розпочинає вивчати Yii.

Але є ще й інші варіанти встановлення:

  • Якщо вам потрібен тільки один фреймворк і ви хотіли б створити додаток з нуля, використовуйте інструкцію, що описана у розділі Створення додатка з нуля.
  • Якщо хочете розпочати з більш насиченого додатка, який добре підходить для роботи в команді, використовуйте разширений шаблон додатка.

Перевірка встановлення

Після встановлення, ви можете перевірити за допомогою браузера свій встановлений додаток Yii за наступним URL:

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

Даний URL передбачає встановлення додатка в директорію basic базової директорії вашого локального веб-сервера (localhost). Можливо вам знадобиться підкорегувати налаштування свого сервера.

Успішно встановленний Yii

Ви повинні побачити сторінку браузера із привітанням "Congratulations!". Якщо ні — провірте, чи задовільняють налаштування PHP вимогам Yii одним із способів:

  • Браузером перейдіть на URL http://localhost/basic/requirements.php
  • Або виконайте наступні команди в консолі:

cd basic php requirements.php

Для коректної роботи фреймворка вам необхідно мати PHP, який відповідає його мінімальним вимогам. Основна вимога — PHP версії 5.4 або вище. Якщо ваш додаток працює з базою даних, необхідно встановити розширення PHP PDO та відповідний драйвер (наприклад, pdo_mysql для MySQL).

Налаштування веб серверів

Інформація: можете пропустити даний підрозділ, якщо ви тільки розпочали знайомитися з фреймворком і не розгортаєте його на робочому сервері.

Додаток, встановлений за інструкціями, наведеними вище, буде працювати одразу як з Apache HTTP server, так і з Nginx HTTP server під Windows, Mac OS X чи Linux із встановленим PHP 5.4 або вище. Yii 2.0 також сумісний із віртуальною машиною HHVM фейсбука, однак є деякі крайні випадки, де HHVM поводиться інакше, ніж рідний PHP, тому ви повинні бути дуже уважними при використанні HHVM.

На рабочому сервері вам напевно захочеться змінити URL додатку з http://www.example.com/basic/web/index.php на http://www.example.com/index.php. Для цього необхідно змінити кореневу директорію в налаштуваннях веб сервера на basic/web. Додатково можно сховати index.php із URL, як це описано у розділі Маршрутизація та створення URL. Далі буде показано як налаштувати Apache і Nginx для цих цілей.

Інформація: Встанновлюючи basic/web кореневою директорією веб-сервера, ви забороняєте кінцевим користувачам доступ до приватного коду додатка та важливим даним, які знаходяться на одному рівні з basic/web. Це робить додаток більш захищенним.

Інформація: Якщо додаток працює на хостингу, де немає доступу до налаштувань сервера, ви всеодно можете змінити структуру додатка для покращення безпеки, як описано в розділі Робота на shared хостингу.

Рекомендовані налаштування Apache

Додайте наступний код до файлу конфігурации Apache httpd.conf або в конфігураційний файл віртуального хоста. Не забудьте замінити path/to/basic/web на коректний шлях до basic/web.

# Встановлюємо кореневою директорією "basic/web"
DocumentRoot "path/to/basic/web"

<Directory "path/to/basic/web">
    # використаємо mod_rewrite для підтримки гарних URL
    RewriteEngine on
    # Якщо запитуваний файл або директорія існують - звертаємось до них напряму
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Якщо ні - перенаправляємо запит на index.php
    RewriteRule . index.php

    # ...інші налаштування...
</Directory>

Рекомендовані налаштування Nginx

Для використання Nginx вам потрібно встановити PHP як FPM SAPI. Використовуйте наступні параметри Nginx, замінивши path/to/basic/web на коректний шлях до basic/web, а mysite.local на бажаний домен.

server {
    charset utf-8;
    client_max_body_size 128M;

    listen 80; ## listen for ipv4
    #listen [::]:80 default_server ipv6only=on; ## слухаємо 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;
    }
}

Використовуючи дану конфігурацію встановіть cgi.fix_pathinfo=0 в php.ini, щоб запобігти зайвим системним викликам stat().

Врахуйте також, що при використанні HTTPS необхідно задавати fastcgi_param HTTPS on; щоб Yii міг корректно визначати захищене з’єднання.