Skip to content

Latest commit

 

History

History
175 lines (139 loc) · 4.53 KB

installation.md

File metadata and controls

175 lines (139 loc) · 4.53 KB

INSTALLATION

TABLE OF CONTENTS

Before you begin

  1. If you do not have Composer, you may install it by following the instructions at getcomposer.org.
  2. Install NPM to build frontend code
  3. Install taskctl to run tasks

Get source code

Option 1: Get source code via Composer

You can install this application template with composer using the following command:

composer create-project yii2-starter-kit/yii2-starter-kit myproject.com

Option 2: Download sources

https://github.com/yii2-starter-kit/yii2-starter-kit/archive/master.zip

Or clone repository manually

git clone https://github.com/yii2-starter-kit/yii2-starter-kit.git

Install dependencies

taskctl install

or

composer install
npm install

Docker installation

  1. Install docker, docker-compose and composer to your system
  2. Run taskctl start or composer run-script docker:build
  3. That's all - your application is accessible on http://yii2-starter-kit.localhost

PS Also you can use bash inside application container. To do so run docker-compose exec app bash

Docker FAQ

  1. How do I run yii console commands from outside a container?

docker-compose exec app console/yii help

docker-compose exec app console/yii migrate

docker-compose exec app console/yii rbac-migrate

  1. How to connect to the application database with my workbench, navicat etc? MySQL is available on yii2-starter-kit.localhost, port 3306. User - root, password - root

Manual installation

REQUIREMENTS

The minimum requirement by this application template that your Web server supports PHP 7. Required PHP extensions:

  • intl
  • gd
  • com_dotnet (for Windows)

Setup application

  1. Run taskctl install

  2. Run taskctl build:env

  3. Adjust settings in .env file

    • Set debug mode and your current environment
    YII_DEBUG   = true
    YII_ENV     = dev
    
    • Set DB configuration
    DB_DSN           = mysql:host=127.0.0.1;port=3306;dbname=yii2-starter-kit
    DB_USERNAME      = user
    DB_PASSWORD      = password
    
    • Set application canonical urls
    FRONTEND_HOST_INFO    = http://yii2-starter-kit.localhost
    BACKEND_HOST_INFO     = http://backend.yii2-starter-kit.localhost
    STORAGE_HOST_INFP     = http://storage.yii2-starter-kit.localhost
    
  4. Run taskctl local:build or

php console/yii app/setup
npm run build

Configure your web server

  • Copy docker/vhost.conf to your nginx config directory
  • Change it to fit your environment

Demo data

Add Random Articles Data

You can insert random article data by running the following command:

console/yii app/demo-data N

Where N is the number of categories and articles to be added to the database. Defaults to 30.

In docker, please run:

docker-compose exec app console/yii app/demo-data

Demo Users

Login: webmaster
Password: webmaster

Login: manager
Password: manager

Login: user
Password: user

Single domain installation

  1. Setup application Adjust settings in .env file
FRONTEND_BASE_URL   = /
BACKEND_BASE_URL    = /backend/web
STORAGE_BASE_URL    = /storage/web
  1. Adjust settings in backend/config/web.php file
    ...
    'components'=>[
        ...
        'request' => [
            'baseUrl' => '/admin',
        ...
  1. Adjust settings in frontend/config/web.php file
    ...
    'components'=>[
        ...
        'request' => [
            'baseUrl' => '',
        ...
  1. Configure your web server Example of single domain config for nginx can be found here

Important notes

  • There is a VirtualBox bug related to sendfile that can lead to corrupted files, if not turned-off Uncomment this in your nginx config if you are using Vagrant: sendfile off;