Laravel install: 5 способов установки и 2 варианта запуска

Дата публикации: 21.04.2017

laravel-ustanovkaПриветствую вас, друзья!

Сегодня мы продолжаем знакомство с Laravel PHP framework, которое началось в предыдущей статье, посвящённой обзору особенностей данного фреймворка.

А сегодня мы от сухой теории переходим к практике и произведём установку Laravel на веб-сервер, чтобы наконец-то приступить к разработке сайта.

Framework, как и программы, имеет свои системные требования для полноценной работы. Они, правда, слегка отличаются от софтовых, т.к. заключаются не в особенностях железа (объём ОЗУ, частота процессора и т.д.), а в наличии необходимых программ и их версий.

Вот с этого мы и начнём процесс установки Laravel.

Установка Laravel – системные требования

Итак, вот полный перечень требований к веб-серверу, на который мы будет устанавливать Laravel и создавать сайты на его базе:

  • PHP >= 5.6.4
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

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

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

Способы установки Laravel

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

Install Laravel через Composer

Я решил начать с самого распространённого способа установки Laravel среди разработчиков — через пакетный менеджер Composer.

Почему данный способ самый распространённый? Да потому, что у многих данное ПО уже установлено 🙂 И всё, что нужно для того, чтобы развернуть Laravel, — это запустить соответствующую команду и немного подождать, пока скачаются все необходимые файлы, и установятся соответствующие зависимости.

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

Установка Composer

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

Если вы используете ОС Windows, то для установки Composer можно воспользоваться инсталлятором, который, кроме установки, также редактирует системную переменную $PATH, благодаря чему консольную команду composer возможно вызывать глобально, вне зависимости от того, в какой папке вы находитесь.

Всё же не лишним будет перезапустить компьютер после установки, чтобы изменения переменной $PATH воспринялись ОС.

http://cccp-blog.com/wp-includes/images/banners/templatemonster/banner_content_new.png

Если же вы работаете из-под другой ОС (Linux, MacOS), то в вашем случае для установки существует ещё и консольный вариант:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

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

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

Также не забудьте изменить переменную $PATH и перезагрузить компьютер 🙂

Установка Laravel

После успешной установки Composer на ваш сервер в консоли переходим в папку, где будет располагаться будущий сайт. Я при разработке сайтов пользуюсь ОС Windows и замечательной программкой OpenServer, поэтому я создам Laravel проект прямо в каталоге сайтов OpenServer, предназначенном для этих нужд:


cd c:\openserver\domains\localhost

Далее устанавливаем Laravel следующей командой:


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

Самый последний параметр – название каталога сайта, в который будет установлен Laravel. В моём случае это «Laravel5Portfolio», вы можете написать вместо него своё название.

Данная команда автоматически скачивает Laravel в указанную папку и запустит процесс установки. Остаётся только наблюдать.

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

Он хранится в файле .env в корне проекта в виде 32-символьного значения переменной APP_KEY. Ежели она пустая, запустите в консоли artisan-команду key:generate.

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

Установка Laravel с помощью установщика

Итак, ещё один способ установки Laravel, потребующий наличия Composer.

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

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

composer global require "laravel/installer"

Далее, как и при установке Composer, необходимо будет отредактировать системную переменную $PATH, о чём я уже говорил. Это нужно для декларации глобальной консольной команды, благодаря которой новый Laravel проект будет создаваться следующим способом:

Библиотека курсов

laravel new blog

В данном примере, после вызова команды в определённой директории, в которую можно попасть путём ввода команды cd путь_к_директории, будет создана папка blog, в которую установится последняя версия Laravel PHP framework.

Ручная установка Laravel

Установка Laravel с помощью Composer проста, понятна, а потому и рекомендуема. Но всё же, данный способ не является единственным, чтобы развернуть Laravel у себя на компьютере.

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

Для этого необходимо зайти на github.com и скачать файлы из официального репозитория Laravel:

laravel-ustanovka-s-github

Для download Laravel 5 нужно нажать на кнопку «Download ZIP», которая доступна в правом выпадающем меню. Кстати, при скачивании файлов из ветки «master», которая доступна по умолчанию, при входе в репозиторий, вы получите самую последнюю версию движка, которая на сегодняшний день Laravel 5.4.19.

Ну, а далее следует стандартная распаковка zip-архива в директорию, где будет располагаться будущий сайт.

Данный способ даже не описан в официальной документации Laravel (ввиду его примитивности, я полагаю), поэтому воспользоваться вы им можете, но всё же рекомендуется 🙂 Только в самых крайних случаях.

Кстати! При данном способе установки не забудьте после распаковки архива перейти в консоли в папку проекта и запустить следующую команду:


composer update

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

Установка Laravel через Git с GitHub

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

