Установите Laravel на Ubuntu с Apache или Nginx

Laravel это популярный PHP-фреймворк, известный своим элегантным синтаксисом и мощными возможностями. В этом руководстве мы проведем вас через процесс установки Laravel на Ubuntu 18.04/20.04/22.04 и Debian, используя Apache и Nginx в качестве веб-серверов. Мы предоставим пошаговые инструкции, чтобы обеспечить беспроблемную установку. Давайте начнем!

Предварительные условия

Прежде чем мы начнем, убедитесь, что у вас есть следующие необходимые условия:

  1. Сервер Ubuntu 20.04/22.04 с учетной записью пользователя без права рута с привилегиями sudo.
  2. Веб-сервер Apache или Nginx, установленный и правильно настроенный на вашем сервере Ubuntu.
  3. PHP установлен на вашем сервере Ubuntu.
  4. Composer установлен на вашем сервере Ubuntu.

Шаг 1: Обновление системных пакетов

Сначала обновим системные пакеты, чтобы убедиться, что у нас самые последние версии. Откройте терминал и выполните следующую команду:

$ sudo apt update
$ sudo apt upgrade

Шаг 2: Установка PHP и необходимых расширений

Laravel требует PHP и некоторые специфические расширения. Мы установим PHP и необходимые расширения с помощью следующих команд:

$ sudo apt install php php-cli php-common php-mbstring php-xml php-zip php-mysql php-pgsql php-sqlite3 php-json php-bcmath php-gd php-tokenizer php-xmlwriter

После завершения установки проверьте версию PHP, выполнив команду:

$ php -v

Шаг 3: Установите Composer

Composer — это инструмент управления зависимостями для PHP. Мы будем использовать Composer для установки Laravel и его зависимостей. Выполните следующие команды для глобальной установки Composer:

$ sudo apt install curl php-cli php-mbstring git unzip
$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

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

$ composer --version

Шаг 4: Установите Laravel

Теперь, когда у нас установлен Composer, мы можем использовать его для установки Laravel. Откройте терминал и перейдите в корень документа вашего веб-сервера. Для Apache корень документа обычно находится по адресу /var/www/html, а для Nginx он обычно находится по адресу /var/www.

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

$ composer create-project --prefer-dist laravel/laravel your-project-name

Заменить your-project-name на желаемое название вашего проекта Laravel. Composer выполнит поиск фреймворка Laravel и его зависимостей, что может занять несколько минут.

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

$ cd your-project-name

Шаг 5: Настройте Apache

Если вы используете Apache в качестве веб-сервера, выполните следующие шаги, чтобы настроить его для Laravel.

Создайте новый файл конфигурации Apache для вашего проекта Laravel:

$ sudo nano /etc/apache2/sites-available/your-project-name.conf

Замените your-project-name на реальное название вашего проекта.

Добавьте следующее содержимое в файл конфигурации:

<VirtualHost *:80>
    ServerName your-domain-or-ip
    DocumentRoot /var/www/html/your-project-name/public
    <Directory /var/www/html/your-project-name>
        AllowOverride All
    </Directory>
</VirtualHost>

Заменить your-domain-or-ip на фактическое доменное имя или IP-адрес сервера.

Включите модуль перезаписи Apache:

$ sudo a2enmod rewrite

Включите виртуальный хост:

$ sudo a2ensite your-project-name.conf

Перезапустите Apache, чтобы изменения вступили в силу:

$ sudo systemctl restart apache2

Шаг 6: Настройте Nginx

Если вы используете Nginx в качестве веб-сервера, выполните следующие шаги, чтобы настроить его для Laravel.

Создайте новый блок сервера Nginx для вашего проекта Laravel:

$ sudo nano /etc/nginx/sites-available/your-project-name

Замените your-project-name на реальное название вашего проекта.

Добавьте следующее содержимое в блок сервера:

server {
    listen 80;
    server_name your-domain-or-ip;
    root /var/www/html/your-project-name/public;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}

Заменить your-domain-or-ip на фактическое доменное имя или IP-адрес сервера.

Включите блок сервера Nginx:

$ sudo ln -s /etc/nginx/sites-available/your-project-name /etc/nginx/sites-enabled/

Проверьте конфигурацию Nginx на наличие синтаксических ошибок:

$ sudo nginx -t

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

$ sudo systemctl restart nginx

Шаг 7: Настройте Laravel

Теперь, когда ваш веб-сервер настроен, давайте настроим Laravel.

Скопируйте пример .env файл:

$ cp .env.example .env

Сгенерируйте новый ключ приложения:

$ php artisan key:generate

Установите соответствующие разрешения на каталоги Laravel:

$ sudo chown -R www-data:www-data /var/www/html/your-project-name/storage
$ sudo chmod -R 775 /var/www/html/your-project-name/storage

Вы готовы к использованию Laravel! Зайдите в приложение Laravel в веб-браузере по адресу вашего доменного имени или IP-адресу сервера.

Important:
The .env file in Laravel contains sensitive configuration information, including database credentials and API keys. Securing this file is crucial to protect your application from unauthorized access and security breaches. To enhance security, you can move the .env file outside the document root, restrict file permissions, disable directory browsing, encrypt sensitive information, and avoid storing production credentials in version control. Implementing these measures helps protect your application's sensitive data and maintain its security. Regularly reviewing and updating security practices is important to stay proactive against potential threats.

Заключение

Поздравляем! Вы успешно установили Laravel на Ubuntu 20.04/22.04, используя Apache и Nginx в качестве веб-серверов. Теперь вы можете приступить к созданию мощных веб-приложений с помощью фреймворка Laravel. Наслаждайтесь кодированием с помощью Laravel!

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

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