Yii2 установка advanced

Yii2 установка advanced

Установка Yii2 advanced с настройкой ЧПУ и доступом к backend

  1. Ставим composer:

    $ curl -sS https://getcomposer.org/installer | php

  2. Далее с флагом "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

  3. Устанавливаем и разворачиваем собственно сам Yii2 в папку "advanced"

    $ php composer.phar --prefer-dist create-project yiisoft/yii2-app-advanced advanced

  4. Далее выполняем инициализацию:

     

    $ 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] ...

  5. — вводим 0 или 1 в зависимости от желаемого типа окружения. Это создаст файлы:

    • frontend/web/index.php
    • frontend/web/index-test.php
    • backend/web/index.php
    • backend/web/index-test.php

    и пр.

     

  6. Прописываем данные для работы с БД в файле: advanced/common/config/main.php

  7. Далее выполняем миграцию:

     

    $ 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

  1. создать симлинк:

     

    $ cd /path/to/project/frontend/web

    $ ln -s ../../backend/web backend

  2. В файле виртуального хоста:

     

    <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>

  3. Далее в .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>

  4. Затем ЧПУ ссылки:

     

    // В файле frontend/config/main.php раскомментируем:

    ... ,

    'urlManager' => [

        'enablePrettyUrl' => true,

        'showScriptName' => false,

        'rules' => [

        ],

    ], ...

 

Возможно Вас заинтересуют эти материалы

Yii2: Работа с ресурсами

В данной статье разбираются варианты создания менеджера ресурсов в Yii2 и их использование, а так

Yii2 локализация

За локализацию приложения Yii2 отвечает класс yii\i18n\I18N. Данные локазиции могут зраниться как в БД так

Yii2 Возможность: темы

Тема - это каталог с файлами видов контроллеров (views) и шаблонов (layouts). Каждый файл в