Как установить Laravel в Windows, macOS, Linux
Установка Laravel в Windows, macOS, Linux

Документация по установке Laravel в Windows, macOS, Linux



Знакомство с Laravel

Laravel — это фреймворк для создания веб-приложений с понятным и удобным синтаксисом. Фреймворк обеспечивает структуру и отправную точку для создания приложения, позволяя сосредоточиться на создании чего-то потрясающего, в то время как специалисты-программисты занимаются деталями.

Laravel стремится обеспечить удобство для разработчиков, предоставляя при этом такие мощные возможности, как внедрение зависимостей, выразительный уровень абстракции баз данных, очереди и задания по расписанию, модульное и интеграционное тестирование и многое другое.

Независимо от того, являетесь ли вы новичком в области веб-фреймворков PHP или имеете многолетний опыт работы, Laravel — это фреймворк, который может расти вместе с вами. Он поможет вам сделать первые шаги в качестве веб-разработчика или подтолкнет вас к тому, чтобы вы перешли на новый уровень. Уже не терпится увидеть, что вы сможете создать.

Новичок в Laravel? Загляните в Laravel Bootcamp, где можно получить практическое представление о фреймворке, в то время как специалисты помогут вам создать ваше первое приложение на Laravel.

Почему выбирают Laravel?

При создании веб-приложений можно использовать множество инструментов и фреймворков. Однако для создания современных полнофункциональных веб-приложений лучше всего подходит Laravel.

Laravel — это прогрессивный фреймворк

Laravel называют "прогрессивным" фреймворком. Под этим подразумевается, что Laravel развивается вместе с вами. Если вы только делаете первые шаги в веб-разработке, то обширная библиотека документации, руководств и видеоуроков Laravel поможет вам освоиться, не перегружаясь.

Если вы являетесь опытным разработчиком, Laravel предоставит вам надежные инструменты для внедрения зависимостей, модульного тестирования, очередей, событий в реальном времени и многого другого. Laravel прекрасно настроен для создания профессиональных веб-приложений и готов к работе с большими корпоративными нагрузками.

Laravel — это масштабируемый фреймворк

Laravel обладает невероятной масштабируемостью. Благодаря дружественной природе PHP и встроенной в Laravel поддержке быстрых распределенных систем кэширования, таких как Redis, горизонтальное масштабирование с помощью Laravel не составляет труда. Более того, приложения Laravel легко масштабируются до сотен миллионов запросов в месяц.

Требуется экстремальное масштабирование? Такие платформы, как Laravel Vapor, позволяют запускать приложения Laravel в практически неограниченном масштабе на новейшей бессерверной технологии AWS.

Laravel — это фреймворк сообщества

Laravel объединяет лучшие наборы решений в экосистеме PHP и предлагает наиболее надежный и удобный для разработчиков фреймворк. Кроме того, тысячи талантливых разработчиков со всего мира внесли свой вклад в развитие этой платформы. Кто знает, может быть, и вы станете одним из разработчиков Laravel.

Первый проект на Laravel

Перед созданием первого проекта Laravel необходимо убедиться, что на локальной машине установлены PHP и Composer. Если вы разрабатываете на macOS, PHP и Composer можно установить за несколько минут с помощью Laravel Herd. Кроме того, рекомендуется установить Node и NPM.

После установки PHP и Composer можно создать новый проект Laravel с помощью команды Composer create-project:

composer create-project laravel/laravel example-app

Или можно создать новые проекты Laravel, глобально установив инсталлятор Laravel через Composer. Или, если вы установили PHP и Composer через Laravel Herd, программа установки Laravel уже доступна для вас:

composer global require laravel/installer
 
laravel new example-app

После создания проекта запустите локальный сервер разработки Laravel с помощью команды serve интерфейса Artisan CLI:

cd example-app
 
php artisan serve

После запуска сервера разработки на базе Artisan ваше приложение будет доступно в веб-браузере по адресу http://localhost:8000. Далее можно приступать к следующим шагам в экосистеме Laravel. Разумеется, вам может потребоваться настройка базы данных.

Если вы хотите получить преимущество при разработке приложения на Laravel, воспользуйтесь одним из стартовых наборов. Стартовые наборы Laravel предоставляют эскизы аутентификации бэкенда и фронтенда для вашего нового приложения Laravel.

