Как установить PHP-фреймворк Laravel на Alma Linux 9

Laravel – это фреймворк веб-приложений на базе PHP, который используется для создания корпоративных и надежных веб-приложений полного стека. Он использует архитектуру “модель-вид-контроллер” (MVC) и основан на Symfony. Laravel поддерживает множество баз данных, включая MySQL, PostgreSQL, SQLite и SQL Server. Laravel также предоставляет леса для безопасной аутентификации.

В этом руководстве мы покажем вам, как установить Laravel на сервер Alma Linux 9. Мы проведем вас через установку Laravel с помощью LAMP Stack (Linux, Apache/Httpd, MariaDB и PHP) и Composer.

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

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

  • Сервер Alma Linux 9.
  • Некорневой пользователь с правами администратора.
  • Локальное доменное имя.
  • SELinux с разрешительным режимом.

Установка LAMP Stack и Composer

Laravel – один из самых популярных веб-фреймворков PHP для создания веб-приложений. Чтобы установить Laravel, необходимо установить зависимости, включая стек LAMP (Apache/Httpd, MariaDb и PHP) и Composer. В настоящее время для Laravel требуется PHP 8.3. Вы должны установить PHP 8.3 через сторонний репозиторий.

Сначала добавьте сторонние репозитории EPEL и Remi на ваш сервер Alma Linux с помощью команды ниже. Репозиторий EPEL будет использоваться для установки таких пакетов, как Composer, а репозиторий Remi предоставляет несколько версий PHP для Laravel.

sudo dnf install epel-release dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

добавить репозиторий

Теперь включите репозиторий PHP 8.3 через Remi с помощью следующей команды.

sudo dnf reset php -y
sudo dnf module enable php:remi-8.3 -y

Далее установите пакеты LAMP Stack (Apache/Httpd, MariaDB и PHP) и Composer с помощью следующей команды. Введите y для подтверждения установки.

sudo dnf install httpd mariadb-server composer php php-curl php-bcmath php-json php-mbstring php-xml php-tokenizer php-zip

установить deps

После завершения установки запустите и включите службу httpd с помощью следующей команды.

sudo systemctl start httpd
sudo systemctl enable httpd

Затем запустите и включите сервер MariaDB с помощью следующей команды.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Теперь проверьте версии PHP и Composer с помощью команды ниже. Вы должны увидеть, что PHP 8.3 и Composer 2.7.1 установлены.

php -v
sudo -u apache composer -v

проверить php и composer

Наконец, выполните приведенную ниже команду для проверки модулей PHP. Убедитесь, что модули fileinfo, mbstring и openssl включены.

php -m

Настройка MariaDB

Настроив PHP, вы защитите сервер MariaDB и создадите новую базу данных и пользователя для Laravel. Сервер MariaDB предоставляет утилиту MariaDB-secure-installation для защиты сервера MariaDB и клиент MariaDB для подключения к серверу MariaDB через командную строку.

Чтобы защитить сервер MariaDB, выполните приведенную ниже команду, и вам будет предложено ввести некоторые конфигурации сервера MariaDB. Введите Y или N, чтобы согласиться или не согласиться с применением новых изменений MariaDB.

sudo mariadb-secure-installation

Ниже приведены некоторые из конфигураций сервера MariaDB, которые вам будет предложено ввести:

  • Переключиться на аутентификацию unix_socket? Введите n и нажмите ENTER. По умолчанию корневой пользователь MariaDB уже защищен. По желанию вы можете включить его, введя y для yes.
  • Изменить пароль корневого пользователя? Введите y для подтверждения и установите новый пароль корневого пользователя MariaDB.
  • Удалить анонимного пользователя? Введите y для подтверждения.
  • Запретить удаленный вход root? Введите y для подтверждения. Будет разрешено только локальное подключение, если вы используете пользователя MariaDB root.
  • Удалить тестовую базу данных и доступ к ней? Введите y, чтобы подтвердить и удалить базу данных по умолчанию ‘test’.
  • Наконец, введите y еще раз, чтобы перезагрузить все привилегии таблиц на вашем сервере MariaDB и применить новые изменения.

После того как MariaDB будет защищена, вы создадите новую базу данных и пользователя для Laravel с помощью клиента mariadb.

Войдите на сервер MariaDB с помощью команды mariadb client, приведенной ниже. Введите пароль корня MariaDB, когда появится запрос.

sudo mariadb -u root -p

Теперь выполните следующие запросы, чтобы создать новую базу данных и пользователя для Laravel. В этом примере вы создадите новую базу данных laravelapp, пользователя laravel с паролем p4ssw0rd. Откорректируйте данные базы данных и пользователя, указанные ниже, в соответствии с вашими данными.

