Это руководство рассказывает об установке комплекса 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
Вы увидите приблизительно следующую страницу:
Ниже представлены ссылки на более подробные материалы, связанные с настоящим обучающим руководством:
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.
Sign up