Базовая сборка сайта (приложения) на Laravel 7.x

Данный материал содержит инструкцию по сборке базового сайта (приложения) на Laravel Framework 7.x под операционной системой Windows с установленным Open Server. Open Server Panel — это портативная серверная платформа и программная среда, созданная специально для веб-разработчиков с учётом их рекомендаций и пожеланий.
Скачать Open Server можно здесь https://ospanel.io/. Установка его абсолютно интуитивно понятна. Весь материал, касающийся именно базовой настройки Laravel, так же справедлив и для таких операционных систем, как Mac OS и Linux, естественно с учётом их особенностей.
I. Установка Composer на OpenServer
1) Допустим, мы установили Open Server в каталог D:\OSPanel\. Переходим к текущему модулю PHP, например:
D:\OSPanel\modules\php\PHP_7.3-x64
2) Запускаем:
php -r «readfile(‘https://getcomposer.org/installer’);» | php
или Composer-Setup.exe, указывая D:\OSPanel\modules\php\PHP_7.3-x64
3) Проверяем какая версия стоит командой:
php composer.phar -V
4) Создаём .bat файл и в дальнейшем можно будет работать без указания php composer.phar, просто указывая composer:
echo @php «%
II. Установка Laravel
1. Запускаем консоль OpenServer
2. Переходим в папку \OSPanel\domains
3. Запускаем команду
composer create-project —prefer-dist laravel/laravel laravel.empty.blog
где laravel.empty.blog – каталог нашего проекта
5. Запускаем OpenServer, и идем в настройки. Во вкладке «Сервер» в поле «Настройка использования переменной Path» выставляем «Свой Path + userdata/config/path.txt». Создаем файл в папке \OpenServer\userdata\config\ под именем path.txt следующего содержания:
6. Перезапускаем OpenServer
7. Проверяем npm -i
8. Запускаем консоль, переходим в папку проекта D:\OSPanel\domains\laravel.empty.blog
9. Запускаем установку npm install
10. В OpenServer идем в настройки. Во вкладке «Домены» добавляем папку D:\OSPanel\domains\laravel.empty.blog\public -> имя домена laravel.empty.blog
11. Проверяем в браузере http://laravel.empty.blog
12. В OpenServer идём в «Дополнительно» phpmyadmin (логин root без пароля)
13. Создаём базу laravel.empty.bl в кодировке utf8mb4_general_ci
14. Редактируем файл .env в \OSPanel\domains\laravel.empty.blog\
APP_NAME=Laravel.Empty.Blog
APP_URL=http://laravel.empty.blog
DB_DATABASE=laravel.empty.bl
Можно настроить smtp (на примере Яндекс):
MAIL_DRIVER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=587
MAIL_USERNAME=ВАШ_ЛОГИН
MAIL_PASSWORD=ВАШ_ПАРОЛЬ
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=ВАШ_EMAIL
MAIL_FROM_NAME=»$
15. В консоли в папке \OSPanel\domains\laravel.empty.blog\ запускаем команду php artisan config:cache
16. В :\OSPanel\domains\laravel.empty.blog\resources\views\welcome.blade.php меняем:
III. Запуск сайта (приложения) на Laravel.
17. Проверяем в браузере http://laravel.empty.blog
Мы должны увидеть: Laravel.Empty.Blog 😉
18. Открываем папку нашего проекта в PHPStorm или в другой IDE
19. Версию установленного Laravel можно поверить командой (в консоли в папке проекта):
php artisan -V
В нашем случае это Laravel Framework 7.6.2
20. Список всех команд: php artisan
21. Модифицируем файл app/Providers/AppServiceProvider.php
Без этих изменений может возникать ошибка:
Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Дело в том, что в Laravel 5.4 изменилась кодировка по умолчанию для базы данных (теперь это utf8mb4 для поддержки emoji). Ошибка Specified key was too long error проявляется только для MySQL ниже v5.7.7 и в старых версиях MariaDB.
Итак, в app/Providers/AppServiceProvider.php добавляем:
1) Добавьте строку в блоке use: use Illuminate\Support\Facades\Schema;
2) Добавьте в метод boot строку: Schema::defaultStringLength(191);
22. Запускаем миграции: php artisan migrate
Вариант сообщений при успешном выполнении миграций:
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.44 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (0.24 seconds)
В базе данных laravel.empty.bl создались таблицы failed_jobs и users
23. Добавляем механизм авторизации пользователей
Каркас фронтенда, обычно поставляемый с предыдущими версиями Laravel, был перенесен в отдельный пакет laravel/ui. Это позволяет создавать и версионировать пользовательские интерфейсы отдельно от основного фреймворка. В результате этого изменения в дефолтном каркасе фреймворка не будет Bootstrap и Vue.
Также была вынесена из фреймворка команда make:auth.Чтобы восстановить традиционный каркас Vue/Bootstrap, имеющийся в предыдущих версиях Laravel, вы можете установить пакет laravel/ui и использовать artisan команду ui для установки фронтенд каркаса.
Устанавливаем пакет: composer require laravel/ui
Устанавливаем фронтенд: php artisan ui vue —auth
Загружаем пакеты фронтенда: npm install
Запускаем нашу сборку в режиме разработчика: npm run dev
В результате последней команды будут скомпелированы файлы стилей и скриптов
/css/app.css
/js/app.js
24. Процесс регистрации.
Если всё сделано правильно, то перейдя на наш сайт http://laravel.empty.blog мы увидим в верхнем углу 2 пункта меню Login и Register.
Производим регистрацию нового пользователя – вводим имя, e-mail, пароль и подтверждение пароля. После успешной регистрации вы должны увидеть надпись You are logged in!
Это значит, что регистрация прошла успешно и Вы уже авторизованы на сайте!
Поздравляем! Базовая сборка сайта на Laravel 7 произведена, и теперь Ваш сайт полностью готов к дальнейшему развитию!
Весь код к данному материалу находиться в общедоступном репозитории:
https://github.com/Best-ITPro/LaravelEmptyBlog_Blank.git
Вы можете скачать и использовать его для создания Ваших приложений.
В дальнейшем будет опубликована более расширенная версия сайта (приложения), которая будет содержать механизм публикации статей в различных категориях.
Как на openserver поставить laravel
Быстрая и простая установка и запуск фреймворка Laravel на Open Server.
Установить и запустить фреймворк Laravel на Open Server очень просто. Для начала надо перейти в каталог, в котором Open Server хранит домены «OSPanel\domains» и создать там каталог для нового проекта, например «mysite». Теперь надо запустить консоль Open Server через дополнительные настройки (Рис.1.)

