Поиск по сайту:

Как установить Laravel PHP Framework с Nginx в Ubuntu 20.04


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

В этой статье вы узнаете, как установить Laravel PHP Framework на сервер Ubuntu 20.04, работающий на веб-сервере Nginx.

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

  • Как установить стек LEMP с помощью PhpMyAdmin в Ubuntu 20.04

Шаг 1. Установка необходимых модулей PHP

После настройки стека LEMP на сервере Ubuntu 20.04, как описано в руководстве по ссылке выше, вам необходимо установить дополнительные расширения PHP, необходимые для Laravel, следующим образом:

sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer

Шаг 2. Создание базы данных для Laravel

Далее вам необходимо создать базу данных MySQL для вашего приложения Laravel. Итак, войдите в свою оболочку mysql и создайте базу данных следующим образом.

sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

Шаг 3. Установка Composer в Ubuntu 20.04

Laravel использует composer (менеджер зависимостей для PHP) для управления своими зависимостями. Поэтому, прежде чем использовать Laravel, убедитесь, что в вашей системе установлен Composer, как показано.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

Шаг 4. Установка Laravel в Ubuntu 20.04

После установки composer используйте его для установки файлов Laravel. Перейдите в каталог /var/www/html, где хранятся веб-файлы, затем установите Laravel с помощью композитора, как показано. Не забудьте заменить example.com именем каталога, в котором будут храниться файлы Laravel.

cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com

Шаг 5. Настройка Laravel в Ubuntu 20.04

Чтобы просмотреть содержимое новой установки Laravel, выполните следующую команду ls. Вы заметите, что автоматически создается файл .env, который раньше приходилось создавать вручную.

ls -la /var/www/html/example.com/

Затем установите соответствующие разрешения для каталога Laravel следующим образом.

sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/

Далее Laravel использует ключ приложения для защиты пользовательских сеансов и других зашифрованных данных. По умолчанию .env содержит ключ приложения по умолчанию, но в целях безопасности вам необходимо создать новый для вашего развертывания Laravel.

sudo php artisan key:generate

Сгенерированный ключ будет добавлен в файл .env как значение APP_KEY. Вы можете просмотреть добавленный ключ с помощью команды grep.

grep -i APP_Key /var/www/html/example.com/.env

Вам также необходимо настроить данные подключения к базе данных Laravel в .env, как показано на следующем снимке экрана.

sudo nano /var/www/html/example.com/.env

Шаг 6. Настройка NGINX для обслуживания приложения Laravel

Чтобы NGINX обслуживал ваше новое приложение, вам необходимо создать для него серверный блок в конфигурации NGINX в каталоге /etc/nginx/sites-available/.

sudo nano /etc/nginx/sites-available/example.com.conf

В приведенной ниже конфигурации обновите корневую директиву общедоступного каталога приложения Laravel и обязательно замените www.example.com доменным именем вашего веб-сайта, как показано.

Кроме того, установите директиву fastcgi_pass, которая должна указывать на среду, на которой PHP-FPM прослушивает запросы (например, fastcgi_pass unix:/run/php/php7.4 -fpm.sock):

server{
        server_name www.example.com;
        root        /var/www/html/example.com/public;
        index       index.php;

        charset utf-8;
        gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

Сохраните файл, а затем включите конфигурацию сайта Laravel, создав ссылку из /etc/nginx/sites-available/example.com.conf на /etc/nginx/sites-enabled/. каталог. Кроме того, удалите конфигурацию блока сервера по умолчанию.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Затем проверьте правильность синтаксиса конфигурации NGINX, выполнив следующую команду перед перезапуском службы.

sudo nginx -t
sudo systemctl restart nginx

Шаг 7. Доступ к приложению Laravel из веб-браузера

На этом этапе вам необходимо проверить, работает ли ваше развертывание Laravel нормально и доступен ли к нему доступ из браузера. Чтобы использовать фиктивный домен example.com, давайте воспользуемся файлом /etc/hosts на вашем локальном компьютере для создания локального DNS.

Выполните следующие команды, чтобы получить IP-адрес сервера Laravel и добавить его в файл /etc/hosts (замените значение в соответствии с вашими настройками).
$IP-объявление
$echo «192.168.56.11 example.com» | sudo tee -a /etc/hosts

Теперь откройте веб-браузер на локальном компьютере и используйте следующий адрес для навигации.

http://www.example.com/

Теперь, когда у вас установлен Laravel, вы можете приступить к созданию своего веб-приложения или сайта. Для получения дополнительной информации см. документацию Laravel.