Для этого запускаем Git Bash (Git консоль) в любой директории вашего ПК (лучше всего запустить её сразу в каталоге веб-сервера, содержащего папки сайтов) и вводим следующую команду:


git clone https://github.com/Pashaster12/Laravel5Portfolio.git

С помощью неё вы скопируете файлы из официального репозитория Laravel, адрес к которому указывается в качестве параметра. Если интересно, как я его узнал — посмотрите на скриншот в предыдущем способе установки, где открыто окно с кнопкой «Download ZIP».

Выше кнопки есть текстовое поле, в котором прописан адрес репозитория в HTTPS/SSH форматах. Я использовал HTTPS-вариант, который достаточно скопировать в буфер, а потом вставить в консоли в качестве параметра.

После запуска команды вы получите файлы фреймворка у себя на компьютере. И не забудьте, как и в предыдущем способе, запустить composer update для установки недостающих ресурсов. Без них запустить и воспользоваться фреймворком у вас не получится.

Особенности установки Laravel на виртуальную машину

Наверное, если не все, то многие из вас слышали о виртуальных машинах, которые возможно создавать путём установки специальных программ (виртуализаторов) на вашу основную операционную систему (ОС) реального компьютера.

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

Плюсов в данном подходе масса:

  1. Для всех необходимых компонентов сервера уже есть готовые пакеты, поэтому устанавливать их очень просто;
  2. Если вы работаете над проектом параллельно с несколькими другими разработчиками, то всё, что будет нужно сделать новым участникам команды — это скопировать существующую виртуальную машину на свой локальный компьютер;
  3. Начало работы будет максимально простым — достаточно настроить автозапуск компонентов при старте виртуальной машины и запустить её (если сделать подобное на реальной машине, то вся эта куча будет стартовать даже тогда, когда вам нужен будет ПК лишь для запуска Skype, что неудобно).

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

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

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

Установка Laravel Homestead

Laravel Homestead — это официальный пакет для Vagrant, средства для конфигурации и установки виртуальной среды разработки.

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

The Laravel framework has a few system requirements. Of course, all of these requirements are satisfied by the Laravel Homestead virtual machine, so it’s highly recommended that you use Homestead as your local Laravel development environment.

Vagrant является программной обёрткой для существующих виртуализаторов (Oracle VirtualBox, VMWare, Parallels и т.д.), т.е. для того, чтобы организовать виртуальную среду разработки для работы с Laravel данным способом, придётся:

  1. Установить виртуализатор;
  2. Установить Vagrant;
  3. Установить Laravel Homestead.

