Встановлення Yii ================ Ви можете встановити Yii двома шляхами: використовуючи менеджер пакунків [Composer](https://getcomposer.org/) або завантаживши файл архіву. Перший варіант є бажанішим, тому що дозволяє встановлювати нові [розширення](structure-extensions.md) або оновлювати Yii простим виконанням однієї команди. Після стандартного встановлення Yii ми отримуємо як фреймворк, так і шаблон проекту. Шаблон проекту - це робочий проект Yii, в якому реалізовано деякий базовий функціонал, такий як система входу/виходу користувачів, форма зворотнього зв’язку і т. д. Його код організовано в рекомендований спосіб. Таким чином, це може слугувати гарною відправною точкою для ваших проектів. У цьому та у наступних кількох розділах буде описано, як встановити Yii з так званим *Базовим шаблоном проекту* та як реалізувати нові можливості на базі цього шаблону. Також Yii надає інший шаблон із назвою [Розширений шаблон проекту](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-uk/README.md), який краще використовувати у середовищі розробки в команді для розробки складних додатків. > Інформація: Базовий шаблон проекту підходить для розробки 90 відсотків веб-додатків. Він відрізняється від Розширеного шаблону проекту в основному організацією коду. Якщо ви малознайомі з Yii, наполегливо рекомендується використовувати Базовий шаблон проекту із-за його простоти, але й достатньої функціональності. Встановлення за допомогою Composer ---------------------------------- Якщо у вас все ще не встановлено Composer, то це можна зробити за допомогою інструкції на [getcomposer.org](https://getcomposer.org/download/). Користувачам Linux та Mac OS X потрібно виконати наступні команди: curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer При роботі з Windows, необхідно завантажити та запустити [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe). В разі наявності проблем або якщо вам необхідна додаткова інформація, зверніться до [документації Composer](https://getcomposer.org/doc/). Якщо ж Composer вже було встановлено раніше, переконайтесь, що використовуєте його останню версію. Ви можете оновити Composer простою командою `composer self-update`. Після встановлення Composer, встановити Yii можна виконавши наступну команду з директорії, яка доступна через Web: composer global require "fxp/composer-asset-plugin:~1.0.3" composer create-project --prefer-dist yiisoft/yii2-app-basic basic Перша команда встановить [плагін ресурсів composer (composer-asset-plugin)](https://github.com/francoispluchino/composer-asset-plugin/), що дозволить керувати залежностями пакунків Bower та NPM за допомогою Composer. Цю команду потрібно виконати лише один раз. Друга команда встановить Yii у директорію під назвою `basic`. За бажанням, ви можете обрати інше ім’я для директорії. > Примітка: Під час встановлення може статися так, що Composer запитає облікові дані від вашого профілю на GitHub, > через встановлені обмеження запитів GitHub API. Це є нормальним, оскільки Composer повинен отримати багато інформації > для всіх пакунків із GitHub. Надання облікових даних профілю GitHub збільшить кількість запитів до API, потрібних для > подальшої роботи Composer. Для більш детальної інформації, будь ласка, зверніться до > [документації Composer](https://getcomposer.org/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens). > Підказка: Якщо ви хочете встановити останню нестабільну версію Yii, ви можете виконати наступну команду, > яка додає опцію [stability](https://getcomposer.org/doc/04-schema.md#minimum-stability): > > composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic > > Варто зауважити, що нестабільну версію Yii не можна використовувати на робочому сервері, оскільки вона може порушити > виконання робочого коду. Встановлення з архіву --------------------- Встановлення Yii з архіву складається з трьох кроків: 1. Завантажте архів за адресою [yiiframework.com](http://www.yiiframework.com/download/); 2. Розпакуйте архів в директорію, доступну через Web. 3. Відредагуйте файл конфігурації `config/web.php` - необхідно ввести таємний ключ до пункту `cookieValidationKey` (це виконується автоматично при вставленні Yii через Composer): ```php // !!! встановити таємний ключ до наступного пункту (якщо порожній) - це необхідно для перевірки кукі 'cookieValidationKey' => 'enter your secret key here', ``` Інші параметри встановлення --------------------------- Вище наведені інструкції показують як встановити Yii та створити базовий веб-додаток, який працює "з коробки". Цей підхід є гарною відправною точкою для більшості проектів, як малих так і великих. Це особливо підходить для тих, хто тільки розпочинає вивчати Yii. Але є ще й інші варіанти встановлення: * Якщо вам потрібен тільки один фреймворк і ви хотіли б створити додаток з нуля, використовуйте інструкцію, що описана у розділі [Створення додатка з нуля](tutorial-start-from-scratch.md). * Якщо ви хочете розпочати з більш складного додатка, який краще підходить для роботи в команді, використовуйте [Розширений шаблон проекту](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-uk/README.md). Перевірка встановлення ---------------------- Після встановлення, ви можете використовувати свій браузер для доступу до встановленого додатку Yii за наступним URL: ``` http://localhost/basic/web/index.php ``` Даний URL припускає, що Yii встановлено в директорію `basic` у базовій директорії вашого локального веб-сервера (`localhost`). Вам, можливо, буде потрібно налаштувати його на своїй системі. ![Успішно встановлений Yii](images/start-app-installed.png) Ви повинні побачити сторінку із привітанням "Congratulations!" у вашому браузері. Якщо ж ні, будь ласка, перевірте, чи задовольняють налаштування PHP вимоги Yii. Це можна зробити одним із наведених способів: * Використайте браузер для доступу до URL `http://localhost/basic/requirements.php` * Або виконайте наступні команди в консолі: ``` cd basic php requirements.php ``` Необхідно налаштувати PHP таким чином, щоб він відповідав мінімальним вимогам Yii. Основна вимога — PHP версії 5.4 або вище. Якщо ваш додаток працює з базою даних, необхідно встановити [розширення PHP PDO](http://www.php.net/manual/en/pdo.installation.php) та відповідний драйвер (наприклад, `pdo_mysql` для MySQL). Налаштування веб-серверів ------------------------- > Інформація: можете пропустити даний підрозділ, якщо ви тільки розпочали знайомитися з фреймворком і не розгортаєте його на робочому сервері. Додаток, встановлений за інструкціями, наведеними вище, буде працювати одразу як з [Apache HTTP server](http://httpd.apache.org/), так і з [Nginx HTTP server](http://nginx.org/) на Windows, Mac OS X чи Linux із встановленим PHP 5.4 або вище. Yii 2.0 також сумісний із віртуальною машиною Фейсбука [HHVM](http://hhvm.com/), однак є деякі крайні випадки, де HHVM поводиться інакше, ніж рідний PHP, тому ви повинні бути дуже уважними при використанні HHVM. На робочому сервері вам напевно захочеться змінити URL додатку з `http://www.example.com/basic/web/index.php` на `http://www.example.com/index.php`. Для цього необхідно змінити кореневу директорію в налаштуваннях веб-сервера на `basic/web`. Додатково можна сховати `index.php` із URL, як це описано у розділі [Маршрутизація та створення URL](runtime-routing.md). Далі буде описано як налаштувати Apache або Nginx для цих цілей. > Інформація: Встановлюючи `basic/web` кореневою директорією веб-сервера, ви забороняєте кінцевим користувачам доступ до приватного коду додатка та важливих даних, які знаходяться на одному рівні з `basic/web`. Це робить додаток більш захищеним. > Інформація: Якщо додаток працює на хостингу, де немає доступу до налаштувань сервера, ви все ще можете змінити структуру додатка для покращення безпеки, як описано в розділі [Робота на віртуальному хостингу](tutorial-shared-hosting.md). ### Рекомендовані налаштування Apache Додайте наступний код до файлу конфігурації `httpd.conf` веб-сервера Apache або в конфігурацію віртуального хоста. Не забудьте замінити `path/to/basic/web` на коректний шлях до `basic/web`. ``` # Встановлюємо кореневою директорією "basic/web" DocumentRoot "path/to/basic/web" # використаємо mod_rewrite для підтримки гарних URL RewriteEngine on # Якщо запитуваний файл або директорія існують - звертаємось до них напряму RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Якщо ні - перенаправляємо запит на index.php RewriteRule . index.php # ...інші налаштування... ``` ### Рекомендовані налаштування Nginx Для використання [Nginx](http://wiki.nginx.org/) вам потрібно встановити PHP як [FPM SAPI](http://php.net/install.fpm). Використовуйте наступні параметри Nginx, замінивши `path/to/basic/web` на коректний шлях до `basic/web`, а `mysite.local` на актуальний домен. ``` server { charset utf-8; client_max_body_size 128M; listen 80; ## "слухаємо порт" для 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; 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 міг коректно визначати захищене з’єднання.