Laravel и Docker

Важно, чтобы начать работу с Laravel было как можно проще, независимо от используемой операционной системы. Поэтому существует множество вариантов разработки и запуска проекта Laravel на локальной машине. Хотя вы можете изучить эти варианты позже, Laravel предоставляет Sail — встроенное решение для запуска проекта Laravel с помощью Docker.

Docker — это инструмент для запуска приложений и сервисов в небольших, легких "контейнерах", которые не влияют на установленное на локальной машине программное обеспечение и конфигурацию. Это означает, что вам не нужно беспокоиться о конфигурировании или настройке сложных средств разработки, таких как веб-серверы и базы данных, на локальной машине. Для начала работы достаточно установить Docker Desktop.

Laravel Sail — это легкий интерфейс командной строки для взаимодействия с Docker-конфигурацией Laravel по умолчанию. Sail — это отличная отправная точка для создания приложения Laravel с использованием PHP, MySQL и Redis, не требующая предварительного опыта работы с Docker.

Если вы уже являетесь экспертом по Docker, не беда! Все возможности Sail можно настроить с помощью файла docker-compose.yml, входящего в состав Laravel.

Установка Laravel на macOS

Если разработка ведется на Mac и Docker Desktop уже установлен, то для создания нового проекта Laravel можно воспользоваться простой командой терминала. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app, можно выполнить в терминале следующую команду:

curl -s "https://laravel.build/example-app" | bash

Конечно, можно изменить example-app в этом URL на любое другое. Главное, чтобы имя приложения содержало только буквенно-цифровые символы, тире и знаки подчеркивания. Каталог приложения Laravel будет создан в том каталоге, из которого выполняется команда.

Установка Sail может занять несколько минут, пока контейнеры приложения Sail будут собираться на локальной машине.

После создания проекта можно перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с Docker-конфигурацией Laravel по умолчанию:

cd example-app
 
./vendor/bin/sail up

После запуска Docker-контейнеров приложения вы можете получить доступ к нему в веб-браузере по адресу: http://localhost.

Чтобы продолжить знакомство с Laravel Sail, ознакомьтесь с полной документацией по нему.

Установка Laravel в Windows

Перед созданием нового приложения Laravel на компьютере с операционной системой Windows обязательно установите Docker Desktop. Далее необходимо убедиться, что установлена и включена подсистема Windows Subsystem for Linux 2 (WSL2). WSL позволяет запускать бинарные исполняемые файлы Linux нативно на Windows 10. Информацию о том, как установить и включить WSL2, можно найти в документации Microsoft по среде разработки.

После установки и включения WSL2 необходимо убедиться, что Docker Desktop настроен на использование бэкенда WSL2.

После этого можно приступать к созданию первого проекта Laravel. Запустите Windows Terminal и начните новую терминальную сессию для вашей операционной системы WSL2 Linux. Далее можно использовать простую команду терминала для создания нового проекта Laravel. Например, для создания нового приложения Laravel в каталоге с именем example-app можно выполнить следующую команду в терминале:

curl -s https://laravel.build/example-app | bash

Конечно, можно изменить example-app в этом URL на любое другое. Только убедитесь, что имя приложения содержит только буквенно-цифровые символы, тире и знаки подчеркивания. Каталог приложения Laravel будет создан в том каталоге, из которого была выполнена команда.

Установка Sail может занять несколько минут, пока контейнеры приложения Sail будут собираться на вашей локальной машине.

После создания проекта можно перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с Docker-конфигурацией Laravel по умолчанию:

cd example-app
 
./vendor/bin/sail up

После запуска Docker-контейнеров приложения доступ к нему можно получить в веб-браузере по адресу: http://localhost.

Чтобы продолжить знакомство с Laravel Sail, ознакомьтесь с полной документацией по нему.

Разработка в рамках WSL2

Разумеется, необходимо иметь возможность изменять файлы приложения Laravel, созданные в рамках установки WSL2. Для этого рекомендуется использовать редактор Visual Studio Code от Microsoft и его собственное расширение для удаленной разработки.

