Рекомендую хостингПеренос сайтов и месяц на тестирование - бесплатно!

Полное руководство по установке Laravel с подключением БД и настройкой прав

49

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

1. Установка Laravel: с нуля до работающего проекта

Процесс установки Laravel предельно прост благодаря встроенному установщику и менеджеру зависимостей Composer. Рассмотрим два основных способа.

Требования к серверу

Для работы Laravel необходим сервер с PHP версии 8.0 или выше и установленным Composer. Если вы работаете локально, рекомендую использовать Laravel Herd (для macOS/Windows) или Laravel Sail (для Docker-окружения).

Способ 1: Установка через Composer

Самый распространенный метод. Откройте терминал в папке вашего сервера (например, ~/sites) и выполните:

composer create-project laravel/laravel my-project

Эта команда создаст папку my-project и установит в нее свежую версию Laravel со всеми зависимостями.

Способ 2: Установка через Laravel Installer

Если вы планируете часто создавать проекты, удобнее установить Laravel Installer глобально:

composer global require laravel/installer
laravel new my-project

Оба способа приведут к одному результату — полностью готовому к работе проекту.

Запуск сервера разработки

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

cd my-project
php artisan serve

По адресу http://127.0.0.1:8000 вы увидите приветственную страницу Laravel. Установка завершена!

2. Подключение базы данных

Laravel из коробки поддерживает MySQL, PostgreSQL, SQLite и SQL Server. Рассмотрим подключение самой популярной базы данных — MySQL.

Шаг 1. Создайте базу данных

Создайте новую базу данных через phpMyAdmin, командную строку или любой другой инструмент. Например, через терминал MySQL:

CREATE DATABASE laravel_blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Шаг 2. Настройте файл окружения .env

В корне проекта находится файл .env. Найдите в нем секцию с настройками базы данных и укажите название БД, логин и пароль от нее:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_blog
DB_USERNAME=root
DB_PASSWORD=your_password

Важно: После любых изменений в .env необходимо очистить кэш конфигурации:

php artisan config:clear

Шаг 3. Проверьте подключение

Выполните миграции, которые идут в комплекте с Laravel. Они создадут таблицы для работы с сессиями, очередями и уведомлениями:

php artisan migrate

Если команда выполнилась без ошибок — база данных подключена корректно.

3. Установка прав на папки (Permissions)

Одна из самых частых ошибок при развертывании Laravel на хостинге — неправильные права доступа к папкам storage и bootstrap/cache. Laravel записывает в эти директории логи, кэш и сессии, поэтому веб-сервер должен иметь право на запись.

Для локальной разработки (Linux/Mac)

chmod -R 775 storage
chmod -R 775 bootstrap/cache

Для продакшена (рекомендуемые права)

В production-окружении права должны быть более строгими, но при этом веб-сервер (обычно www-data или nginx) должен иметь доступ на запись:

sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache

Для хостинга

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

chmod -R 755 storage bootstrap/cache

Если после этого ошибки остаются, попробуйте права 777 (менее безопасно, но иногда необходимо на некоторых хостингах):

chmod -R 777 storage bootstrap/cache

Как проверить, что права установлены правильно

Создайте тестовый файл через artisan:

php artisan tinker
>>> file_put_contents(storage_path('test.txt'), 'OK');
>>> exit;

Если файл storage/test.txt создался — права настроены корректно.

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

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

*
code