Задание №7: Веб-приложение Apache + MariaDB на сервере HQ-SRV
В данном задании на сервере центрального офиса (HQ-SRV) развёртывается классический стек веб-приложений LAMP (Linux, Apache/httpd2, MariaDB, PHP).
Файлы веб-приложения и дамп базы данных импортируются с подключаемого виртуального диска Additional.iso. В СУБД создаётся база данных webdb с пользователем web, настраивается конфигурация подключения в сценарии index.php и запускается служба веб-сервера.
Место выполнения
- Основные действия выполняются под пользователем
rootна сервере HQ-SRV (hq-srv.au-team.irpo). - Проверка веб-интерфейса выполняется с рабочей станции HQ-CLI.
1. Теоретическая справка: стек LAMP в ALT Linux
В дистрибутивах ALT Linux компоненты веб-стека имеют свои особенности именования:
- Веб-сервер: Apache поставляется под именем пакета и службы
httpd2(httpd2.service), а его корневая директория для размещения веб-страниц по умолчанию располагается в/var/www/html/. - СУБД: MariaDB управляется службой
mariadb.serviceи консольным клиентомmariadb. - Метапакет
lamp-server: специальный пакет ALT Linux, который одной командой подтягивает Apache2, PHP со всеми стандартными расширениями (включаяphp-mysqliиphp-pdo) и серверную часть MariaDB.
2. Установка стека LAMP и копирование файлов
Выполняем действия под пользователем root на сервере HQ-SRV:
Шаг 1. Монтирование диска Additional.iso
# Монтируем привод компакт-диска в точку /mnt
mount -o loop /dev/sr0 /mnt/ -v
# Проверяем файлы в директории web
ls -l /mnt/web/В каталоге /mnt/web/ должны находиться файлы: index.php, logo.png и дамп базы данных dump.sql.
Шаг 2. Установка метапакета lamp-server
# Устанавливаем полный стек веб-сервера, PHP и СУБД
apt-get update && apt-get install lamp-server -yШаг 3. Копирование файлов сайта в каталог веб-сервера
Копируем исполняемый PHP-скрипт и графический логотип в корневой каталог веб-сервера /var/www/html:
# Копируем главную страницу приложения
cp /mnt/web/index.php /var/www/html/
# Копируем графические ресурсы
cp /mnt/web/logo.png /var/www/html/3. Настройка СУБД MariaDB и импорт базы данных
Шаг 1. Запуск службы СУБД
# Включаем в автозапуск и сразу запускаем службу MariaDB
systemctl enable --now mariadbШаг 2. Создание базы данных и пользователя
С помощью утилиты mariadb выполняем SQL-команды создания базы данных webdb и пользователя web с паролем P@ssw0rd:
# 1. Создаём базу данных webdb
mariadb -e "CREATE DATABASE webdb;"
# 2. Создаём пользователя web и наделяем его полными правами на созданную базу
mariadb -e "
CREATE USER 'web'@'localhost' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON webdb.* TO 'web'@'localhost';
FLUSH PRIVILEGES;
"Шаг 3. Импорт схемы и данных из дампа dump.sql
Загружаем структуру таблиц и исходные данные из файла dump.sql:
# Импортируем дамп в базу webdb
mariadb webdb < /mnt/web/dump.sql
# Проверяем, что таблицы успешно импортированы
mariadb -e "USE webdb; SHOW TABLES;"Вывод команды должен отобразить список таблиц импортированной базы данных.
4. Конфигурация приложения и запуск веб-сервера
Шаг 1. Редактирование параметров подключения в index.php
Открываем файл приложения /var/www/html/index.php:
nano /var/www/html/index.phpНаходим блок параметров подключения к базе данных и указываем созданные реквизиты:
$servername = "localhost";
$username = "web";
$password = "P@ssw0rd";
$dbname = "webdb";Сохраняем файл (Ctrl + O, Enter, Ctrl + X).
Шаг 2. Запуск и активация веб-сервера Apache
Включаем автозапуск и запускаем службу httpd2:
# Активируем веб-сервер
systemctl enable --now httpd2.service
# Проверяем статус работы службы
systemctl status httpd2.service
# Проверяем, что Apache слушает стандартный HTTP-порт 80
ss -ltnp | grep 805. Проверка работоспособности с рабочей станции HQ-CLI
Переходим на графическую рабочую станцию HQ-CLI, открываем браузер и вводим локальный IP-адрес сервера:
http://192.168.1.10Важное пояснение про домен web.au-team.irpo и авторизацию
По условию задания доступ к сайту в итоговой схеме должен осуществляться по доменному имени web.au-team.irpo с обязательным вводом пароля через окно HTTP-аутентификации.
- Проброс внешних портов на роутере
HQ-RTRнастраивается в Задании №8. - Маршрутизация обратного прокси (Nginx Reverse Proxy) настраивается в Задании №9.
- Защита паролем (Web-based аутентификация в
.htpasswd) настраивается в Задании №10.
На текущем этапе мы проверяем корректность работы PHP и связки с базой данных MariaDB прямым подключением по локальному IP 192.168.1.10.
Что должны увидеть: в браузере корректно загружается веб-страница корпоративного сайта с логотипом logo.png и данными, выгруженными из таблиц базы webdb.
Итог выполнения Задания №7
Веб-сервер httpd2 и СУБД mariadb на сервере HQ-SRV полностью настроены, база данных webdb наполнена, а приложение index.php успешно взаимодействует с базой и отдаёт контент клиентам.