После установки этих инструментов можно открыть любой проект Laravel, выполнив команду code . из корневого каталога приложения с помощью Windows Terminal.

Уставновка с Laravel в Linux

Если разработка ведется в Linux и Docker Compose уже установлен, то для создания нового проекта Laravel можно воспользоваться простой командой терминала.

Сначала, если используется Docker Desktop для Linux, необходимо выполнить следующую команду. Если не используется Docker Desktop для Linux, то этот шаг можно пропустить:

docker context use default

Затем, чтобы создать новое приложение Laravel в каталоге с именем example-app, можно выполнить в терминале следующую команду:

curl -s https://laravel.build/example-app | bash

Конечно, можно изменить example-app в этом URL на любое другое. Только убедитесь, что имя приложения содержит только буквенно-цифровые символы, тире и знаки подчеркивания. Каталог приложения Laravel будет создан в том каталоге, из которого была выполнена команда.

Установка Sail может занять несколько минут, пока контейнеры приложения Sail будут собираться на вашем локальном компьютере.

После создания проекта можно перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с Docker-конфигурацией Laravel по умолчанию:

cd example-app
 
./vendor/bin/sail up

После запуска Docker-контейнеров приложения к нему можно получить доступ через веб-браузер по адресу: http://localhost.

Чтобы продолжить знакомство с Laravel Sail, ознакомьтесь с полной документацией по нему.

Выбор сервисов Sail для Laravel

При создании нового приложения Laravel через Sail можно использовать параметр with для выбора сервисов, которые должны быть настроены в файле docker-compose.yml нового приложения. Доступны следующие сервисы: mysql, pgsql, mariadb, redis, memcached, meilisearch, minio, selenium и mailpit:

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

Если не указывать, какие сервисы необходимо настроить, то по умолчанию будет установлен стек из mysql, redis, meilisearch, mailpit и selenium.

Можно указать Sail на установку Devcontainer по умолчанию, добавив в URL параметр devcontainer:

curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash

Первоначальная конфигурация Laravel

Все конфигурационные файлы фреймворка Laravel хранятся в каталоге config. Каждая настройка документирована, поэтому не надо лениться просматривать файлы и знакомиться с доступными вариантами настроек.

Из коробки Laravel практически не нуждается в дополнительной настройке. Поэтому можно смело приступать к разработке! Тем не менее, можно просмотреть файл config/app.php и документацию к нему. Он содержит несколько настроек, таких как timezone и locale, которые вы по желанию можно изменить в соответствии с особенностями вашего приложения.

Базовая конфигурация Laravel на основе окружения

Поскольку многие значения параметров конфигурации Laravel могут меняться в зависимости от того, работает ли ваше приложение на локальной машине или на рабочем веб-сервере, многие важные значения конфигурации определяются с помощью файла .env, который находится в корне вашего приложения.

Файл .env не должен быть привязан к системе управления исходными текстами приложения, поскольку для каждого разработчика/сервера, использующего приложение, может потребоваться своя конфигурация среды. Кроме того, в случае получения злоумышленником доступа к репозиторию системы управления исходными текстами это будет представлять угрозу безопасности, так как будут раскрыты все конфиденциальные учетные данные.

Более подробную информацию о файле .env и конфигурации на основе окружения можно найти в полной документации по конфигурации.

Базы данных и миграции в Laravel

Теперь, когда вы создали свое приложение Laravel, вероятно, захотите хранить некоторые данные в базе данных. По умолчанию в конфигурационном файле .env вашего приложения указывается, что Laravel будет взаимодействовать с базой данных MySQL и обращаться к ней по адресу 127.0.0.1. Если разработка ведется на macOS и требуется локальная установка MySQL, Postgres или Redis, то удобно использовать DBngin.

Если нет желания устанавливать MySQL или Postgres на локальную машину, всегда можно воспользоваться базой данных SQLite. SQLite — это небольшой, быстрый, автономный движок баз данных. Для начала работы создайте базу данных SQLite, создав пустой файл SQLite. Как правило, этот файл находится в каталоге баз данных вашего приложения Laravel:

touch database/database.sqlite

Затем обновите конфигурационный файл .env, чтобы использовать драйвер базы данных Laravel sqlite. Остальные параметры конфигурации базы данных можно удалить:

