Как развернуть локальную среду для разработки с Laravel (Windows)

Обсудить
Как развернуть локальную среду для разработки с Laravel

1. Устанавливаем VirtualBox

  1. Ставим.

2. Устанавливаем Vagrant

  1. Ставим.

3. Устанавливаем Git

  1. Ставим.

Homestead

4. Разворачиваем Homestead

Запускаем PowerShell или Win+R → cmd.

Ставим Homestead Vagrant образ:

vagrant box add laravel/homestead

Необходимо выбрать пункт 3, после чего начнется скачивание бокса, размер которого около 1GB. После того, как коробка скачается:

git clone https://github.com/laravel/homestead.git c:/Homestead
cd c:/Homestead
init.bat

5. Настраиваем Homestead под проект

Создаем папку под проект c:/Projects/<project-name>.

Открываем файл c:/Homestead/Homestead.yaml и меняем его содержимое на:

---

ip: "192.168.10.10"

memory: 2048

cpus: 1

provider: virtualbox


authorize: Windows-путь до публичного SSH-ключа


keys:

    - Windows-путь до приватного SSH-ключа


folders:

    - map: c:/Projects/<project-name>

      to: /home/vagrant/code/<project-name>


sites:

    - map: project-name.local

      to: /home/vagrant/code/<project-name>/public


databases:

    - homestead

После чего добавляем в c:/Windows/System32/drivers/etc/hosts следующую строчку:

192.168.10.10  project-name.local

Laravel

6. Устанавливаем Laravel

Поскольку в образе виртуальной машины пока еще нет самого Laravel - устанавливаем его.

Переходим в папку, где установлен Homestead, и запускаем виртуалку:

vagrant up

Заходим в нее:

ssh vagrant@127.0.0.1 -p 2222

Или:

vagrant ssh

Устанавливаем Laravel (Composer стоит по умолчанию и прописан в PATH):

cd code

composer create-project --prefer-dist laravel/laravel project-name

Пересобираем autoLoad:

cd project-name

composer update

Выходим из виртуалки и перезагружаем ее:

exit

vagrant reload --provision

Проброс портов:

  • Локальный Виртуальный
  • SSH: 2222 → Forwards To 22
  • HTTP: 8000 → Forwards To 80
  • HTTPS: 44300 → Forwards To 443
  • MySQL: 33060 → Forwards To 3306
  • Postgres: 54320 → Forwards To 5432

ВСЁ!

Теперь файлы в вашей папке c:/Projects/project-name автоматически синхронизируются с файлами в виртуальной машине, а сайт доступен по адресу http://project-name.local.

Однако Laravel пока будет отдавать страницу ошибки, поскольку Laravel еще не настроен.

VDS сервер

7. Настраиваем Laravel

Главное, что нужно помнить: главным всегда считается то, что лежит внутри нашей виртуальной машины. Файлы, которые лежат в локальной папке, служат только для работы с СОБСТВЕННЫМ кодом, синхронизации его с кодом в виртуалке и отправки его в репозиторий. Использовать Composer локально ЗАПРЕЩЕНО.

Поднимаем виртуальную машину и заходим в нее:

vagrant ssh

Заходим в папку с файлами проекта, создаем в ней файл .env:

cd code/project-name touch .env

И прописываем в него следующее содержимое:

APP_NAME=MyProject

APP_ENV=local

APP_KEY=base64:3idSWBGO3eu8eebGiSRV4Toeo8M9/pcx1ur9VwKP/p4=

APP_DEBUG=true

APP_LOG_LEVEL=debug

APP_URL=http://project-name.local

DB_CONNECTION=pgsql

DB_HOST=127.0.0.1

DB_PORT=5432

DB_DATABASE=homestead

DB_USERNAME=homestead

DB_PASSWORD=secret

BROADCAST_DRIVER=log

CACHE_DRIVER=file

SESSION_DRIVER=file

SESSION_LIFETIME=120

QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1

REDIS_PASSWORD=null

REDIS_PORT=6379

MAIL_DRIVER=smtp

MAIL_HOST=smtp.mailtrap.io

MAIL_PORT=2525

MAIL_USERNAME=null

MAIL_PASSWORD=null

MAIL_ENCRYPTION=null

PUSHER_APP_ID=

PUSHER_APP_KEY=

PUSHER_APP_SECRET=

PUSHER_APP_CLUSTER=mt1

В секции DB_ установите РЕАЛЬНЫЕ параметры.

Устанавливаем имя проекту (не просто устанавливаем строчку в title, а переименовываем корневой namespace!) и генерируем новый ключ доступа:

php artisan key:generate

И напоследок нужно проверить, что веб-служба может писать в директории bootstrap/cache и storage.

Проделанных манипуляций вполне будет достаточно, чтобы по адресу http://project-name.local мы увидели приветственную надпись Laravel крупными буквами.

P.S.

  1. Если какая-то версия Vagrant не стартует, попробуйте более свежую. В статье не самая свежая версия.
  2. Виртуальное окружение будет использовать 2Gb памяти. Если у вас 2Gb или меньше, то можно указать меньший объем памяти в конфигурационном файле или использовать компьютер с большим объемом.

 

VDS Timeweb

Комментарии

Рекомендуем

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email, который Вы использовали для входа на сайт.