Рис.1.
Откроется окно консоли, которое будет выглядеть примерно как на Рис.2., где нам надо перейти в каталог, где Open Server хранит домены. Для этого воспользуемся командой «cd» и укажем путь к каталогу (cd domains).

Рис.2.
Все дальнейшие команды будем выполнять в этом консольном окне. Для начала обновим Composer (по умолчанию он уже установлен в Open Server и нет необходимости его скачивать), для чего выполним следующую команду:
Теперь, когда у нас последняя версия Composer, можем приступать к установке Laravel, для чего выполним команду:
composer create-project —prefer-dist laravel/laravel mysite
Вместо «mysite» укажите имя директории, которою Вы создали для своего нового проекта. Ждём пока пройдёт установка. Если всё прошло хорошо, то в корневой директории проекта будет сформирована структура каталогов и файлов фреймворка Laravel (Рис.3).

Теперь переходим к настройкам Open Server и в разделе «Домены» настроим новый домен для нашего нового проекта (Рис.4.). Домашний каталог у Laravel (там где лежит файл index.php) находится в каталоге «public», и именно его мы должны указать в качестве папки домена.

Рис.4.
Как установить Laravel на Openserver — ЛЕГКО
О том как установить Laraver (framwork) на на Openserver много разных статей в интернете, но у меня была ошибка, меня опенсервер не впускал в нужную папку. решаем быстро и легко тут.
то есть я ввожу адрес на своем компьютере примерно так:
cd G:\проги\open server\open server2015\openserver\domains
а он мне выкидывает такое:
То есть он меня не пускает из этого виртуального диска, это видимо где-то есть в настройках openserver, но я пока не стал этим заморачиваться и подумал давай-ка я буду работать с виртуальным диском(он на ноуте просто как бы дублируется, на самом деле все лежит в пути, который указан выше на реальном диске D)
Я ввел следующее:
а именно там все и лежит — и все — меня сразу перекинуло в эту папку.
А дальше дело техники, так как программа автоматической установки composer уже встроена в openserver, то нам лишь остается набрать такую команду(и не надо скачивать никаких ларавелей на свой компьютер — НЕ НАДО, все само установиться. ):