Tutorial

Установка комплекта Linux, Apache, MariaDB, PHP (LAMP) в CentOS 8 [Краткое руководство]

Published on May 13, 2020
Default avatar

By Erika Heidi

Developer Advocate

Русский
Установка комплекта Linux, Apache, MariaDB, PHP (LAMP) в CentOS 8 [Краткое руководство]

Введение

Это руководство рассказывает об установке комплекса LAMP на сервер с CentOS 8. Хотя MySQL доступен в используемых по умолчанию репозиториях в CentOS 8, в этом руководстве мы рассмотрим процесс настройки комплекта LAMP с MariaDB в качестве системы управления базами данных.

Более подробную версию этого обучающего руководства с подробным описанием каждого шага можно найти в статье Установка комплекта Linux, Apache, MySQL, PHP (LAMP) в CentOS 8.

Предварительные требования

Для выполнения этого руководства вам потребуется доступ к серверу CentOS 8 с пользователем с правами sudo.

Шаг 1 — Установка Apache

Установите пакет httpd с помощью следующей команды:

  1. sudo dnf install httpd

После завершения установки запустите следующую команду, чтобы активировать и запустить сервер:

  1. sudo systemctl start httpd

Если брандмауэр firewalld активен, вам потребуется запустить следующую команду, чтобы разрешить внешний доступ к порту 80 (HTTP):

  1. sudo firewall-cmd --permanent --add-service=http

Выполните перезапуск конфигурации брандмауэра, чтобы изменения вступили в силу:

  1. sudo firewall-cmd --reload

После добавления нового правила брандмауэра вы можете проверить, запущен ли сервер, запросив доступ к публичному IP-адресу или доменному имени сервера из вашего веб-браузера. Страница будет выглядеть следующим образом:

Страница Apache по умолчанию в CentOS 8

Шаг 2 — Установка MariaDB

Теперь мы установим MariaDB, разработанную энтузиастами версию оригинального сервера MySQL от Oracle. Для установки данного ПО запустите следующую команду:

  1. sudo dnf install mariadb-server

После завершения установки активируйте и запустите сервер MariaDB с помощью следующей команды:

  1. sudo systemctl start mariadb

Чтобы повысить уровень безопасности вашего сервера базы данных, рекомендуется запустить скрипт безопасности, который устанавливается в комплекте с MariaDB. Запустите интерактивный скрипт с помощью следующей команды:

  1. sudo mysql_secure_installation

В первом диалоге вам нужно будет ввести пароль пользователя root для текущей базы данных. Поскольку вы только что установили MariaDB и еще не меняли параметры конфигурации, пароль будет пустым, так что вам достаточно нажать ENTER в этом диалоге.

В следующем диалоге вам будет предложено задать пароль для пользователя root базы данных. Поскольку MariaDB использует специальный метод аутентификации для пользователя root user, который, как правило, отличается большей безопасностью по сравнению с аутентификацией по паролю, вам не нужно настраивать его в данный момент. Введите N и нажмите ENTER.

Далее вы можете использовать клавиши Y и ENTER, чтобы принять ответы по умолчанию для всех последующих вопросов.

Шаг 3 — Установка PHP

Для установки пакетов php и php-mysqlnd с помощью диспетчера пакетов dnf выполните команду:

sudo dnf install php php-mysqlnd

После завершения установки выполните перезапуск веб-сервера Apache, чтобы активировать модуль PHP:

sudo systemctl restart httpd

Шаг 4 — Тестирование PHP с помощью Apache

Установка Apache по умолчанию в CentOS 8 создаст корневую директорию по умолчанию в /var/www/html. Вам не нужно вносить какие-либо изменения в настройки Apache по умолчанию для обеспечения корректной работы PHP на вашем веб-сервере.

Единственное изменение, которое мы будем вносить, — это изменение параметров разрешений по умолчанию в корневой папке документов Apache. Следующая команда изменит владельца корневого документа Apache по умолчанию на пользователя и группу с именем sammy:

  1. sudo chown -R sammy.sammy /var/www/html/

Теперь мы создадим тестовую страницу PHP, чтобы убедиться, что веб-сервер работает ожидаемым образом. Вначале нужно установить более удобный текстовый редактор nano, поскольку по умолчанию он не входит в комплект CentOS 8:

  1. sudo dnf install nano

Создайте новый файл PHP с именем info.php в директории /var/www/html:

  1. nano /var/www/html/info.php

Следующий код PHP будет отображать информацию о текущей среде PHP, которая запущена на сервере:

/var/www/html/info.php
<?php

phpinfo();

После завершения редактирования сохраните и закройте файл.

Чтобы подтвердить возможность отображения веб-сервером контента, сгенерированного скриптом PHP, откройте в браузере имя хоста или IP-адрес вашего сервера с суффиксом /info.php:

http://server_host_or_IP/info.php

Вы увидите приблизительно следующую страницу:

Отображаемая по умолчанию страница с данными PHP  Apache в CentOS 8

Другие обучающие руководства

Ниже представлены ссылки на более подробные материалы, связанные с настоящим обучающим руководством:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Developer Advocate

Dev/Ops passionate about open source, PHP, and Linux.

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


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!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel