Как установить laravel на windows

Обновлено: 08.07.2024

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

Введение

Laravel – это элегантный, выразительный и гибкий PHP-фреймворк с упором на чистый код и скорость. Он позиционирует себя как «PHP-фреймворк для веб-мастеров». Это бесплатный PHP-фреймворк с открытым исходным кодом, созданный Тейлором Отвелом на основе архитектурной модели Model View Controller (MVC).

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

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

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

Что вы должны знать перед использованием этого руководства по Laravel?

  • HTML/CSS (Естественно).
  • Понимание базового PHP.
  • Владение PHP на среднем уровне – это не обязательно, но если у вас есть время, изучите некоторые рядовые вещи: ООП в PHP, абстракцию и т. д.
  • Базовое понимание фреймворка MVC.
  • Усидчивость – несмотря на то, что изучать Laravel довольно легко, спустя какое-то время вам всё же придется испытать собственное терпение. По крайней мере, у меня были некоторые проблемы из-за того, что я знал PHP, но совсем не разбирался в фреймворках. Когда я изучал фреймворк или успешно завершал проекты, я всё равно путался с базовыми вещами, которые лежат в основе фреймворка MVC. Но я не сдавался.
  • Увлечение – да ладно вам, ведь веб-разработка – это весело! По крайней мере, когда используешь Laravel. Лучше всего получать наслаждение от своего познавательного путешествия.

Установка и настройка

Требования для установки Laravel 8

Перед установкой Laravel на вашу локальную платформу (Localhost) вам необходимо установить следующие программы:

  • Веб-сервер – Apache или nginx
  • >= PHP 7.3
  • Некоторые расширения PHP, которые можно установить заранее:
  1. BCMath
  2. Ctype
  3. Fileinfo
  4. JSON
  5. Mbstring
  6. OpenSSL
  7. PDO
  8. Tokenizer
  9. XML
  • MySQL (или другие системы управления базой данных, вы даже можете использовать SQLite).
  • Composer
  • IDE (интегрированная среда разработки) будет очень полезна для разработки на Laravel. Я рекомендую VS Code или Atom. И то, и другое можно использовать совершенно бесплатно.

Пошаговая установка Laravel на локальном хосте:

Шаги для пользователей Mac:

  1. Убедитесь, что все компоненты установлены.
  2. Установите Composer, используя следующую команду (если у вас уже установлен и настроен Composer, пропускайте этот шаг).
  • Перейти в нужную папку;
  • Выполнить команду laravel new projectname.

Шаги для пользователей Windows:

  1. Скачайте Composer и установите его.
  2. После успешного завершения установки необходимо проверить, установлен ли он глобально. Откройте командную строку и введите команду «Composer», как показано ниже.
  • Перейти в нужную папку;
  • Зажать клавишу Shift + щелкнуть правой кнопкой мыши и выбрать пункт «Открыть командную строку здесь»;
  • Выполнить команду laravel new projectname/

В нашем примере выполняем:

Руководство по созданию простого CRUD-приложения для составления списка дел на Laravel

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

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

Изучение структуры папок

  • Модели (Models) представляют сущности в базе данных, помогают запрашивать базу данных и возвращать данные.
  • Представления (View) – это страницы, которые будут отображаться при доступе к приложению. Элементы представлений используются для пользовательского интерфейса приложения.
  • Контроллеры (Controllers) обрабатывают запросы пользователей, получают необходимые данные от моделей и передают их представлениям. Контроллеры действуют как посредники между компонентами модели и представления для обработки бизнес-логики, а также входящего запроса.

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

Давайте разберём некоторые из них

Пошаговое создание вашего первого приложения на Laravel

Создайте ваш проект

Если вы не создали свой проект в разделе установки, создайте его сейчас, выполнив следующую команду:

Настройте базу данных

Для нашего приложения нам понадобится база данных, поэтому лучше всего создать её в первую очередь. Laravel поддерживает четыре СУБД:

В этом примере мы будем пользоваться SQLite, так как её проще настроить и использовать. И вам не придется ничего устанавливать – нужно будет всего лишь создать один пустой файл. Другие СУБД должны быть установлены в вашей системе, только потом их можно настраивать соответствующим образом. Laravel позволяет файлу config/database.php настраивать базу данных, но лучше не хранить в нем учетные данные. Вместо этого вы можете использовать файл .env , в котором можно хранить различные типы учетных и других данных.

В корневой папке Laravel по умолчанию находится файл .env .

В этом файле вы найдете код, похожий на следующий:

Замените все шесть строк, приведенные выше на одну строку, указанную ниже, то есть измените значение db_connection на sqlite и удалите остальные строки db, как здесь:

Теперь в папке базы данных создайте файл database.sqlite (это файл базы данных с расширением .sqlite)

Создайте аутентификацию

Laravel также предоставляет «скелет» для аутентификации. Это означает, что всё, связанное с аутентификацией: вход пользователя, регистрация, потеря пароля, двухфакторная аутентификация и т.д. будет создаваться заранее, если вам это необходимо. Это называется Laravel Jetstream .

Есть два способа добавить Jetstream в ваше новое Laravel-приложение. Если вы еще не создали проект, добавьте флажок

для новой команды Laravel:

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

Jetstream в Laravel поддерживает два стека

Liveware или Inerta. Поскольку мы хотим, чтобы этот проект был простым, давайте воспользуемся Livewire и установим Jetstream с помощью следующей команды:

Затем запустите «npm install && npm run dev» , чтобы создать свои объекты.

На данном этапе мы закончили с настройкой и можем приступать непосредственно к созданию приложения.

Миграции

Первый шаг в разработке любого приложения – это создание базы данных. Laravel предлагает отличный способ разработки таблиц и схемы базы данных, а также даёт возможность легко переносить их в разные системы, которые называются «Миграции».

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

Ничего страшного, если это объяснение показалось вам непонятным. Поверьте, скоро у вас всё получится. Просто читайте дальше.

Выполните следующую команду:

Вы найдёте только что созданную миграцию в папке /database/migrations.

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

В новом столбце с именем «description» будет храниться описание задачи, а в столбце с именем «user_id» будет храниться идентификатор пользователя, создавшего задачу. Мы добавили «-> unsigned () -> index ()» после user_if, потому что это внешний ключ из таблицы пользователей.

Теперь мы закончили с созданием схемы базы данных. Чтобы использовать эту схему для создания таблиц в базе данных, выполните следующую команду. Команда migrate обновит изменения, внесенные в схему, в базе данных.

Модели -Eloquent

Eloquent – это ORM (система объектно-реляционного отображения) для Laravel, которая позволяет свободно применять active-record для работы с базой данных. Каждая таблица базы данных может иметь соответствующую модель Eloquent. Модель Eloquent представляет объекты базы данных. Она может использоваться для запроса данных, а также для вставки и обновления данных в таблице. Итак, давайте с помощью команды make: model создадим модель для нашей таблицы задач.

Эта команда создаст модель задачи в папке приложения, как показано ниже.

Отношение «один-ко-многим»

Отношения используются для соединения таблиц. Eloquent даёт возможность связать свои модели через отношения Eloquent. Отношение «один ко многим» означает, что одна модель владеет несколькими объемами другой модели. В нашем примере: у одного пользователя может быть много задач, поэтому между таблицей пользователей и таблицей задач существует связь «один ко многим». Отношения Eloquent очень легко определить и использовать. И преимущество заключается в том, что вам вообще не нужно запускать запросы. Eloquent свяжет модели между собой, поэтому вам придется использовать только функции.

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

Модель задачи (файл task.php находится в app/task.php):

Модель пользователя (файл user.php находится в app/user.php):

Команда Tinker в Artisan (необязательно)

В Laravel существует интерфейс командной строки, известный как Artisan. Artisan содержит различные команды, и среди них – Tinker, которую мы собираемся обсудить. Tinker позволяет вам взаимодействовать со всем вашим Laravel- приложением через окно консоли без необходимости доступа к веб-интерфейсу. Основным преимуществом Tinker является то, что вы можете тестировать отношения, отлаживать данные и получать доступ к Eloquent ORM, задачам, тестам, событиям и т. д. Поэтому мы также будем использовать команду Tinker в нашем руководстве по Laravel. Допустим, вы зарегистрировались в приложении и создали две задачи. Теперь вы проверяете эти задачи прямо в окне консоли, как показано ниже:

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

Контроллеры

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

Маршрутизация

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

  • Авторизоваться;
  • Зарегистрироваться;
  • Показать список всех наших задач;
  • Добавить новые задачи;
  • Удалить существующие задачи.

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

Laravel предоставляет различные файлы маршрутов внутри папки / routes для разных случаев использования. Например, настройка маршрутизации для API будет находиться в файле « /routes/api.php », а настройка маршрутизации для нашего веб-приложения будет находиться в «/routes/web.php».

Теперь давайте отредактируем файл web.php . Ниже вы увидите отредактированную версию этого файла. Внесите соответствующие изменения:

Здесь мы внесли два изменения:

  1. Мы сгруппировали все маршруты, чтобы можно было применять auth: sanctum и проверенное промежуточное программное обеспечение ко всем маршрутам, тем самым давая доступ к этим страницам только проверенным пользователям, вошедшим в систему.
  2. Мы изменили маршрут для панели управления, который теперь будет передавать запрос в функцию index в TaskController . Также мы создали маршруты для других действий.

Представления – шаблоны Blade

  1. blade.php (панель управления покажет список задач);
  2. blade.php (форма, которая позволит вам добавить новую задачу);
  3. blade.php (форма, которая позволит вам отредактировать любую задачу).

Laravel включает в себя довольно удобный макет, который содержит панель навигации под названием app.blade.php , расположенную в папке Views / layouts . С помощью механизма Blade в Laravel вы cможете разделить свои страницы на подсекции, а также использовать раздел панели навигации по умолчанию в новых представлениях.

Теперь в папке / resources / views создайте файлы add.blade.php и edit.blade.php с разметкой, приведенной ниже.

В файле dashboard.blade.php также замените весь код на тот, который приведен выше. Представления мы отредактируем позже, после определения функций нашего контроллера с помощью привязки модели к маршруту.

Привязка модели к маршруту (Route-Model Binding)

В Laravel есть множество удивительных функций, которые делают веб-разработку простой, чистой и менее трудоемкой. Одна из наиболее заметных функций подобного рода – привязка модели к маршруту (Route-Model Binding). Это механизм для внедрения экземпляра модели в ваши маршруты. Это значит, вы можете передавать объект модели в маршруты, а также в представления по маршрутам. Эта функция поможет вам легко получить значения объекта в представлении. Ничего страшного, если это объяснение кажется непонятным. Со временем вы все поймёте.

Теперь давайте добавим в TasksController.php функции, обрабатывающие указанные выше маршруты. Они должны выглядеть так, как показано ниже:

Как вы можете видеть, я передаю в функцию объект «Task $ task», а также объект «Request $ request» с помощью механизма привязки модели маршрута.

Редактируем представления

Теперь функции контроллера настроены и возвращают соответствующие представления с прикрепленными объектами модели. Итак, теперь нужно отредактировать наши представления, чтобы они, если нужно, показывали форму и необходимые данные, используя объекты модели, переданные по маршрутам.

Откройте файл dashboard.blade.php и отредактируйте его следующим образом:

Механизм шаблонов Blade позволяет нам использовать PHP внутри HTML, не заключая его в «<? Php?>».

Откройте файл add.blade.php и отредактируйте его следующим образом:

Откройте файл edit.blade.php и отредактируйте его, как показано ниже:

После редактирования этого представления мы собираем все части воедино, так что теперь сможем протестировать своё приложение.

Сначала зарегистрируйтесь, затем войдите в систему, а потом проверьте, можете ли вы создать задачу, отредактировать задачу и удалить задачу.

Запускаем проект на Localhost

Чтобы запустить проект, запустите в окне терминала команду php artisan serve. Убедитесь, что вы находитесь в корне вашего приложения в терминале.

Обязательно прочтите инструкции, прежде чем копировать код с github .

Что делать с этим проектом дальше:

Существует множество вещей, которые можно добавить в этот проект, например:

  • Проверка формы:
  • Разрешение пользователю создавать несколько списков с несколькими задачами;
  • Профиль пользователя;
  • И многое другое.

Заключение

Надеюсь, что это руководство по Laravel помогло вам понять основы Laravel, а также мотивировало вас учиться дальше. Пожалуйста, поделитесь своим мнением о Laravel и об этом руководстве. А также вы можете делиться в комментариях к этой статье вашими вопросами и проблемами. Будем рады вам помочь. Спасибо.

Пожалуйста, оставьте свои отзывы по текущей теме материала. За комментарии, подписки, дизлайки, отклики, лайки низкий вам поклон!

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

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

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

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

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

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

Подготовка рабочего окружения

Вначале определимся с требованиями, которые предъявляет Laravel для установки.
Нам потребуются:

  • Web-сервер, причем как оказалось не обязательно Apache, на IIS при тестовом запуске проблем не возникло (хотя полностью совместимость не проверялась).
  • Интерпретатор PHP версии 5.3.7 или новее с установленными и подключенными расширениями open_ssl и mcrypt.
  • Менеджер зависимостей Composer.

Сразу хочу заметить, что весь процесс инсталляции описывается относительно операционных систем Windows. Для пользователей Linux установка и настройка среды для Composer и Laravel 4 не должны вызвать никаких затруднений.

Для комфортной работы Вам могут пригодится дополнительные программы.

WAMP — комплекс программ, для развертывания Web-сервисов на Windows. Я рекомендую использовать WampServer, а точнее 32х или 64х битные версии последних релизов.

Или можно обойтись встроенным web-сервером PHP, но в этом случае сервер баз данных придется устанавливать самостоятельно. Правда у этого способа есть свое большое преимущество: Любая директория становится директорией web-сервера в считанные секунды, достаточно создать BAT-файл, в котором прописать: sh php -S localhost: 80 — и можете запускать свой веб сервер из любой директории, в которую поместите этот файл.

Если вам не нравится работа со стандартным приложением командного интерпретатора Windows, советую установить альтернативный командный интерпретатор PowerCmd.

Если вы решили самостоятельно устанавливать все необходимые Web-сервисы, можно найти исчерпывающие инструкции в интернете, просто введя запрос «Установка Wamp» .

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

Для установки WampServer потребуется Visual C++ 2010 SP1 Redistributable Package x86 или x64, соответственно их можно скачать по ссылкам:

Скачивать отдельно и устанавливать библиотеки указанные в системных требованиях PHP не нужно, так как open_ssl уже установлен, его только нужно подключить, а начиная с версии PHP 5.3 для Windows, используется статическая версия библиотеки MCrypt, DLL-файл не нужен.

Порядок действий при установке такой:

  1. Устанавливаем Visual C++ 2010 SP1 Redistributable
  2. Устанавливаем WampServer, желательно не очень далеко от корневого раздела жесткого диска. Например, у меня установлено в директорию C:\Web
  3. В конце установки мастер предложит запустить WampServer — отказываемся.

Теперь осталось немного, настроить PHP для использования Composer.

Для этого заходим в директорию куда установили WampServer, далее в \bin\php\php5.4.16\ , находим файл php.ini , открываем его любым текстовым редактором (например Блокнотом).

В php.ini ищем следующую строку: conf ;extension=php_openssl.dll
Удаляем символ точки с запятой, у вас должно получиться: conf extension = php_openssl.dll

Следующий шаг, инсталляция Composer, для этого переходим по ссылке: cкачиваем дистрибутив и запускаем.

Обратите внимание: при установке Composer запросит вас указать путь к файлу php.exe . Вы должны указать путь относительно WampServer, то есть каталог: WampServer\ bin\php\php5.4.16\php.exe .

И еще одно замечание, при установке Composer он пропишет системную переменную path именно к выбранному php.exe . И после завершения установки в сможете смело набирать в консоли: shell > php без указания пути к исполняемому файлу.

На этом с установкой Composer всё.

Инсталляция Laravel

Вот мы с Вами и добрались до самого интересного.

Хотя это самое интересное на самом деле уже и закончилось, потому, что у нас уже почти все настроено и готово. Осталось только ввести парочку команд в консоли и всё.

Итак запускаем консоль: Нажимаем клавиши Win+R, вводим команду cmd и нажимаем OK.

Для дальнейших манипуляций с командной строкой будет неплохо запомнить несколько маленьких советов.

  1. Перед запуском Composer всегда нужно установить путь командной строки в директорию проекта.
  2. Для установки командной строки в директорию проекта используется команда cd . Например, в моем случае данная команда будет выглядеть так:

Теперь нам нужно установить в директорию проекта файл composer.phar . Устанавливаем командную строку как описано выше и вводим команду:

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

Теперь вводим команду:

Ждем, пока Composer скачает и установит все компоненты Laravel.

На этом установка закончена. Нам осталось только проверить его работоспособность.

Заключение

Надеюсь, что прочитав эту статью, Вам будет проще установить этот каркас web-приложения на свой компьютер. Я с радостью выслушаю ваши замечания и пожелания по поводу данной статьи на нашем форуме.

Как вы считаете, полезен ли этот материал? Да Нет

Комментарии (3)

Если уже стоит Apache/PHP и многое другое и засорять систему другой конфигурацией совсем нет желания, как в таком случае привязать Laravel ?

Установи Composer, укажи настренный сервер, создай виртуальный хост, а в его директории composer'ом поставь laravel

Еще не мешало бы DocumentRoot на папку public прописать, чтобы при заходе на сайт показывалась сразу главная страница

Статистика: Символов — 6 397/5 492 без пробелов (5 949/5 118 без кода):, слов — 832

До моего тесного знакомства с vagrant-ом и виртуальными машинами - установка laravel homestead на windows 10 приводила к трудоёмкому и сложному процессу, поиска решения ошибок, которые, сыпались на протяжении всей установки. Однако, разобравшись с этим детальнее, и несколько раз попрактивовавшись, я понял, что работа с vagrant-ом не такая уже и сложная, а преимуществ открывает очень много. Я понимаю боль программистов на php, работающих на winsows. Потому, в нашем случае, создание виртуалки просто жизненно необходимо.

Прежде всего хочу сказать, что эта статья нужна далеко не всем. Для типовых решений, для разработчиков, создающих лендинги, и сайты-визитки - виртуалка вовсе не нужна. Установка виртуальной ОС, использование Vagrant, Docker - это уже следующий шаг в разработке, который делает более простым путь к созданию сложных продуктов, не ограничевающихся одним языком программирования.

Я пишу эту статью, чтобы проиллюстрировать процесс установки и запуска laravel-проекта с помощью vagrant и virtualBox. Чтоже, хватит слов, давайте сделаем это.

Официальная документация по homestead. Советую предварительно ознакомиться, что из себя представляет эта сборка, что содержит внутри.

Для того, чтобы разобраться в вопросе установки, советую печатать все команды вручную, и смотреть на результат. От копи-паста, или бездумной печати толку нету. Вы ведь здесь за знаниями?

Шаг 1:
Прежде всего, нужно предварительно настроить систему. Для того, чтобы virtual box работал правильно, нужно включить аппаратную виртуализацию.
Распространённая проблема при отключённой виртуализации (64-разрядной системы) - это отсутствие выбора x64 операционных систем (при попытке создание виртуалки вручную)

Шаг 2:
Теперь, когда подготовительные процедуры закончены, установим:
VirtualBox и vagrant
После скачивания нужно будет установить VirtualBox, а после - Vagrant. Вам, возможно, потребуется перезагрузить ваш компьютер, и можно будет переходить к следующему шагу.

Шаг 3:
Для простой работы с репозиториями потребуется git. Потому, допонительно нужно скачать git bash по ссылке и установить.

Шаг 4:
На этом шаге, общие настройки уже выполнены, теперь нам нужно скачать сборку homestead.
Для этого нужно запустить git bash от имени администратора, и выполнить команду:
vagrant box add laravel/homestead

add_box

И нужно выбрать, какой программой виртуализации мы будем пользоваться (а данном случае - virtualbox, указываем 3)

Если при попытке выполнить команду последовала ошибка, то попробуйте установить/обновить MS Visual C++ 2010

Шаг 5:
После завершения установки, нужно выбрать директорию, в которой будет храниться ядро нашего проекта (конфиги vagrant-a, наш laravel-проект, и т.д.), и перейти в неё.
Для себя я решил, что текущий проект размещу в папке текущего пользователя C:\Users\Fomenko Alexandr

В git bash-e я перехожу в нужную директорию cd C:\Users\Fomenko Alexandr

И, как указанно в документации, выполним 2 команды.
Первая - переходит в ново-созданную папку Homestead
cd Homestead
И вторая команда, которая ищет в этой папке файл init.sh, и выполняет его. А он уже, автоматически инициализирует проект и создаёт конфигурационные файлы
bash init.sh

adssad

Должно получится именно так:

В итоге, эта команда должна была создать файл конфигурации Homestead.yaml, который рассмотрим ниже

Шаг 6:
В этом шаге нужно создать ssh-ключи. Для того, чтобы проверить их наличие, нужно перейти в папку C:\Users\YOUR_USER_NAME и проверить существование папки .ssh , которая должна содержать 2 файла - id_rsa и id_rsa.pub .

Шаг 7:
Этот этап является заключительные по предварительной настройке проекта. Сейчас осталось сконфигурировать опции создаваемой виртуальной машины.
Все настройки находятся в файле Homestead.yaml, который мы ранее сгенерировали автоматические на 5 шаге.

Открыв этот файл в редакторе, можно увидеть его стандартный вид:

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

Вверху файла бросается в глаза этот блок:

Первая строка, задающая ip - указывает на то, какой ip адрес нам нужно слушать. Это опционально, можно задать любой. Я же, оставлю таким, как есть сейчас.
memory - задаёт, сколько максимально виртуалка может использовать оперативной памяти (в данном случае - 2048 мб).
cpus - количество используемый ядер,
и provider - очевидно, неизменно, virtualbox

В этом блоке указываются пути к созданным ранее ssh-ключам.

Нам нужно указать полный путь к файлам ключей. В итоге, этот блок будет выглядеть:

Вместо USER_NAME укажите имя вашего пользователя

Следующий код "пробрасывает" нашу папку windows 10 в локальную машину:

При том, что при изменении этих файлов у нас, автоматически будут изменяться аналогичные файлы виртуальной машины.
map - означает, какую нашу папку прокидывать
to - по какому пути она будет доступна в виртуалке

Зная это, перепишем конфиг:

И теперь, когда мы запустим виртуалку, то и виртуальная система, и локальная будут ссылаться на одну и ту же папку. Потому, изменения будут двунаправленными, и изменения будут применять сразу же.
Я пробросил пустую папку ( C:\OSPanel\domains\new-laravel.test ), которая в виртуальной машине будет доступна по адрему /home/vagrant/code

Следующий блок помогает настроить нам nginx. Здесь мы указываем, какой домен соответствует какой папке:

Не стоит путать с предыдущим пунктом, они не имеют ничего общего между собой. Это всего лишь так совпадает, что мы вписываем туда папку, которую прокидывали ранее. Однако, мы можем вписать любую папку, существующую на виртуалке.
Пока что мы не создавали /home/vagrant/code/Laravel/public , однако, мы это вскоре исправим. И, ввиду того, что laravel публичную папку именует public , то это как раз и является заготовкой для переадресации на единую точку входа public/index.php.

В будущем, этот участок будет разростаться, и станет содержать одновременно несколько сайтов:

В нашем же случае, пока всё просто, нам нужен только один сайт:

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

Я же создам под названием new-laravel

Ура! Настройка окончена. Почти.

Шаг 8:
По задумке, в Homestead.yaml мы указывали домен, по которому будет доступен наш сайт. Однако, наш компьютер пока ничего не знает об этом домене. И, попытавшись открыть этот адрес в браузере - получим ошибку. И для того, чтобы он узнал об этом домене, мы сделали некоторые подготовительные операции ранее.

В начале 7 шага, мы указывали ip . И задать его можно было любым, потому как его, вручную придётся прописать в файле hosts (C:\Windows\System32\drivers\etc\hosts). В моём случае, я должен прописать 192.168.10.10 new-laravel.test . Что говорит о том, что в случае попытки перейти по адресу new-laravel.test ответственность за его отображение будет переложено на нашу локальную машину с ip 192.168.10.10.

При добавлении нескольких сайтов, файл hosts будет иметь вид:

Шаг 9:
И вот, все нужные настройки были произведены. И теперь можно запустить процесс инициализации виртуальной машины.
Для этого, в директории, где лежит Homestead.yaml выполняем команду vagrant up . И, спустя некоторое время, ваша виртуалка заработает и мир станет на одного программиста счастливее.

Так же, стоит запомнить ещё одну полезную команду, которая, в случае изменения конфигурации, заново пересоздаёт виртуалку:
vagrant provision

ssh

А, для того, чтобы подключиться из консили к самой вируальной машине:
vagrant ssh
И все команды будут выполняться внутри вируальной машины

Шаг 10:
Теперь мы имеем полностью рабочую боевую единицу. И когда подключимся по ssh vagrant ssh , перейдя в папку проекта: cd /home/vagrant/code
Выполним команду composer create-project --prefer-dist laravel/laravel Laravel

new-project

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

Это один из вариантов использования homestea-a, когда есть одна система, и в нее пробрасываются все наши проекты. И этот вариант является отлично заменой openserver-a, только с бОльшими возможностями.
Так же, распространенной практикой является создание отдельной виртуальной машины со своей конфигурацией под каждый из проектов. Но это уже другая тема, выходящая за рамки этой статьи.

А на этом всё. Теперь laravel доступен по указанному ранее нами адресу. Удачной разработки. Теперь вы точно знаете, как установить laravel на windows.

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

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

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

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

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

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

Laravel

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

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

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

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

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

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

VDS сервер

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

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

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

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

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

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

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

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

Читайте также: