Laravel — это бесплатный PHP-фреймворк веб-приложений с открытым исходным кодом, используемый для веб-разработки. Он следует архитектурному шаблону Model-View-Controller (MVC) и предоставляет элегантный синтаксис и инструменты для таких задач, как маршрутизация, шаблонизация, аутентификация и многое другое. Laravel стремится сделать задачи веб-разработки более приятными и эффективными, предоставляя чистый и выразительный синтаксис, а также набор соглашений и инструментов для общих задач.

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

В этом руководстве мы покажем вам, как установить Laravel на ОС Debian 12 с веб-сервером Nginx и сервером базы данных MariaDB.

Шаг 1: Обновите операционную систему

Первый шаг — убедиться, что ваша система обновлена. Это можно сделать, выполнив следующую команду:

# apt update && apt upgrade

Также установите необходимые пакеты.

# apt install sudo nano wget unzip zip

Шаг 2: Установка веб-сервера Nginx

Чтобы установить веб-сервер Nginx, выполните следующую команду:

# apt install nginx

Вы можете запустить службу Nginx и настроить ее на запуск при загрузке, введя следующие команды:

# systemctl start nginx
# systemctl enable nginx

Проверьте статус службы Nginx с помощью статус systemctl команда:

# systemctl status nginx

Шаг 3: Установка PHP и расширений PHP

Чтобы установить PHP и дополнительные модули PHP для поддержки Laravel, выполните следующую команду:

# apt install php php-cli php-common php-json php-gmp php-fpm php-xmlrpc php-bcmath php-imagick php-curl php-zip php-gd php-mysql php-xml php-mbstring php-xmlrpc php-intl

Проверьте, установлен ли PHP.

# php -v
Output:
PHP 8.2.7 (cli) (built: Jun  9 2023 19:37:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies

После установки всех пакетов отредактируйте файл php.ini:

# nano /etc/php/8.2/fpm/php.ini

Измените следующие настройки в соответствии с вашими требованиями:

max_execution_time = 300
memory_limit = 512M
post_max_size = 128M
upload_max_filesize = 128M
date.timezone = America/Chicago

Чтобы применить изменения, перезапустите php-fpm услуга:

# systemctl restart php8.2-fpm

Шаг 4: Установите MariaDB и создайте базу данных

Установить MariaDB можно с помощью следующей команды:

# apt install mariadb-server mariadb-client

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

# systemctl start mariadb
# systemctl enable mariadb

После установки сервера базы данных войдите в командную строку MariaDB:

# mysql -u root

Чтобы создать базу данных, пользователя базы данных и предоставить все привилегии пользователю базы данных, выполните следующие команды:

MariaDB [(none)]> CREATE DATABASE laravel_db;
MariaDB [(none)]> CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'Str0ngPa$word';
MariaDB [(none)]> GRANT ALL ON laravel_db.* TO 'laravel_user'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT

Шаг 5: Установка менеджера зависимостей Composer

Чтобы установить Composer, выполните следующие команды:

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer

Убедитесь, что Composer успешно установлен, выполнив следующую команду:

# composer --version
Composer version 2.5.8 2023-06-09 17:13:21

Шаг 6: Установка Laravel

Перейдите к webroot каталог, введите:

# cd /var/www/html

Теперь установите Laravel с помощью команды composer, введите:

# composer create-project laravel/laravel laravelapp

Команда создает новый каталог с именем laravelapp и устанавливает все файлы и каталоги для Laravel.

Измените владельца каталога Laravel на пользователя веб-сервера, а также разрешения:

# chown -R www-data:www-data /var/www/html/laravelapp
# chmod -R 775 /var/www/html/laravelapp/storage

После завершения установки перейдите в каталог установки и проверьте версию Laravel:

# cd laravelapp
# php artisan

Шаг 7: Настройка веб-сервера Nginx для Laravel

Перейдите к /etc/nginx/conf.d каталог и выполните следующую команду для создания файла конфигурации:

# nano /etc/nginx/conf.d/laravel.conf

Добавьте следующий контент:

server {
    listen 80;
    listen [::]:80;
    server_name your-domain.com;
    root /var/www/html/laravelapp/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Сохраните файл и выйдите.

Проверьте синтаксис Nginx:

# /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Чтобы изменения вступили в силу, перезапустите веб-сервер Nginx:

# systemctl restart nginx

Шаг 8: Получите доступ к своему приложению Laravel

Откройте браузер и введите свой домен, например http://your-domain.com

Установить Laravel на Debian 12