Этот мануал поможет вам установить все компоненты стека LEMP на сервер CentOS 8. Поскольку сервер использует операционную систему Linux, первый компонент уже установлен. Мануал поможет вам установить остальное.
Хотя пакет MySQL доступен в репозитории CentOS 8, в этом мануале мы установим в стек LAMP систему управления базами данных MariaDB.
Расширенную версию данного мануала вы найдете здесь.
Требования
Для работы вам нужен сервер CentOS 8 с пользователем sudo. Настроить сервер можно согласно этому руководству.
1: Установка Apache и настройка брандмауэра
Установите пакет httpd:
sudo dnf install httpd
После завершения установки введите эту команду, чтобы включить и запустить сервер:
sudo systemctl start httpd
Если ранее вы включили брандмауэр firewalld, нужно разблокировать в нем сервис Apache. Следующая команда откроет порт 80 для HTTP-соединений на постоянной основе:
sudo firewall-cmd --permanent --add-service=http
Перезапустите брандмауэр, чтобы изменения вступили в силу:
sudo firewall-cmd --reload
Добавив новое правило брандмауэра, нужно проверить, работает ли сервер. Попробуйте открыть стандартную посадочную страницу в браузере по доменному имени или IP-адресу сервера.
http://server_domain_or_IP
На экране должна появиться стандартная посадочная страница Apache.
2: Установка MariaDB
MariaDB – это форк MySQL, разработанный сообществом.
Чтобы установить эту программу, введите:
sudo dnf install mariadb-server
Когда установка завершится, включите и запустите сервис MariaDB:
sudo systemctl start mariadb
Чтобы защитить установку MariaDB, можно запустить простой скрипт безопасности, который удалит потенциально рискованные настройки. Инициируйте скрипт:
sudo mysql_secure_installation
Сначала нужно указать root-пароль MariaDB. Это учетная запись администратора MariaDB, которая имеет повышенные привилегии. Вы установили MariaDB только что и еще не внесли никаких изменений, этого пароля пока у вас нет, поэтому просто нажмите Enter.
В следующем окне скрипт предложит настроить root пароль для базы данных. Введите N и нажмите клавишу Enter. Вместо пароля MariaDB использует для root более надежный метод аутентификации, поэтому пароль сейчас можно не устанавливать.
На остальные вопросы можно нажать Y и Enter. Это удалит анонимных пользователей и тестовые базы данных, отключит удалённый root логин и обновит текущие настройки MariaDB.
3: Установка PHP
Кроме PHP вам также понадобится дополнительный пакет php-mysqlnd, модуль, который позволяет PHP взаимодействовать с базами данных на основе MySQL.
Чтобы установить php и php-mysqlnd, используйте dnf:
sudo dnf install php php-mysqlnd
После установки нужно перезапустить Apache, чтобы включить модули PHP.
sudo systemctl restart httpd
Теперь стек полностью установлен. Давайте протестируем его работу.
4: Тестирование PHP
В CentOS 8 стандартная установка Apache автоматически создает корневой каталог /var/www/html. Вам не нужно редактировать конфигурацию Apache, чтобы PHP смог работать корректно.
Единственное изменение, которое нужно внести, – это поменять привилегии на корневой каталог. Следующая команда передаст права на стандартный корневой каталог Apache пользователю и группе по имени 8host (вместо этого условного имени вы должны указать в команде имя своего пользователя и группы).
sudo chown -R 8host.8host /var/www/html/
Давайте убедимся в том, что веб-сервер взаимодействует с PHP. Для этого нужно создать простой сценарий PHP, info.php. По умолчанию в этой системе используется редактор vi, но вы можете установить вместо него более простой редактор nano.
sudo dnf install nano
Создайте файл:
nano /var/www/html/info.php
На экране появится пустой файл. Поместите в него такой код:
<?php
phpinfo();
Сохраните и закройте файл.
Теперь попробуйте открыть его в браузере:
http://server_host_or_IP/info.php
На экране появится веб-страница, содержащая информацию о сервере. Если такая страница появилась, веб-сервер обслуживает файлы PHP.
Важно! После проверки обязательно удалите этот файл, иначе любой пользователь сможет получить доступ к конфиденциальным данным о сервере.
rm /var/www/html/info.php
Заключение
Теперь на сервере CentOS 8 установлен программный стек LAMP – надёжная и гибкая платформа для развёртывания сайта или приложения. На этом этапе можно приступать к дальнейшей настойке сервера.
Читайте также: