Создание сайта на Laravel с системой аутентификации из коробки

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

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

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

Laravel Auth

Если вы работаете над индивидуальным решением для клиента и не собираетесь распространять свое приложение как opensource, то Backpack для Laravel и генератор Infyom Laravel — отличное сочетание.

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

Давайте приступим и все настроим!

  1. Используя IDE PHPStorm, я добавлю новый источник данных mysql на вкладке базы данных.
  2. Затем я создам новую схему под названием laravel-auth и установлю collation на utf8mb4_general_ci (чтобы мои пользователи могли вставлять причудливые эмодзи, если захотят).
  3. Теперь я клонирую проект с помощью git: git clone https://github.com/jeremykenedy/laravel-auth.git laravel-auth.
  4. После клонирования мне нужно создать конфигурационный файл .env laravel, чтобы настроить базу данных
    1. найдите и измените следующее
    2. DB_DATABASE
    3. DB_USERNAME
    4. DB_PASSWORD
  5. затем запустите «composer upate». Это запустит все сторонние зависимости и библиотеки.
  6. Теперь нам нужно опубликовать laravelroles и двухступенчатую аутентификацию. Этот шаг скопирует важные файлы миграции из папки vendors в приложение, а также сеялки базы данных и активы.
  7. Сгенерируйте уникальный ключ приложения — из корневой папки проекта выполните команду php artisan key:generate.
  8. Запустите миграцию базы данных — из корневой папки проекта выполните команду php artisan migrate. Это установит все таблицы базы данных для проекта.
  9. Из корневой папки проекта выполните composer dump-autoload.
  10. Из корневой папки проекта выполните php artisan db:seed.
  11. Скомпилируйте фронт-энд активы с помощью npm steps или yarn steps.

Настройка виртуального хоста

Теперь, когда laravel-auth установлен, давайте настроим виртуальный хост Apache, чтобы мы могли просматривать веб-сайт на нашей локальной машине. Для этого я использую удобный bash-скрипт Virtualhost, который я взял из RoverWire/virtualhost.

 sudo virtualhost create laravel-auth.localhost
Войти в полноэкранный режим Выйти из полноэкранного режима

Это создало для меня файл в /etc/apache2/sites-available, включило виртуальный хост, создало запись в файле /etc/hosts, а затем перезапустило apache. Однако на этом этапе потребовалось несколько небольших доработок. Во-первых, общая папка Laravel находится в /public/, поэтому мне пришлось отредактировать /etc/apache2/sites-available/laravel-auth.localhost.conf, чтобы исправить корень документа. Я также заметил, что скрипт создал для меня папку в /var/www/laravel-authlocalhsot, поэтому я удалил ее и обновил laravel-auth.localhost.conf, чтобы указать на правильную папку, куда я клонировал репозиторий (/var/www/laravel-auth/).

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

sudo chown -R www-data:www-data

sudo find /var/www/laravel-auth -type f -exec chmod 644 {} ;

sudo find /var/www/laravel-auth -type d -exec chmod 755 {} ;

Войти в полноэкранный режим Выйти из полноэкранного режима

Поскольку это моя локальная машина для разработки, а не производственная среда, я собираюсь передать права доступа к моему проекту foler моему пользователю вместо www-data.

sudo chown -R $USER:www-data .

sudo find . -type d -exec chmod 775 {} ;
sudo find . -type f -exec chmod 664 {} ;
Войти в полноэкранный режим Выйти из полноэкранного режима

Мне также нужно дать веб-серверу права на запись в хранилище и кэш.

sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
Войдите в полноэкранный режим Выйти из полноэкранного режима

Теперь мы готовы — переходим на http://laravel-auth.localhost/.

Но подождите! Мы еще не закончили. Необходима дальнейшая настройка:

ReCaptcha

Поскольку мы развертываемся локально, отредактируйте файл .env и установите следующие параметры

ENABLE_RECAPTCHA=false
Войти в полноэкранный режим Выйти из полноэкранного режима

тогда сделайте

composer dump-autoload
Ввести полноэкранный режим Выйти из полноэкранного режима

Ух ты! Это прекрасно! Теперь, когда у меня есть эта схема, я готов добавить несколько конечных точек API для моих сценариев LSL Second Life Metaverse Scripts!

The post Создание сайта на Laravel с системой аутентификации из коробки appeared first on Пол Прейбиш.

Оцените статью
Procodings.ru
Добавить комментарий