CREATE DATABASE laravelapp;
CREATE USER laravel@localhost IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON laravelapp.* TO laravel@localhost;
FLUSH PRIVILEGES;

создать базу данных

Далее выполните приведенный ниже запрос для проверки привилегий пользователя laravel. Убедитесь, что пользователь laravel может получить доступ к базе данных laravelapp.

SHOW PRIVILEGES FOR laravel@localhost;

Наконец, введите quit, чтобы выйти из сервера MariaDB.

показать привилегии

Создание проекта Laravel

Итак, теперь вы настроили PHP и MariaDB, давайте загрузим и установим Laravel в вашу систему. Вы создадите и настроите директорию проекта, затем загрузите и установите проект Laravel через Composer.

Создайте новую директорию для проекта Laravel /var/www/laravelapp и дополнительные директории .cache и .config для хранения кэша и конфигурации Composer. Затем измените права собственности на эти каталоги на пользователя apache.

mkdir -p /var/www/laravelapp /usr/share/httpd/.composer/{.cache,.config}
sudo chown -R apache:apache /var/www/laravelapp /usr/share/httpd/.composer

Перейдите в каталог /var/www/laravelapp и выполните приведенную ниже команду composer для загрузки и установки Laravel.

cd /var/www/laravelapp/
sudo -u apache composer create-project laravel/laravel .

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

установить Laravel

После загрузки Laravel откройте файл .env с помощью следующей команды редактора nano.

nano .env

Измените APP_URL на имя вашего локального домена, затем измените данные базы данных на информацию о базе данных MariaDB.

APP_URL=http://dev.hwdomain.local
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelapp
DB_USERNAME=laravel
DB_PASSWORD=password

После завершения сохраните файл и выйдите.

Теперь выполните приведенную ниже команду, чтобы перенести базу данных и заполнить таблицы новыми данными образца.

sudo -u apache php artisan migrate
sudo -u apache php artisan db:seed

мигрировать базу данных

Настройка виртуального хоста Httpd

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

Создайте новую конфигурацию виртуального хоста httpd /etc/httpd/conf.d/laravel.conf с помощью следующей команды редактора nano.

sudo nano /etc/httpd/conf.d/laravel.conf

Вставьте следующую конфигурацию и не забудьте изменить параметр ServerName на имя домена Laravel.

ServerAdmin [email protected]
ServerName dev.hwdomain.local
DocumentRoot /var/www/laravelapp/public

Options FollowSymLinks
AllowOverride None

AllowOverride All

ErrorLog /var/log/httpd/laravel-error.log
CustomLog /var/log/httpd/laravel-access.log combined

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

Теперь выполните приведенную ниже команду, чтобы проверить конфигурацию httpd. Если у вас правильный синтаксис httpd, вы должны получить сообщение Syntax OK.

sudo apachectl configtest

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

sudo systemctl restart httpd

настройка vhost

Настройка Firewalld

Прежде чем получить доступ к вашей установке Laravel, необходимо открыть в системе порты HTTP и HTTPS, что можно сделать с помощью Firewalld.

Откройте HTTP- и HTTPS-трафик для вашего сервера Alma Linux с помощью команды ниже.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent

Теперь перезагрузите firewalld, чтобы применить изменения.

sudo firewall-cmd --reload

Наконец, проверьте правила списка firewalld с помощью следующей команды. Вы увидите, что в firewalld добавлены службы HTTP и HTTPS.

sudo firewall-cmd --list-all

настройка firewalld

Доступ к Laravel с локального компьютера

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

  • Для пользователей Windows измените файл C:\Windows\System32\drivers\etc\hosts с правами администратора.
  • Для пользователей Linux и Mac откройте файл /etc/hosts с правами root.

Вставьте приведенную ниже конфигурацию и не забудьте изменить IP-адрес и доменное имя на свои данные.

192.168.5.60 dev.hwdomain.local

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

Теперь откройте веб-браузер и перейдите на страницу установки Laravel http://dev.hwdomain.local/. Если установка прошла успешно, у вас должна появиться следующая индексная страница Laravel.

laravel

Заключение

Поздравляем! Вы завершили установку Laravel на Alma Linux 9 с помощью стека LAMP (Linux, Apache/Httpd, MariaDB и PHP) и Composer. Вы также настроили firewalld для открытия портов HTTP и HTTPS, а также настроили локальное доменное имя для разработки Laravel через файл /etc/hosts или C:\Windows\System32\drivers\etc\hosts.

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

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