Это руководство рассказывает об установке комплекса LAMP на сервер с CentOS 8. Хотя MySQL доступен в используемых по умолчанию репозиториях в CentOS 8, в этом руководстве мы рассмотрим процесс настройки комплекта LAMP с MariaDB в качестве системы управления базами данных.
Более подробную версию этого обучающего руководства с подробным описанием каждого шага можно найти в статье Установка комплекта Linux, Apache, MySQL, PHP (LAMP) в CentOS 8.
Для выполнения этого руководства вам потребуется доступ к серверу CentOS 8 с пользователем с правами sudo
.
Установите пакет httpd
с помощью следующей команды:
- sudo dnf install httpd
После завершения установки запустите следующую команду, чтобы активировать и запустить сервер:
- sudo systemctl start httpd
Если брандмауэр firewalld
активен, вам потребуется запустить следующую команду, чтобы разрешить внешний доступ к порту 80
(HTTP):
- sudo firewall-cmd --permanent --add-service=http
Выполните перезапуск конфигурации брандмауэра, чтобы изменения вступили в силу:
- sudo firewall-cmd --reload
После добавления нового правила брандмауэра вы можете проверить, запущен ли сервер, запросив доступ к публичному IP-адресу или доменному имени сервера из вашего веб-браузера. Страница будет выглядеть следующим образом:
Теперь мы установим MariaDB, разработанную энтузиастами версию оригинального сервера MySQL от Oracle. Для установки данного ПО запустите следующую команду:
- sudo dnf install mariadb-server
После завершения установки активируйте и запустите сервер MariaDB с помощью следующей команды:
- sudo systemctl start mariadb
Чтобы повысить уровень безопасности вашего сервера базы данных, рекомендуется запустить скрипт безопасности, который устанавливается в комплекте с MariaDB. Запустите интерактивный скрипт с помощью следующей команды:
- sudo mysql_secure_installation
В первом диалоге вам нужно будет ввести пароль пользователя root для текущей базы данных. Поскольку вы только что установили MariaDB и еще не меняли параметры конфигурации, пароль будет пустым, так что вам достаточно нажать ENTER
в этом диалоге.
В следующем диалоге вам будет предложено задать пароль для пользователя root базы данных. Поскольку MariaDB использует специальный метод аутентификации для пользователя root user, который, как правило, отличается большей безопасностью по сравнению с аутентификацией по паролю, вам не нужно настраивать его в данный момент. Введите N
и нажмите ENTER
.
Далее вы можете использовать клавиши Y
и ENTER
, чтобы принять ответы по умолчанию для всех последующих вопросов.
Для установки пакетов php
и php-mysqlnd
с помощью диспетчера пакетов dnf
выполните команду:
sudo dnf install php php-mysqlnd
После завершения установки выполните перезапуск веб-сервера Apache, чтобы активировать модуль PHP:
sudo systemctl restart httpd
Установка Apache по умолчанию в CentOS 8 создаст корневую директорию по умолчанию в /var/www/html
. Вам не нужно вносить какие-либо изменения в настройки Apache по умолчанию для обеспечения корректной работы PHP на вашем веб-сервере.
Единственное изменение, которое мы будем вносить, — это изменение параметров разрешений по умолчанию в корневой папке документов Apache. Следующая команда изменит владельца корневого документа Apache по умолчанию на пользователя и группу с именем sammy:
- sudo chown -R sammy.sammy /var/www/html/
Теперь мы создадим тестовую страницу PHP, чтобы убедиться, что веб-сервер работает ожидаемым образом. Вначале нужно установить более удобный текстовый редактор nano
, поскольку по умолчанию он не входит в комплект CentOS 8:
- sudo dnf install nano
Создайте новый файл PHP с именем info.php
в директории /var/www/html
:
- nano /var/www/html/info.php
Следующий код PHP будет отображать информацию о текущей среде PHP, которая запущена на сервере:
<?php
phpinfo();
После завершения редактирования сохраните и закройте файл.
Чтобы подтвердить возможность отображения веб-сервером контента, сгенерированного скриптом 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!