Yii2 установка advanced
Установка Yii2 advanced с настройкой ЧПУ и доступом к backend
-
Ставим composer:
$ curl -sS https://getcomposer.org/installer | php -
Далее с флагом "global" ставим плагин, который позволит работать с пакетами bower и npm через Composer:
$ php composer.phar global require fxp/composer-asset-plugin:"*"- это дейставие пропишет в файл ~/.composer/composer.json зависимость "fxp/composer-asset-plugin"
Данный плагин позволит работать с пакетами bower и npm через Composer т.е. устанавливать js пакеты из репозиториев bower и npm напрямую из композера используя синтаксис {asset-type}-asset/:
$ php composer.phar require "npm-asset/bootstrap": "*"или
$ php composer.phar require "bower-asset/bootstrap": "*"Подробности читать здесь: composer-asset-plugin basic-usage
-
Устанавливаем и разворачиваем собственно сам Yii2 в папку "advanced"
$ php composer.phar --prefer-dist create-project yiisoft/yii2-app-advanced advanced -
Далее выполняем инициализацию:
$ php init Yii Application Initialization Tool v1.0 Which environment do you want the application to be initialized in? [0] Development [1] Production Your choice [0-1, or "q" to quit] ... -
- вводим 0 или 1 в зависимости от желаемого типа окружения. Это создаст файлы:
- frontend/web/index.php
- frontend/web/index-test.php
- backend/web/index.php
- backend/web/index-test.php
-
Прописываем данные для работы с БД в файле: advanced/common/config/main.php
-
Далее выполняем миграцию:
$ php yii migrate Yii Migration Tool (based on Yii v2.0.9-dev) Creating migration history table "migration"...Done. Total 1 new migration to be applied: m130524_201442_init Apply the above migration? (yes|no) [no]: yesЭто создаст служебную таблицу migration и таблицу users в БД
Как сделать что бы:
http://example.com/ - frontend
http://example.com/backend/ - backend
-
создать симлинк:
$ cd /path/to/project/frontend/web $ ln -s ../../backend/web backend -
В файле виртуального хоста:
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /path/to/project/frontend/web # ! Важно ! <Directory /path/to/project> Options -Indexes +FollowSymLinks # ! Важно ! AllowOverride All Require all granted </Directory> ErrorLog /path/to/project/error.log CustomLog /path/to/project/access.log combined </VirtualHost> -
Далее в .htaccess в директории, где развернут Yii
<IfModule mod_rewrite.c> IndexIgnore */* RewriteEngine on # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php RewriteRule .* frontend/web/index.php?r=$0 </IfModule> -
Затем ЧПУ ссылки:
// В файле frontend/config/main.php раскомментируем: ... , 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ], ], ...
Yii2 установка advanced