DB_CONNECTION=sqlite 
DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=laravel 
DB_USERNAME=root 
DB_PASSWORD= 

После настройки базы данных SQLite можно запустить миграцию базы данных приложения, в результате которой будут созданы таблицы базы данных приложения:

php artisan migrate

Конфигурация директорий Laravel

Laravel всегда должен обслуживаться из корня "веб-каталога", настроенного для вашего веб-сервера. Не следует пытаться обслуживать приложение Laravel из подкаталога " веб-каталога". Это может привести к раскрытию конфиденциальных файлов, содержащихся в приложении.

Следующие шаги в изучении Laravel

Теперь, когда вы создали свой проект Laravel, вам, возможно, интересно, что изучать дальше. Прежде всего, мы настоятельно рекомендуем ознакомиться с принципами работы Laravel, прочитав следующую документацию:

От того, как именно вы хотите использовать Laravel, будут зависеть и дальнейшие шаги на вашем пути. Существует множество способов применения Laravel, и ниже будут рассмотрены два основных варианта использования фреймворка.

Новичок в Laravel? Посетите Laravel Bootcamp, чтобы получить практическое знакомство с фреймворком, а мы проведем вас через создание вашего первого приложения на Laravel.

Laravel — это полнофункциональный фреймворк

Laravel может выступать в качестве фреймворка полного стека разработки. Под "полностековым" фреймворком следует подразумевать, что вы собираетесь использовать Laravel для маршрутизации запросов к вашему приложению и создания фронтенда с помощью шаблонов Blade или гибридной технологии одностраничных приложений, например Inertia. Это наиболее распространенный способ использования фреймворка Laravel и, насколько можно судить, наиболее продуктивный.

Если вы планируете использовать Laravel именно таким образом, то ознакомьтесь с документацией по разработке фронтенда, маршрутизации, представлениям и ОРМ Eloquent. Кроме того, вероятно, будет интересно узнать о таких пакетах сообщества, как Livewire и Inertia. Эти пакеты позволяют использовать Laravel как полнофункциональный фреймворк и при этом пользоваться многими преимуществами пользовательского интерфейса, которые предоставляют одностраничные JavaScript-приложения.

Если вы используете Laravel как полнофункциональный фреймворк, настоятельно рекомендуется научиться компилировать CSS и JavaScript вашего приложения с помощью Vite.

Если вы хотите начать работу над своим приложением, воспользуйтесь одним из предлагаемых официальных стартовых наборов.

Laravel API для бэкенда

Laravel также может выступать в качестве API-бэкенда для одностраничного приложения на JavaScript или мобильного приложения. Например, можно использовать Laravel в качестве API-бэкенда для приложения Next.js. В этом случае Laravel может использоваться для обеспечения аутентификации и хранения/получения данных в приложении, а также для использования мощных сервисов Laravel, таких как очереди, электронная почта, уведомления и т.д..

Если вы планируете использовать Laravel именно таким образом, то, возможно, вам будет полезно ознакомиться с документацией по маршрутизации, Laravel Sanctum и Eloquent ORM.

Требуется создать основу для бэкенда Laravel и фронтенда Next.js? Laravel Breeze предлагает стек API, а также реализацию фронтенда Next.js, что позволит начать работу за считанные минуты.

P.S. Если что-то пошло не так...

  • Последовательность установки:
    • Включаем WSL2. Перезагрузка.
    • Врубаем Ubuntu из MS Store (Debian встаёт криво из-за сертификатов от Ubuntu).
    • Ставим Docker (и в его настройках нужно дёрнуть переключатель на подключение Ubuntu).
    • Накатываем из консоли Ubuntu собственно Laravel.
    • Настраиваем shell на cd project_name + короткий вызов sail.
    • Настраиваем phpStorm (ну или другую IDE).
  • Для работы достаточно просто включить Docker. (Всё остальное должно подтянуться после sail up)
  • Docker Tips: Очистите свою машину от хлама (как снести всё, что установлено в Docker) -> тут
  • Полное удаление «Подсистемы Windows для Linux» из Windows 11 (как снести установленную Linux) -> тут

Перевод с английского официальной документации Laravel:
https://laravel.com/docs/10.x/installation

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню