Vagrant - uniqcle/Yii2 GitHub Wiki

https://puphpet.com/

# MACHINES
# Internal Identifier
yii               # ID машины, с которой будем работать в консоле с помощью команд Vagrant. Лучше кратко называть
# Hostname 
yii               # Имя машины, отображаемое в VirtualBox
# IP Address     
192.168.56.101    # IP адрес Виртуалки. Обычно для VirtualBox этот IP
# Memory
2048              # Добавляем память в мб
Forwarded ports

Оставляем по-умолчанию

Shared Folders
Folder Source Folder Target

c:/yii/www /var/www

System Packages

php7.2-mbstring php-zip php-imagick php7.2-gd php7.0-intl php7.0-xsl php7.2-xml

Users & Groups

Оставляем по-умолч.

Locale

Оставляем по-умолч.

Firewall

Оставляем по-умолч.

Resolv

Оставляем по-умолч. Позволяет указывать DNS-сервера для локально. машины. Но бывает из-за нее проблемы, поэтому лучше убрать

Cron Jobs

Оставляем по-умолч.

Custom Files

Оставляем по-умолч.

Install Nginx

Снимаем галочку

Install Apache

Для Frontend
# VIRTUAL HOSTS
# VHOST1
# Server Name (для Fronted)
yii2frontend.com

# Server Aliases
можно не ставить

# Document Root (для Frontend)
/var/www/project/frontend/web   # такой путь обусловлен структурой самого фреймворка

# VIRTUAL HOST DIRECTORY/LOCATION/FILES DIRECTIVES
# PHP_HTML
# Path
/var/www/project/frontend/web
для Backend
# VIRTUAL HOSTS
# VHOST2
# Server Name  
yii2backend.com

# Document Root (для Backend)
/var/www/project/backend/web

# VIRTUAL HOST DIRECTORY/LOCATION/FILES DIRECTIVES
PHP_HTML_*
ADD -> Basic PHP
# Path
/var/www/project/backend/web

# Directory Index
index.php

# PHP_PHP_*
# Path
\.php$    # Для поддержки php-скриптов. Связываем Apache с fpm

# остальное по-умолч.
Let's Encrypt

Оставляем по-умолч. Спец. программа, чтобы делать защещенные соединения для сайтов

Install PHP

Composer можно поставить Остальное все по-умолч.

Ruby

Оставляем по-умолч. Это требуется установщику

Python

Оставляем по-умолч.

NODE.JS и Install MariaDB

Оставляем по-умолч.

Install MySQL
# Version
5.7           # Версия MySql
# Root Password
root

# USERS
# USER1 
# Username
yii2user  
# Password
123456

# DATABASES
# DB Name
yii2advanced

# GRANTS
# User
yii2user  
# Database
*.*
# Privileges
ALL
Install PostgreSQL, MongoDB, Redis, SQLite, MailHog, Beanstalkd, RabbitMQ, Elastic Search

Оставляем по-умолч.

Далее скачиваем архив puphpet.zip с Vagrantfile

Развертываем окружение с помощью Vagrantfile

  1. Распаковываем архив и папку 0UGhr0 кладем рядом с project

  2. Проверить пользователя и группу на www-data в файле 0UGhr0/puphpet/config.yaml (где 0UGhr0 - папка из архива конфигуратора):

...
synced_folder:
    folder1:
        owner: www-data
        group: www-data
...
  1. Переходим в папку 0UGhr0

  2. Поднимаем виртуальную машину vagrant up

Команды Vagrant

vagrant global-status  # Просмотр список запущенных виртуальных машин
vagrant halt [id]      # Остановка машины
vagrant up [id]        # Запуск машины
vagrant ssh            # Зайти на сервер
vagrant destroy [id]   # удалить виртуалку

В Windows 10 бывает при запуске vagrant up зависает. Необходимо Панель управления -> Удаление программы -> Включение и отключение компонентов Windows -> Hyper V (отключаем)