Веб-программирования для меня - это хобби. Поэтому я могу переключиться на что-то другое и не заниматься web-разработкой в течении длительного времени. Когда я возвращаюсь к этому, то некоторые моменты приходится вспоминать заново. Эта статья - это инструкция для меня, а также, надеюсь помощь кому-то из вас. У меня несколько сайтов и в очередной раз я решил обновить их. В качестве основы выбрал [Lumen](https://lumen.laravel.com/). Это PHP-микрофреймворк написанный на основе компонентов [Laravel](https://laravel.com/) его автором. Он достаточно простой и шустрый, как раз то, что мне нужно. ## Установка Open Server Локальную версию сайта я запускаю на [Open Server](https://ospanel.io/), использую версию 5.2.9 Basic. Скачиваем и устанавливаем. Это не сложно. Достаточно просто распаковать скаченную версию и можно сразу её запускать. Русский язык в наличии, так что проблем с этим быть не должно. При первом запуске Open Servera будет такое вот окно и оно будет несколько минут - это нормально. ![2018-12-29-08_48_17.png](http://shasoft.com/storage/files/05/e3/a1c1b67431a6411f48702db9c7a7/2018-12-29-08_48_17.png) Как только Open Server запустился, то открываем настройки. Для запуска меню ниже нужно нажать на иконке Open Server в tray. ![2018-12-29-08_50_29.png](http://shasoft.com/storage/files/d9/9e/d2fab79de4740dc18557cb457a46/2018-12-29-08_50_29.png) На вкладке Основные устанавливаем галочку "Автозапуск сервера" чтобы при запуске он сразу запускался. Что логично, так как раз запустили, то значит хотим чтобы сервер работал. ![2018-12-29-09_06_51.png](http://shasoft.com/storage/files/71/0a/16dcf51c82d97aa2fd007e71d26e/2018-12-29-09_06_51.png) На вкладке Модули указываем нужные модули. Если вы планируете выкладывать на хостинг, то укажите те, что установлены на нем. Ниже прилагаются мои настройки ![2018-12-29-08_53_42.png](http://shasoft.com/storage/files/b2/05/e8aac10d9ac2265618e81e242cd0/2018-12-29-08_53_42.png) На вкладке *Сервер* указываем директорию где будут храниться наши сайты + я ставлю галочку "Не вносить изменения в файл hosts". Это связано с тем что Open Server я запускаю с переносного HDD и не всегда программа имеет права вносить изменения в этот файл. ![2018-12-29-08_59_20.png](http://shasoft.com/storage/files/9d/ce/e833700d61f5619f15e5375957f9/2018-12-29-08_59_20.png) Сохраняем настройки и запускаем Open Server. ![2018-12-29-09_09_04.png](http://shasoft.com/storage/files/ce/ce/f8075982b634a038a39e001c591e/2018-12-29-09_09_04.png) Запускаем консоль ![2018-12-29-09_10_46.png](http://shasoft.com/storage/files/75/5d/b4c7dd5466bf8afce0bbdf2127e1/2018-12-29-09_10_46.png) Открывается окно консоли. ![2018-12-29-09_18_01.png](http://shasoft.com/storage/files/2e/a2/9a23d0e10f8ee4345fdb479ed32d/2018-12-29-09_18_01.png) ## Установка Lumen Для установки будем пользоваться менеджером php пакетов [composer](https://getcomposer.org/). Он по умолчанию уже встроен в Open Server. Сначала обновим его до актуальной версии, для этого запустим в консоли следующую команду: ```batch composer self-update ``` После этого откроем страницу с [описанием установки](https://lumen.laravel.com/docs/installation) Lumen (это описание для версии 5.7). Если мы не делали этого ранее, то сначала нужно установить установщик. Выполним в консоли команду: ```batch composer global require "laravel/lumen-installer" ``` После этого переходим в директорию с нашими сайтами (которую мы ранее установили в настройках). Для этого выполняем в консоли ```batch cd <наша директори> ``` в моем случае это ```batch cd s:\Cloud\Projects\Web\domains ``` ![2018-12-29-09_28_33.png](http://shasoft.com/storage/files/c4/4c/cb699a2529415712456cfd05caa9/2018-12-29-09_28_33.png) После этого запускаем команду установки Lumen ```batch composer create-project --prefer-dist laravel/lumen <имя нашего домена> ``` в моем случае я буду использовать домен dev-lumen.shasoft.com И команда будет выглядеть как ```batch composer create-project --prefer-dist laravel/lumen dev-lumen.shasoft.com ``` Ждем завершения выполнения команды. В папке с доменами создалась папка dev-lumen.shasoft.com в которой лежат все файлы нашего домена. Следующий шаг нужен только для тех, кто устанавливал в настройках галочку "Не вносить изменения в файл hosts". Т.е. для меня он нужен. Нужно открыть файл *hosts* который находится в директории c:\Windows\System32\drivers\etc\ и добавить в него строчку ```textile 127.0.0.1 dev-lumen.shasoft.com ``` Потом открыть настройки Open Server вкладку Домены, добавить наш домен и нажать кнопку "Добавить" и сохранить изменения. ![2018-12-29-09_43_19.png](http://shasoft.com/storage/files/ba/4e/a0fe81242251c4a16c3379590968/2018-12-29-09_43_19.png) Теперь можно открыть браузер и открыть наш созданный сайт dev-lumen.shasoft.com Вы должны увидеть в браузере следующую строку ```textile Lumen (5.7.7) (Laravel Components 5.7.*) ``` ## Дополнительные настройки Open Server Все работы мы будем вести в директории сайта s:\Cloud\Projects\Web\domains\dev-lumen.shasoft.com а значит каждый раз при запуске консоли нам нужно будет переходить в эту директорию. Т.е. каждый раз при запуске консоли необходимо будет выполнять команду ```batch cd s:\Cloud\Projects\Web\domains\dev-lumen.shasoft.com ``` Чтобы каждый раз не набирать столько текста, пропишем эту команду в запуск консоли. Для этого создадим файл s:\Cloud\Projects\Web\console\init.bat (это где я его создал, вы можете создать в любом другом месте). В командный файл добавим следующий код ```batch @echo off rem Перейти в директорию сайта (от текущей директории расположения файла init.bat) cd %~dp0..\domains\dev-lumen.shasoft.com rem Очистить экран cls ``` Если вы не понимаете что такое "%~dp0" и как оно работает и не можете настроить переход в вашу директорию, то можете эту строку написать так ```batch cd <путь до вашей директории с сайтом> ``` Теперь при старте консоли вы сразу будете находиться в нужной директории. Это важно, когда мы будем дорабатывать стандартный проект Lumen под наши нужды. Исходная статья находится [тут](http://shasoft.com/article/sozdaem_sayt_na_lumen_laravel_ustanovka)