После всех данных действий вы получите следующий список ПО без их физической установки:

  • Ubuntu 16.04
  • Git
  • PHP 7.1
  • Nginx
  • MySQL
  • MariaDB
  • Sqlite3
  • Postgres
  • Composer
  • Node (With Yarn, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • ngrok

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

Если же у вас ничего нет, то потребуется достаточно много телодвижений, т.к. помимо установки требуемых программ для ОС Windows ещё необходимо будет включить аппаратную виртуализацию в BIOS (VT-x). Это, пожалуй, единственный минус данного подхода.

Ну, и ещё, тут имеет дело привычки. Мне, например, данные инновации в виде виртуальных сред разработки не пришлись по вкусу. Я давно нашёл для себя комфортное средство для разработки — OpenServer, добавление новых компонентов в котором также происходит путём визуального выбора нужного ПО и его версии.

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

Но, мне пока что и не нужно никуда свои проекты переносить 🙂 Поэтому для моих задач OpenServer мне с головой хватает: раз настроил версии серверных компонентов — и вперёд, только новые проекты добавлять останется.

В случае с тем же Docker, для каждого нового проекта придётся снова производить конфигурацию модулей. Причём, всё это происходит в консольном режиме с использованием команд API Docker.

Я пытался пользоваться данным ПО, но лично мне оно показалось неудобным и, честно говоря, не вижу в нём особого смысла. Зачем извращаться и изучать ещё одно API, если можно направить свой энтузиазм на изучение настроек серверов, которые применяются повсеместно — и при локальной разработке, и при работе сайтов на Shared хостингах, и на выделенных серверах.

В общем, Docker мне пока что показался бессмысленным и абсолютно не понравился, поэтому я решил вернуться к OpenServer.

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

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

Установка Laravel — завершающий этап

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

Как же теперь проверить, что мы всё сделали правильно?

Самый простой способ проверки работоспособности Laravel даже не потребует от вас наличия настроенного веб сервера. Минимальным требованием является наличие установленного PHP.

В таком случае для запуска Laravel можно будет воспользоваться встроенным в PHP сервером разработки с помощью artisan команды serve:

php artisan serve

Данная команда запускает сервер разработки по URL http://localhost:8080 и делает доступным сайт, в папке которого вы вызвали команду serve.

Если же у вас уже есть в наличии настроенным веб-сервер со всеми необходимыми компонентами (минимум Apache/Nginx + PHP), то для тестового запуска Laravel введите в строке браузера url вашего сайта, добавив в конце «/public», т.к., ввиду файловой структуры Laravel, даже после успешной установки, при входе на сайт вы увидите только список файлов.

Итак, если вы всё сделали правильно, то в окне браузера вы увидите приветственный экран Laravel:

laravel-ustanovka-ekran-privetstviya

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

Если же вы не смогли даже настроить Laravel на веб-сервере, то дождитесь следующей статьи, в которой будут изложены подробные инструкции по запуску Laravel как на WAMP/LAMP сборках, так и на чистых серверах — Nginx и Apache. А также мы поговорим, как избавиться от ссылки на public директорию в URL сайта.

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

Ну, и не лишним будет напомнить о том, чтобы вы не забывали делиться записью со своими друзьями с помощью социальных кнопок внизу. Для вас мелочь — а мне приятно 🙂

На этом всё. Пока.

P.S.: если вам нужен сайт, но нет времени самостоятельно его разрабатывать, могу порекомендовать вам своего проверенного партнёра - вебстудию Дениса Нихаева. Было не просто, но я всё-таки выбил для вас скидку 20%, что составит до 20 тысяч рублей в зависимости от выбираемого тарифа 🙂 Вот промо код - CCCP. При заказе сообщите его и скидка вам гарантирована! Друзьям тоже можете рассказать 😉

Понравилась статья? Поделись с друзьями:
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
12 голосов, в среднем: 5 из 5

Похожие темы

16 комментариев к статье "Laravel install: 5 способов установки и 2 варианта запуска"

  1. Edred

    В процессе обучения Laravel выяснилось, что удобнее все-таки разработку вести локально, поэтому, следуя вашему совету, поставил OpenServer. Вернулся к этому уроку, начал устанавливать Laravel на OpenServer и обнаружилось, что вы почему-то ни слова не написали о установки Composer на OpenServer, хотя это делается не так, как у вас описано для разных операционных систем. Мне помогла вот эта инструкция:
    nikolaev-web.ru/blog/installing_the_composer_on_openServer/
    Включите к себе в статью что-то подобное, это было бы к месту.

    1. Pashaster Автор

      Снова здравствуйте! 🙂

      А что конкретно не получилось по моей инструкции? Я себе устанавливал методом, описанным в статье, т.е. установка ограничилась запуском exe-файла.

      Инсталлятор сам корректирует переменную PATH, чтобы можно было вызывать composer глобально, в том числе и на OpenServer (о чём, собственно говоря, в статье и написано).

      1. Pashaster Автор

        В принципе да, каталог сайтов OpenServer — это domains, но иногда случаются казусы из-за стыковки локальных доменных имён с реальными, из-за чего возникают проблемы.

        Если разместить сайт в domains/localhost, то сайты на локальной машине будут иметь url http://localhost/domain.name. И это сработает в большинстве случаев.

      2. Edred

        Эээ… Не знаю, я не стал даже пробовать инсталлировать Composer в Windows. Зачем он мне тут? OpenServer — он ведь не инсталлируется, он только разворачивается из архива. Я вообще его на флешку развернул, чтобы получить мобильность (так как у меня несколько рабочих компьютеров).
        У вас же получается, что, поставив портабельную среду — вы вспомогательную программу для нее инсталлируете.

        А при установке внутри OpenServer я просто добавил путь к нему во внутренний path и в настройках включил использовать path windows+openserver. И все нормально, композер вполне доступен в любой папке, я уже поставил Laravel и двигаюсь дальше…

  2. Edred

    И еще вопрос. Вы пишете:
    «…поэтому я создам Laravel проект прямо в каталоге сайтов OpenServer, предназначенном для этих нужд:
    cd c:\openserver\domains\localhost»

    Но в настройках OpenServer на закладке «Сервер» по умолчанию как корневая папка доменов указана «domains». Так что, наверное, надо переходить только в папку domains, а в папку localhost заходить не надо? Я уж не говорю, что «c:\openserver» в пути вряд ли будет при установке OpenServer по умолчанию (так как он ставится в папку OSPanel). Но это-то фигня, конечно.

  3. Сергей

    Добрый день!
    У меня следущая проблема. Когда запускаю php artisan serve, при запуске laravel не подгружаются js и css файлы. спасает комбинация php -S localhost:8000 -t public. В чем может быть причина?

    1. Pashaster Автор

      Честно говоря, затрудняюсь ответить. У меня такой проблемы не было. Скорее всего, проблема в особенностях реализации самого сервера Laravel — не разбирался, как он разработан.

      Вообще данный вариант предназначен только в тестовых целях — проверить, что Laravel установился правильно. Для реальной разработки он всё равно не подойдёт. Да и сайт на нём работает медленнее, чем на стандартной WAMP/LAMP сборке или вообще чистых компонентах.

      P.S. Ради интереса запустил на реальном Laravel проекте — сразу же выдало ошибку соединения с БД, что и не мудрено, т.к. MySQL на встроенном в Laravel сервере не установлен, только PHP.

  4. Юрий Вакуленко

    Привет друг! по твоей статье установил Ларавел! все супер! Хочу поделится отличным способом, как упростить доступ по URL в папку \public как на локальном вебсервере, так и на хостинге.. все примитивно просто..

    итак..

    в корневой папке ( \ эта папка, где .env файл лежит) любого Ларавел проэкта есть файл server.php … теперь создаем в корневой папке пустой файл index.php .. открываем его и пишем » require_once ‘server.php’; » сохраняем. Вводим в URL адрес к корневой папке проэкта.. к примеру localhost\laravel_app и радумся) и не надо никаких \public

    1. Юрий Вакуленко

      И кстати еще один очень хороший вебсервер, что с коробки работает отлично с Ларавел .. это VERTRIGO WEBSERVER .. гораздо меньше Опен Сервера.. и есть все необходимое!

      1. Pashaster Автор

        Спасибо за рекомендацию 🙂 Об этом продукте ничего не слышал.

        А вообще, я постепенно начинаю отходить от OpenServer, т.к. при разработке кастомных проектов с использованием Highload технологий пользы от *AMP мало, нужно куча ещё другого софта.

        А это, при условии саппорта и разработки нескольких проектов, требующих разные версии серверных компонентов, ужасно засирает рабочую машину.

        Поэтому я в последнее время поглядываю в сторону Vagrant, который позволяет виртуализировать среды разработки и потом великолепно помогает при деплое, т.к. установку всех программ можно записать в bash-файл, а потом просто запустить его на сервере PRODUCTION окружения или просто передать его в распоряжение деплойщикам.

        При использовании сборок придётся каждый раз смотреть версии используемых компонентов (и ещё не факт, что вы найдёте все используемые в вашем случае).

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

        Кстати, у Laravel есть официальный Vagrant box Homestead, позволяющий запустить Laravel проект за считанные секунды на виртуальном веб-сервере.

    2. Pashaster Автор

      Спасибо за отзыв и то, что поделились своим опытом.

      На самом деле, описанный Вами способ мне знаком. Я использовал его в самом начале своей «карьеры» разработчика Laravel, но потом отказался.

      Потому что это — костыль, уж извините за прямоту 🙂

      Зачем подобные извращения, если нужно всего-то настроить виртуальный хост не на корень папки, а на его директорию public — и будет счастье 🙂

      Тем более, что делать рабочую директорию не корневой, а вложенной — это фишка всех современных фреймворков (наблюдал лично такое на Laravel и Yii). Значит, так нужно, ведь их не дурачки разрабатывают.

      А причин для этого несколько:

      1. С точки зрения логики, файлы фреймворка преднамеренно выносятся за пределы web директории, т.к. они просматривать их нет смысла при сёрфинге сайта в браузере.

      2. С точки зрения безопасности по той же причине, что я описал выше. В том же самом Laravel, если index.php будет на одном уровне с .env без блокировки доступа к нему через браузер, юбой желающий прочитает Ваши данные коннекта к БД и стянет информацию…

      Поэтому, мой Вам совет: не изобретайте велосипедов и пользуйтесь рекомендациями разработчиков фреймворков, которые в данной статье и изложены 🙂

      1. Юрий Вакуленко

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

  5. Yutalina

    Устанавливала через композер
    При вводе ссылки http://laravel.loc/public/ пишет
    Warning: require(C:\OSPanel\domains\laravel.loc\public/../vendor/autoload.php): failed to open stream: No such file or directory in C:\OSPanel\domains\laravel.loc\public\index.php on line 24

    Fatal error: require(): Failed opening required ‘C:\OSPanel\domains\laravel.loc\public/../vendor/autoload.php’ (include_path=’.;c:/ospanel/modules/php/PHP-5.6;c:/ospanel/modules/php/PHP-5.6/PEAR/pear’) in C:\OSPanel\domains\laravel.loc\public\index.php on line 24
    Помочь можете?

    1. Pashaster Автор

      День добрый. На моей памяти было несколько причин данной ошибки. Самая первая — неверная версия PHP на сервере. Прочитайте, какая нужна для стабильной работы вашей версии Laravel и сравните с той, что сейчас имеется.

    1. Pashaster Автор

      Нужно дебажить. Запрос до контроллера доходит хотя бы? Возможно, в самом коде контроллера ошибка. Изучайте логи.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *