- Introduction
- Алгоритм по установке Laravel
- Optimization
- Caching Configuration
- Caching Events
- Caching Routes
- Caching Views
- Последующая настройка
- Файлы настроек
- Права на доступ
- Как получить права доступа
- Ключ приложения
- Дополнительная настройка
- Next Steps
- Laravel The Full Stack Framework
- Laravel Серверная часть API
- Ларавель и Докер
- Начало работы с macOS
- Начало работы в Windows
- Разработка в рамках WSL2
- Начало работы с Linux
- Выбор ваших парусных услуг
- Meet Laravel
- Why Laravel?
- A Progressive Framework
- A Scalable Framework
- A Community Framework
- Настройка веб-сервера
- Настройка веб-адресов
- Nginx
- Installation
- Laravel Vapor
- Установка через Composer
- Использование Laravel Installer
- Запуск фреймворка через Composer Create-Project
- Работа на локальном сервере
- Server Requirements
- Your First Laravel Project
- Исходная конфигурация
- Конфигурация на основе среды
- Базы данных и миграции
- Конфигурация каталога
Introduction
When you’re ready to deploy your Laravel application to production, there are some important things you can do to make sure your application is running as efficiently as possible. In this document, we’ll cover some great starting points for making sure your Laravel application is deployed properly.
Фреймворк Laravel пользуется популярностью за счет ряда факторов:
Кроме того, в нем доступна масса инструментов для развертывания приложений и упрощения веб-разработки. Рассмотрим, как выглядит установка Laravel на Ubuntu.
1. Использование данного фреймворка подразумевает, что у Вас на VPS установлен веб-сервер, например Apache, система управления базами данных и PHP.
3. Устанавливаем git, если он ещё не установлен и скачиваем через него последнюю версию Laravel в папку /var/www/. Команды:yum -y install git
cd /var/www/
git clone https://github.com/laravel/laravel.git

4. Переходим в папку с Laravel, запускаем установку через Composer:cd /var/www/laravel
composer install


5. Зададим Apache в качестве владельца директории с установленной Laravel и выставим права доступа:chown -R apache:apache /var/www/laravel
chmod -R 755 /var/www/laravel
Далее нам нужно установить ключ приложения (нужен для шифрования сессий пользователей и других важных данных). Перейдем в директорию с Laravel и создадим файл .env (скопировав и переименовав файл .env.example):cd /var/www/laravel
cp .env.example .env

6. После того, как файл .env создан, генерируем ключ командой:php artisan key:generate
Должно вывестись сообщение, что ключ установлен успешно, а в содержимом файла .env должна заполниться соответствующая строка. Её можно посмотреть командой cat:cat /var/www/laravel/.env

7. Далее создаем новый виртуальный хост, чтобы доступ к установленному приложения можно было получить через браузер. Конкретные действия могут отличаться в зависимости от текущих настроек установленного у Вас Веб-сервера или иного ПО (например панели управления). В данном примере рассматривается способ, для свеже-установленного Apache. Вместо nittest3.onhh.ru указывайте имя Вашего домена.
8. Настройка завершена. Переходим по имени домена в браузере, должна открыться стартовая страница Laravel.

Laravel — бесплатный PHP-фреймворк с открытым кодом, предназначенный для разработки с использованием архитектурной модели MVC (odel iew ontroller). В данной статье мы расскажем, как с лёгкостью установить данный фреймворк у нас на хостинге.
Алгоритм по установке Laravel
На этом установка завершена. Если всё сделано верно, то при открытии главной страницы сайта, Вы увидите стартовую страницу:

Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».
Optimization
When deploying to production, make sure that you are optimizing Composer’s class autoloader map so Composer can quickly find the proper file to load for a given class:
Note
In addition to optimizing the autoloader, you should always be sure to include a composer.lock file in your project’s source control repository. Your project’s dependencies can be installed much faster when a composer.lock file is present.
Caching Configuration
When deploying your application to production, you should make sure that you run the config:cache Artisan command during your deployment process:
This command will combine all of Laravel’s configuration files into a single, cached file, which greatly reduces the number of trips the framework must make to the filesystem when loading your configuration values.
Warning
If you execute the config:cache command during your deployment process, you should be sure that you are only calling the env function from within your configuration files. Once the configuration has been cached, the .env file will not be loaded and all calls to the env function for .env variables will return null.
Caching Events
If your application is utilizing event discovery, you should cache your application’s event to listener mappings during your deployment process. This can be accomplished by invoking the event:cache Artisan command during deployment:
Caching Routes
If you are building a large application with many routes, you should make sure that you are running the route:cache Artisan command during your deployment process:
This command reduces all of your route registrations into a single method call within a cached file, improving the performance of route registration when registering hundreds of routes.
Caching Views
When deploying your application to production, you should make sure that you run the view:cache Artisan command during your deployment process:
This command precompiles all your Blade views so they are not compiled on demand, improving the performance of each request that returns a view.
Последующая настройка
Когда Laravel будет успешно установлен, сразу же потребуется настроить перенаправление файлов приложения в общедоступную папку . Файл в этом каталоге используется как фронт-контроллер для всех HTTP-запросов, поступающих в создаваемое приложение.
Файлы настроек
Конфигурационные файлы — это PHP-скрипты, хранящиеся в и вложенных подпапках.
Права на доступ
В большинстве случаев, при настройке Laravel будет нужно отредактировать права доступа к директории , где по умолчанию хранятся веб-приложения. В противном случае фреймворк не сможет нормально функционировать.
Как получить права доступа
1. Добавить себя в группу владельцев веб-сервера :
Если пользователь вошел с root правами, этот пункт опускается.
2. Изменить права владельца на Laravel-проект командой:
sudo chgrp -R www-data /var/www/html/project
3. Даются права на запись в папку-хранилище storage:
sudo chmod -R 775 /var/www/html/project/storage
Для пользователя root (помимо первого пункта) из алгоритма исключается команда sudo.
Ключ приложения
Еще одна необходимая вещь, которую обязательно стоит сделать, когда Laravel установлен на хостинге – создать ключ приложения. При отсутствии установленного ключа приложения сеансы пользователей и другая конфиденциальная информация не будут защищены.
Он представляет собой случайно сгенерированную строку в 32 символа. Если для установки использовался Composer или установщик Laravel, ключ автоматически создается указанной командой:
После создания ключ следует вписать как параметр в файл окружения .env. Если такой файл первоначально существовал в Laravel с расширением .env.example, то следует обязательно изменить расширение на .env.
Дополнительная настройка
Laravel сразу же после установки почти не нуждается в более подробном конфигурировании. Однако при желании можно ознакомиться с файлом конфигурации и его документацией.
В нем указано несколько параметров, включая часовой пояс и локализацию, которые можно изменить с учетом особенностей разрабатываемого приложения.
Next Steps
How you want to use Laravel will also dictate the next steps on your journey. There are a variety of ways to use Laravel, and we’ll explore two primary use cases for the framework below.
Note
New to Laravel? Check out the Laravel Bootcamp for a hands-on tour of the framework while we walk you through building your first Laravel application.
Laravel The Full Stack Framework
Laravel may serve as a full stack framework. By «full stack» framework we mean that you are going to use Laravel to route requests to your application and render your frontend via Blade templates or a single-page application hybrid technology like Inertia. This is the most common way to use the Laravel framework, and, in our opinion, the most productive way to use Laravel.
If this is how you plan to use Laravel, you may want to check out our documentation on frontend development, routing, views, or the Eloquent ORM. In addition, you might be interested in learning about community packages like Livewire and Inertia. These packages allow you to use Laravel as a full-stack framework while enjoying many of the UI benefits provided by single-page JavaScript applications.
If you are using Laravel as a full stack framework, we also strongly encourage you to learn how to compile your application’s CSS and JavaScript using Vite.
Note
If you want to get a head start building your application, check out one of our official application starter kits.
Laravel Серверная часть API
Laravel также может служить серверной частью API для одностраничного приложения JavaScript или мобильного приложения. Например, вы можете использовать Laravel в качестве серверной части API для своего приложения Next.js. В этом контексте вы можете использовать Laravel для обеспечения аутентификации и хранения/извлечения данных для вашего приложения, а также использовать преимущества мощных сервисов Laravel, таких как очереди, электронные письма, уведомления и многое другое.
Если вы планируете использовать Laravel именно так, вы можете ознакомиться с нашей документацией по маршрутизации, Laravel Sanctum и Eloquent ORM.
Примечание
Нужна фора в создании серверной части Laravel и внешнего интерфейса Next.js? Laravel Breeze предлагает стек API, а также реализацию внешнего интерфейса Next.js, поэтому вы можете начать работу за считанные минуты.
Ларавель и Докер
Мы хотим, чтобы начать работу с Laravel было как можно проще, независимо от предпочитаемой операционной системы. Таким образом, существует множество вариантов разработки и запуска проекта Laravel на вашем локальном компьютере. Хотя вы, возможно, захотите изучить эти варианты позже, Laravel предоставляет Sail, встроенное решение для запуска вашего проекта Laravel с помощью Docker.
Docker — это инструмент для запуска приложений и служб в небольших и легких «контейнерах», которые не мешают установленному программному обеспечению или конфигурации вашего локального компьютера. Это означает, что вам не нужно беспокоиться о настройке или настройке сложных инструментов разработки, таких как веб-серверы и базы данных, на вашем локальном компьютере. Для начала вам нужно всего лишь установить Docker Desktop.
Laravel Sail — это облегченный интерфейс командной строки для взаимодействия с конфигурацией Laravel Docker по умолчанию. Sail обеспечивает отличную отправную точку для создания приложения Laravel с использованием PHP, MySQL и Redis, не требуя предварительного опыта работы с Docker.
Примечание
Уже являетесь экспертом по Docker? Не волнуйся! Все, что касается Sail, можно настроить с помощью файла docker-compose.yml, входящего в состав Laravel.
Начало работы с macOS
Конечно, вы можете изменить «example-app» в этом URL-адресе на что угодно — просто убедитесь, что имя приложения содержит только буквенно-цифровые символы, дефисы и символы подчеркивания. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.
Установка Sail может занять несколько минут, пока контейнеры приложений Sail собираются на вашем локальном компьютере.
После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с конфигурацией Laravel Docker по умолчанию:
После запуска контейнеров Docker приложения вы можете получить доступ к приложению в веб-браузере по адресу: http://localhost.
Примечание
Чтобы узнать больше о Laravel Sail, ознакомьтесь с его полной документацией.
Начало работы в Windows
Прежде чем мы создадим новое приложение Laravel на вашем компьютере с Windows, обязательно установите Docker Desktop. Затем вы должны убедиться, что подсистема Windows для Linux 2 (WSL2) установлена и включена. W SL позволяет запускать двоичные исполняемые файлы Linux изначально в Windows 10. Информацию о том, как установить и включить WSL2, можно найти в документации по среде разработчика Microsoft.
Примечание
После установки и включения WSL2 вы должны убедиться, что Docker Desktop настроен на использование серверной части WSL2.
Разработка в рамках WSL2
Конечно, вам нужно будет иметь возможность изменять файлы приложений Laravel, которые были созданы в вашей установке WSL2. Для этого мы рекомендуем использовать редактор Microsoft Visual Studio Code и их собственное расширение для удаленной разработки.
После установки этих инструментов вы можете открыть любой проект Laravel, выполнив код . команду из корневого каталога вашего приложения с помощью Windows Terminal.
Начало работы с Linux
Если вы разрабатываете для Linux и Docker Compose уже установлен, вы можете использовать простую команду терминала для создания нового проекта Laravel.
Выбор ваших парусных услуг
При создании нового приложения Laravel через Sail вы можете использовать переменную строки запроса with, чтобы выбрать, какие службы должны быть настроены в файле docker-compose.yml вашего нового приложения. Доступные сервисы включают mysql, pgsql, mariadb, redis, memcached, meilisearch, minio, selenium и mailpit:
Если вы не укажете, какие службы вы хотите настроить, будет настроен стандартный стек mysql, redis, meilisearch, mailpit и selenium.
You may instruct Sail to install a default Devcontainer by adding the devcontainer parameter to the URL:
Meet Laravel
Laravel is a web application framework with expressive, elegant syntax. A web framework provides a structure and starting point for creating your application, allowing you to focus on creating something amazing while we sweat the details.
Laravel strives to provide an amazing developer experience while providing powerful features such as thorough dependency injection, an expressive database abstraction layer, queues and scheduled jobs, unit and integration testing, and more.
Whether you are new to PHP web frameworks or have years of experience, Laravel is a framework that can grow with you. We’ll help you take your first steps as a web developer or give you a boost as you take your expertise to the next level. We can’t wait to see what you build.
Why Laravel?
There are a variety of tools and frameworks available to you when building a web application. However, we believe Laravel is the best choice for building modern, full-stack web applications.
A Progressive Framework
We like to call Laravel a «progressive» framework. By that, we mean that Laravel grows with you. If you’re just taking your first steps into web development, Laravel’s vast library of documentation, guides, and video tutorials will help you learn the ropes without becoming overwhelmed.
If you’re a senior developer, Laravel gives you robust tools for dependency injection, unit testing, queues, real-time events, and more. Laravel is fine-tuned for building professional web applications and ready to handle enterprise work loads.
A Scalable Framework
Laravel is incredibly scalable. Thanks to the scaling-friendly nature of PHP and Laravel’s built-in support for fast, distributed cache systems like Redis, horizontal scaling with Laravel is a breeze. In fact, Laravel applications have been easily scaled to handle hundreds of millions of requests per month.
Need extreme scaling? Platforms like Laravel Vapor allow you to run your Laravel application at nearly limitless scale on AWS’s latest serverless technology.
A Community Framework
Laravel combines the best packages in the PHP ecosystem to offer the most robust and developer friendly framework available. In addition, thousands of talented developers from around the world have contributed to the framework. Who knows, maybe you’ll even become a Laravel contributor.
Настройка веб-сервера
После установки и настройки Laravel нужно обязательно указать встроенную во фреймворк папку в качестве корневого каталога веб-сервера. К этой общедоступной папке будут идти все входящие обращения из Сети. Обрабатывать входящие HTTP-запросы будет расположенный в public файл фронт-контроллер .
Настройка веб-адресов
В установленном Laravel по умолчанию присутствует файл . Он используется для того, чтобы URL-адреса отображались без указания фронт-контроллера . Если Laravel установлен на веб-сервере Apache, для этого следует активировать модуль . Тогда веб-сервер будет учитывать опции файла.
Возможно, включенный в Laravel файл не сможет заработать на установленном сервере. Тогда решить проблему может созданный аналогичный файл со следующим кодом:
Nginx
Пользователям Nginx потребуется добавить еще одну директиву в конфигурации сайта. Она направит все запросы на фронт-контроллер :
Installation
If you aren’t quite ready to manage your own server configuration or aren’t comfortable configuring all of the various services needed to run a robust Laravel application, Laravel Forge is a wonderful alternative.
Laravel Forge can create servers on various infrastructure providers such as DigitalOcean, Linode, AWS, and more. In addition, Forge installs and manages all of the tools needed to build robust Laravel applications, such as Nginx, MySQL, Redis, Memcached, Beanstalk, and more.
Note
Want a full guide to deploying with Laravel Forge? Check out the Laravel Bootcamp and the Forge video series available on Laracasts.
Laravel Vapor
Чтобы запустить на веб-сервере Laravel, в Ubuntu необходимо удовлетворить ряд зависимостей. Все необходимые для работы компоненты имеются в наличии на виртуальной машине Laravel Homestead. Поэтому разработчики рекомендуют использовать именно ее для запуска на локальной машине.
В Ubuntu эти зависимости можно установить при помощи команды в терминале:
sudo apt install php php-mysql php-mbstring php-tokenizer php-xml php-json php-common

Об успешной установке будут свидетельствовать следующие строки в терминале:

Установка через Composer
Чтобы работать с Laravel потребуется предварительно установить Composer, поскольку фреймворк управляет с его помощью своими зависимостями:
sudo apt install composer

После установки появится сообщение об автоматической настройке следующих пакетов:

Теперь можно переходить непосредственно к установке фреймворка. Сначала необходимо загрузить его установщик через Composer:
composer global require laravel/installer

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

Далее, обязательно нужно поместить общесистемный каталог от Composer в свой каталог . Это позволит Ubuntu распознать исполняемый файл Laravel.
Этот каталог расположен в разных местах, в зависимости от дистрибутива. В Ubuntu он располагается по следующему пути:
Пользователи других дистрибутивов могут поискать здесь:
Использование Laravel Installer
Запустить установщик Laravel в Composer можно следующей командой в терминале:
composer global about
После ее выполнения отобразится список, где фреймворк будет расположен в первых рядах.
Далее достаточно ввести команду , после чего свежий фреймворк Laravel будет установлен в заранее указанном каталоге. К примеру, данная команда позволит создать папку под названием , где будут находиться Laravel со всеми установленными зависимостями:
laravel new blog
Запуск фреймворка через Composer Create-Project
В Composer поддерживается возможность установки Laravel через команду :
composer create-project —prefer-dist laravel/laravel blog
Эту команду необходимо выполнять, предварительно перейдя в папку, где будет храниться будущий сайт. Например, на локальном сервере Apache по умолчанию это каталог: .

