В этом руководстве вы установите стек LEMP на сервер с CentOS 8. Хотя MySQL доступен в используемых по умолчанию репозиториях в CentOS 8, в этом руководстве мы рассмотрим процесс настройки стека LEMP с MariaDB в качестве системы управления базами данных.
Более подробную версию этого обучающего руководства с подробным описанием каждого шага см. в статье Установка стека Linux, Nginx, MySQL, PHP (LEMP) в CentOS 8.
Для выполнения этого руководства вам потребуется доступ к серверу CentOS 8 с пользователем с правами sudo
.
Установите пакет nginx
с помощью следующей команды:
После завершения установки запустите следующую команду, чтобы активировать и запустить сервер:
Если брандмауэр firewalld
активен, вам потребуется запустить следующую команду, чтобы разрешить внешний доступ к порту 80
(HTTP):
Выполните перезапуск конфигурации брандмауэра, чтобы изменения вступили в силу:
После добавления нового правила брандмауэра вы можете проверить, запущен ли сервер, запросив доступ к публичному IP-адресу или доменному имени сервера из вашего веб-браузера. Страница будет выглядеть следующим образом:
Теперь мы установим MariaDB, разработанную энтузиастами версию оригинального сервера MySQL от Oracle. Для установки данного ПО запустите следующую команду:
После завершения установки активируйте и запустите сервер MariaDB с помощью следующей команды:
Чтобы повысить уровень безопасности вашего сервера базы данных, рекомендуется запустить скрипт безопасности, который устанавливается в комплекте с MariaDB. Запустите интерактивный скрипт с помощью следующей команды:
В первом диалоге вам нужно будет ввести пароль пользователя root для текущей базы данных. Поскольку вы только что установили MariaDB и еще не меняли параметры конфигурации, пароль будет пустым, так что вам достаточно нажать ENTER
в этом диалоге.
В следующем диалоге вам будет предложено задать пароль для пользователя root базы данных. Поскольку MariaDB использует специальный метод аутентификации для пользователя root user, который, как правило, отличается большей безопасностью по сравнению с аутентификацией по паролю, вам не нужно настраивать его в данный момент. Введите N
и нажмите ENTER
.
Далее вы можете использовать клавиши Y
и ENTER
, чтобы принять ответы по умолчанию для всех последующих вопросов.
Для установки пакетов php-fpm
и php-mysql
воспользуйтесь следующей командой:
После завершения установки вам потребуется изменить файл /etc/php-fpm.d/www.conf
, чтобы задать несколько параметров. Мы установим nano
для упрощения процесса редактирования этих файлов:
Теперь откройте файл конфигурации /etc/php-fpm.d/www.conf
с помощью nano
или другого выбранного вами редактора:
Найдите директивы user
и group
. Если вы используете nano
, вы можете нажать CTRL
+W
для поиска этих терминов в открытом файле. Обязательно измените оба значения с apache
на nginx
:
…
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
…
Сохраните и закройте файл после завершения редактирования.
Чтобы активировать и запустить службу php-fpm
, запустите следующую команду:
Перезапустите веб-сервер Nginx, чтобы он смог использовать файлы конфигурации, созданные при установке php-fpm
:
В CentOS 8 при установке php-fpm
по умолчанию автоматически создаются файлы конфигурации, которые позволят вашему веб-серверу Nginx обрабатывать файлы .php
в корневой директории документов по умолчанию, расположенной в /usr/share/nginx/html
. Вам не потребуется вносить какие-либо изменения в конфигурацию Nginx для обеспечения корректной работы PHP на вашем веб-сервере.
Нам нужно будет только изменить владельца и группу по умолчанию в корневой директории документов Nginx, чтобы вы могли создавать и изменять файлы в этом месте с помощью обычного пользователя без прав root:
Создайте новый файл PHP с именем info.php
в директории /usr/share/nginx/html
:
Следующий код PHP будет отображать информацию о текущей среде PHP, которая запущена на сервере:
Скопируйте это содержимое в ваш файл info.php
и не забудьте сохранить изменения после завершения редактирования.
Теперь мы можем проверить, может ли наш веб-сервер корректно отображать содержимое, созданное скриптом PHP. Перейдите в браузер и вставьте в адресную строку имя хоста вашего сервера или его IP-адрес, добавив /info.php
:
http://server_host_or_IP/info.php
Вы увидите приблизительно следующую страницу:
Ниже представлены ссылки на более подробные материалы, связанные с настоящим обучающим руководством:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!