Все привет, меня зовут Павел Жуковский и сегодня я расскажу о том как быстро развернуть Laravel на Windows.
Как развернуть через Docker?
Запустить Laravel на Windows с помощью Docker достаточно легко. Вот есть официальная документация, а здесь подробная статья от @Helldar.
Как развернуть с помощью OSPanel (Open Server Panel)?
Скачиваем саму панель OSPanel и устанавливаем её.
В панели есть composer из коробки, поэтому предлагаю его и использовать. В контекстном меню программы выбираем "Консоль".
Далее в консоли переходим в папку domains (команда
cd domains
).Теперь устанавливаем фреймворк Laravel с помощью команды (где yourwebsite.com – это папка с вашим сайтом и это название можно менять)
composer create-project laravel/laravel yourwebsite.com
Если всё хорошо, то вы увидите, как скачивают пакеты и в итоге всё будет выглядеть вот так:
Теперь нужно настроить вашу панель OSPanel. Для этого идём к контекстное меню приложения и выбираем «Настройки».
Затем во вкладке «Модули» выбираем нужные модули. Для Laravel 10, например, можно выбрать Apache 2.4 + PHP 8.0-8.1, PHP 8.1. Базу данных и остальные модули пока не трогаем.
Сохраняем и перезагружаем приложение.
Теперь возвращаемся в настройки и идём во вкладку «Домены». Выставляем в «Управление доменами» вариант «Ручное + Автопоиск», ниже в поле «Имя домена» пишем свой домена (у меня в примере это
yourwebsite.com
), а правее в поле «Папка домена» выбираем нашу папку и внутри в ней папку public (мой путь в итоге получается\yourwebsite.com\public
). Обязательно жмём кнопку «Добавить», чтобы ваше выбранные данные перенеслись ниже. После этого опять сохраняем и перезагружаем приложение.
Настройка SSL в OSPanel (Open Server Panel)
Этот этап, пожалуй, самый сложный и требует внимания.
Напомню, что в модулях у нас выбрал Apache 2.4 + PHP 8.0-8.1 и PHP 8.1. Если у вас выбраны другие версии сервисов, то папки будут называться соответственно.
Идём в папку, где установлена панель и там заходим в папку
modules/http/Apache_2.4-PHP_8.0-8.1
, там создаём папкуssl
и заходим неё.Создать bat файл (например,
start.bat
) с содержимым:
@echo off
set OPENSSL_CONF=c:\OSPanel\modules\http\Apache_2.4-PHP_8.0-8.1\conf\openssl.cnf
c:\OSPanel\modules\http\Apache_2.4-PHP_8.0-8.1\bin\openssl req -x509 -sha256 -newkey rsa:2048 -nodes -days 5475 -keyout rootCA.key -out rootCA.crt -subj "/CN=OSPanel/"
c:\OSPanel\modules\http\Apache_2.4-PHP_8.0-8.1\bin\openssl req -newkey rsa:2048 -nodes -days 5475 -keyout server.key -out server.csr -subj "/CN=PhpStorm/"
c:\OSPanel\modules\http\Apache_2.4-PHP_8.0-8.1\bin\openssl x509 -req -sha256 -days 5475 -in server.csr -extfile config.txt -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt
где c:\OSPanel\ — это пусть к папке с панелью, Apache_2.4-PHP_8.0-8.1 – это папка с выбранное версий Apache.
Создать файл config.txt с содержимым:
nsComment = "OSPanel Generated Certificate"
basicConstraints = CA:false
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = yourwebsite.com
где yourwebsite.com – это адрес вашего тестового домена. Можно указывать несколько доменов, тогда запись будет такого вида
DNS.1 = yourwebsite.com
DNS.2 = yourwebsite2.com
DNS.3 = yourwebsite3.com
где yourwebsite.com – это адрес вашего тестового домена. Можно указывать несколько доменов, тогда запись будет такого вида
DNS.1 = yourwebsite.com
DNS.2 = yourwebsite2.com
DNS.3 = yourwebsite3.com
Запускаем файл start.bat и у вас должны сгенерироваться 5 файлов.
Теперь нужно указать папку, где будут лежать все файлы сертификатов. Открываем файл /userdata/config/Apache_2.4-PHP_8.0-8.1_vhost.conf
Находим строку
SSLCertificateFile "%sprogdir%/userdata/config/cert_files/server.crt"
SSLCertificateKeyFile "%sprogdir%/userdata/config/cert_files/server.key"
и меняем её на
SSLCertificateFile "%sprogdir%/domains/ssl/server.crt"
SSLCertificateKeyFile "%sprogdir%/domains/ssl/server.key"
Затем идём в папку domains и в неё создаём папку ssl. Туда копируем сгенерированные 5 файлов.
Теперь пришло время установке сертификатов. В папке с файлами запускаем файл rootCA, далее: Установить сертификат -> Текущий пользователь -> Поместить сертификат в следующее хранилище -> Обзор -> Доверенные коренные центры сертификации.
Теперь нажимаем Пуск и вводим «Управление сертификатами пользователей»
Там выбираем папку «Доверенные корневые сертификаты» -> «Сертификаты» и ищем сертификат OSPanel. Если он есть, то всё установилось корректно.
Перезапускаем Open Server и пробуем зайти на адрес
https://yourwebsite.com/