Skip to content

Latest commit

 

History

History
170 lines (138 loc) · 4.88 KB

installation.md

File metadata and controls

170 lines (138 loc) · 4.88 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 or Yarn to build frontend scripts

Get source code

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

composer install

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

Docker installation

  1. Install docker, docker-compose and composer to your system
  2. Run composer run-script docker:start
  3. That's all - your application is accessible on http://yii2-starter-kit.localhost
    • docker host IP address may vary on Windows and MacOS systems

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. Copy .env.dist to .env in the project root.

  2. 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
    
  3. Run in command line

php console/yii app/setup
npm install
npm run build

Configure your web server

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

Vagrant installation

If you want, you can use bundled Vagrant instead of installing app to your local machine.

  1. Install Vagrant
  2. Copy files from docs/vagrant-files to application root
  3. Copy ./vagrant/vagrant.yml.dist to ./vagrant/vagrant.yml
  4. Create GitHub personal API token
  5. Edit values as desired including adding the GitHub personal API token to ./vagrant/vagrant.yml
  6. Run:
vagrant plugin install vagrant-hostmanager
vagrant up

That`s all. After provision application will be accessible on http://yii2-starter-kit.localhost

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;