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