Yii2 — фреймворк для разработки веб-приложений на PHP. Он имеет базовую и расширенную версии. В расширенной содержится два приложения: для самого сайта (frontend) и для административной части (backend), в базовой — приложение одно (frontend).
Выберите версию, которая подходит для решения ваших задач, а мы расскажем, как ее установить.
Установка Yii2 basic
Базовую версию фреймворка установить несложно. Рекомендуем работать, подключившись по SSH.
Перейдите в каталог ~/domains/domain.ru и удалите папку public_html: [username@server ~]$ cd domains/domain.ru/
Эту операцию можно выполнить и с помощью Файлового менеджера в Панели управления.
[username@server domain.ru]$ rm -r public_html
Скачайте последнюю версию фреймворка с официального сайта с помощью утилиты wget:
[username@server domain.ru]$ wget ссылка_на_архив
Распакуйте архив: [username@server domain.ru]$ tar xfz yii-basic-app-X.X.XX.tgz
где X.X.XX — версия вашего дистрибутива.
Переместите файлы из каталога ~/domains/domain.ru/basic в ~/domains/domain.ru:
[username@server domain.ru]$ mv basic/* .
И удалите каталог basic, а также сам архив:
[username@server domain.ru]$ rm -r basic
[username@server domain.ru]$ rm yii-basic-app-X.X.XX.tgz
Создайте базу данных в разделе «Базы данных» Панели управления и укажите данные для подключения к ней в файле ~/domains/domain.ru/config/db.php: [username@server domain.ru]$ vim config/db.php
'dsn' => 'mysql:host=localhost;dbname=username_db',
Здесь username_db — название базы данных, username_dbname — имя пользователя базы данных, password — пароль. Для сохранения изменений и выхода из vim нажмите Esc и выполните команду :wq
'username' => 'username_dbname',
'password' => 'password',
Yii2 basic проверяет cookie, чтобы их было невозможно подделать. Укажите произвольный набор символов в качестве значения параметра cookieValidationKey в файле ~/domains/domain.ru/config/web.php:13 Если его не задать, при запуске проекта возникнет ошибка:
[username@server domain.ru]$ vim config/web.php 'cookieValidationKey' => 'proisvolnaya_frasa',
По умолчанию корневым каталогом сайта является папка ~/domains/domain.ru/public_html. Для работы фреймворка необходимо, чтобы сайт открывался из директории ~/domains/domain.ru/web. Это можно реализовать с помощью символической ссылки. Создайте ее командой:
[username@domain.ru ~]$ ln -s /home/username/domains/domain.ru/web /home/username/domains/domain.ru/public_html
Фреймворк установлен! При обращению к домену отобразится заглушка:
Процесс установки расширенной версии отличается от базовой. Рассмотрим его далее.
Установка Yii2 advanced
Yii2 advanced мы рекомендуем устанавливать с помощью Composer.
Composer — менеджер пакетов. С его помощью можно сразу установить и сам фреймворк, и необходимые для его работы библиотеки.
Подключитесь к серверу по SSH. Перейдите в каталог ~/domains: [username@server ~]$ cd domains/
И выполните команды: [username@server domains]$ curl -sS https://getcomposer.org/installer | php
где X.X.X — актуальная версия пакета composer asset plugin, узнать которую можно в репозитории Packagist.
[username@server domains]$ php composer.phar global require "fxp/composer-asset-plugin:^X.X.X"
Composer установлен. Скачайте дистрибутив Yii2 advanced: [username@server domains]$ php composer.phar create-project --prefer-dist yiisoft/yii2-app-advanced domain.ru/
Замените domain.ru на имя вашего сайта.
Перейдите в каталог с именем домена:
[username@server domains]$ cd domain.ru/
Чтобы подготовить фреймворк к запуску, выполните команду:
[username@server domain.ru]$ php init --env=Development --overwrite=All
Создайте базу данных в разделе «Базы данных» Панели управления. В файле ~/domains/domain.ru/common/config/main-local.php укажите данные для подключения к БД: [username@server domain.ru]$ vim common/config/main-local.php
'dsn' => 'mysql:host=localhost;dbname=username_db',
Здесь username_db — название базы данных, username_dbname — имя пользователя базы данных, password — пароль.
'username' => 'username_dbname',
'password' => 'password',
Чтобы в базе данных были созданы необходимые для работы фреймворка таблицы, выполните миграцию:
[username@server domain.ru]$ php yii migrate
По умолчанию корневым каталогом сайта является папка public_html. Перенесите в нее файлы из каталога ~/domains/domain.ru/frontend/web:
[username@server domain.ru]$ mv frontend/web/{.,*}* public_html/
Перейдите в каталог public_html:
[username@server domain.ru]$ cd public_html/
Чтобы приложение для разработки административной части открывалось по ссылке http://domain.ru/admin, создайте символическую ссылку:
[username@server public_html]$ ln -s ../backend/web/ admin
Замените содержимое файла index.php.
Код
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../common/config/bootstrap.php');
require(__DIR__ . '/../frontend/config/bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../common/config/main.php'),
require(__DIR__ . '/../common/config/main-local.php'),
require(__DIR__ . '/../frontend/config/main.php'),
require(__DIR__ . '/../frontend/config/main-local.php')
);
(new yii\web\Application($config))->run();
Если все настроено верно, при обращении к сайту вы увидите страницу:
А по ссылке http://domain.ru/admin — интерфейс для входа в административную панель:
Если в процессе установки Yii2 у вас возникли сложности, обратитесь в нашу службу поддержки.