Как установить 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.