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' => [
                    ],
                ], ...
            

Добавить комментарий


Защитный код
Обновить


Кто на сайте
Сейчас 14 гостей онлайн