Работа на локальном сервере
После того, как Laravel установлен, следует убедиться в его работоспособности с помощью скрипта командной строки (Artisan CLI). Для этого надо активировать встроенный в PHP локальный сервер с помощью команды:
php artisan serve
После ее ввода станет доступен локальный сервер по адресу . Перейдя по нему, можно увидеть заставку-приветствие «You have arrived» («Вы прибыли»).

Чтобы увидеть полный список команд для artisan, введите:
php artisan list
Server Requirements
Please ensure, like the configuration below, your web server directs all requests to your application’s public/index.php file. You should never attempt to move the index.php file to your project’s root, as serving the application from the project root will expose many sensitive configuration files to the public Internet:
Your First Laravel Project
Before creating your first Laravel project, you should ensure that your local machine has PHP and Composer installed. If you are developing on macOS, PHP and Composer can be installed within minutes via Laravel Herd. In addition, we recommend installing Node and NPM.
After you have installed PHP and Composer, you may create a new Laravel project via the Composer create-project command:
composer create-project laravel/laravel example-app
Or, you may create new Laravel projects by globally installing the Laravel installer via Composer. Or, if you installed PHP and Composer via Laravel Herd, the Laravel installer is already available to you:
composer global require laravel/installerlaravel new example-app
After the project has been created, start Laravel’s local development server using the Laravel’s Artisan CLI serve command:
Once you have started the Artisan development server, your application will be accessible in your web browser at http://localhost:8000. Next, you’re ready to start taking your next steps into the Laravel ecosystem. Of course, you may also want to configure a database.
Note
If you would like a head start when developing your Laravel application, consider using one of our starter kits. Стартовые наборы Laravel обеспечивают основу аутентификации на бэкенде и внешнем интерфейсе для вашего нового приложения Laravel.
Исходная конфигурация
Все файлы конфигурации для фреймворка Laravel хранятся в каталоге config. Каждый параметр задокументирован, поэтому не стесняйтесь просматривать файлы и знакомиться с доступными вам параметрами.
Laravel почти не требует дополнительной настройки из коробки. Вы можете приступить к разработке! Однако вы можете просмотреть файл config/app.php и его документацию. Он содержит несколько параметров, таких как часовой пояс и локаль, которые вы можете изменить в соответствии с вашим приложением.
Конфигурация на основе среды
Поскольку многие значения параметров конфигурации Laravel могут различаться в зависимости от того, работает ли ваше приложение на вашем локальном компьютере или на производственном веб-сервере, многие важные значения конфигурации определяются с помощью файла .env, который существует в корне вашего приложения. .
Ваш файл .env не должен быть зафиксирован в системе контроля версий вашего приложения, поскольку каждому разработчику/серверу, использующему ваше приложение, может потребоваться своя конфигурация среды. Кроме того, это может представлять угрозу безопасности в случае, если злоумышленник получит доступ к вашему репозиторию системы управления версиями, поскольку любые конфиденциальные учетные данные будут раскрыты.
Базы данных и миграции
Теперь, когда вы создали свое приложение Laravel, вы, вероятно, захотите сохранить некоторые данные в базе данных. По умолчанию файл конфигурации .env вашего приложения указывает, что Laravel будет взаимодействовать с базой данных MySQL и будет обращаться к базе данных по адресу 127.0.0.1. Если вы разрабатываете для macOS и вам нужно установить MySQL, Postgres или Redis локально, вам может быть удобно использовать DBngin.
Если вы не хотите устанавливать MySQL или Postgres на свой локальный компьютер, вы всегда можете использовать базу данных SQLite. S QLite — это небольшой, быстрый, автономный движок базы данных. Для начала создайте базу данных SQLite, создав пустой файл SQLite. Как правило, этот файл находится в каталоге базы данных вашего приложения Laravel:
Затем обновите файл конфигурации .env, чтобы использовать драйвер базы данных sqlite от Laravel. Вы можете удалить другие параметры конфигурации базы данных:
После того, как вы настроили базу данных SQLite, вы можете запустить миграцию базы данных вашего приложения, которая создаст таблицы базы данных вашего приложения:
Конфигурация каталога
Laravel всегда должен обслуживаться из корня «веб-каталога», настроенного для вашего веб-сервера. Вы не должны пытаться обслуживать приложение Laravel из подкаталога «веб-каталога». Попытка сделать это может привести к раскрытию конфиденциальных файлов, присутствующих в вашем приложении.

