Как установить Laravel с Nginx на CentOS 8

Как установить Laravel с Nginx на CentOS 8

 

В этом руководстве мы покажем вам, как установить Laravel с nginx на CentOS 8. Для тех из вас, кто не знал, Laravel — это бесплатная инфраструктура веб-приложений PHP с открытым исходным кодом, созданная Тейлором Отвеллом и предназначенная для разработки веб-приложения, следующие архитектурному шаблону контроллера представления модели (MVC). Это довольно новый фреймворк, но с большим потенциалом стать одним из самых популярных фреймворков PHP.

В этой статье предполагается, что у вас есть хотя бы базовые знания о Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить sudo к командам для получения привилегий root. Я покажу вам пошаговую установку Laravel PHP Framework с nginx на сервере CentOS 8.

Установите Laravel с Nginx на CentOS 8

Шаг 1. Сначала давайте начнем с проверки актуальности вашей системы.

sudo dnf update

Шаг 2. Установите сервер стека LEMP.

Требуется стековый сервер CentOS 8 LEMP. Если у вас не установлен LEMP, вы можете следовать нашему руководству здесь .

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

Компоновщик необходим для установки зависимостей Laravel. Поэтому используйте следующие команды для загрузки и использования в качестве команды в нашей системе:

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

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

composer

Шаг 3. Установка Laravel на CentOS 8.

Установите Laravel, используя следующую команду:

cd /var/www/
composer create-project --prefer-dist laravel/laravel laravel

Нам нужно будет изменить права доступа к некоторым папкам:

sudo chown -R www-data:www-data /var/www/laravel/
sudo chmod -R 755 /var/www/laravel/

Шаг 4. Настройка MariaDB для Laravel.

По умолчанию MariaDB не усилен. Вы можете защитить MariaDB с помощью скрипта mysql_secure_installation. Вы должны внимательно прочитать ниже каждый шаг, который установит пароль root, удалит анонимных пользователей, запретит удаленный вход root, а также удалит тестовую базу данных и доступ к безопасности MariaDB.

mysql_secure_installation

Настройте это так:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Затем нам нужно будет войти в консоль MariaDB и создать базу данных для Laravel. Выполните следующую команду:

mysql -u root -p

Вам будет предложено ввести пароль, поэтому введите пароль root для MariaDB и нажмите Enter. После входа на сервер базы данных вам необходимо создать базу данных для установки Laravel:

mysql> CREATE DATABASE laravel;
mysql> GRANT ALL ON laravel.* to 'laravel'@'localhost' IDENTIFIED BY 'your_strong_password';
mysql> FLUSH PRIVILEGES;
mysql> quit

Теперь откройте файл .env и внесите изменения, как показано ниже:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=your_strong_password

Шаг 5. Настройте Nginx для Laravel.

Сначала создайте корневой каталог для вашего проекта Laravel, набрав следующую команду:

mkdir -p /var/www/laravel

Теперь перейдите в каталог конфигурации Nginx и создайте файл your-domain.com.conf для конфигурации вашего проекта:

cd /etc/nginx/
nano sites-available/laravel.conf

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

server {
         listen 80;
         listen [::]:80 ipv6only=on;
 
         # Log files for Debugging
         access_log /var/log/nginx/laravel-access.log;
         error_log /var/log/nginx/laravel-error.log;
 
         # Webroot Directory for Laravel project
         root /var/www/example.com/public;
         index index.php index.html index.htm;
 
         # Your Domain Name
         server_name example.com;
 
         location / {
                 try_files $uri $uri/ /index.php?$query_string;
         }
 
         # PHP-FPM Configuration Nginx
         location ~ \.php$ {
                 try_files $uri =404;
                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
                 fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                 fastcgi_index index.php;
                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                 include fastcgi_params;
         }
 }

Сохраните и закройте файл. Перезапустите службу Nginx, чтобы изменения вступили в силу:

ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
systemctl restart nginx

Шаг 6. Настройка межсетевого экрана для Laravel.

Создайте правило брандмауэра, чтобы разрешить доступ с внешних машин к Laravel:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Шаг 7. Доступ к Laravel.

По умолчанию Laravel PHP Framework будет доступен через HTTP-порт 80. Откройте свой любимый браузер, перейдите по адресу http://your_domain.com или http: // server-ip-address и выполните необходимые шаги для завершения установки.

Поздравления! Вы успешно установили Laravel . Благодарим за использование этого руководства по установке Laravel PHP Framework в вашей системе CentOS 8. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Laravel .