Skip to content

Задание №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 ​

bash
# Монтируем привод компакт-диска в точку /mnt
mount -o loop /dev/sr0 /mnt/ -v

# Проверяем файлы в директории web
ls -l /mnt/web/

В каталоге /mnt/web/ должны находиться файлы: index.php, logo.png и дамп базы данных dump.sql.


Шаг 2. Установка метапакета lamp-server ​

bash
# Устанавливаем полный стек веб-сервера, PHP и СУБД
apt-get update && apt-get install lamp-server -y

Шаг 3. Копирование файлов сайта в каталог веб-сервера ​

Копируем исполняемый PHP-скрипт и графический логотип в корневой каталог веб-сервера /var/www/html:

bash
# Копируем главную страницу приложения
cp /mnt/web/index.php /var/www/html/

# Копируем графические ресурсы
cp /mnt/web/logo.png /var/www/html/

3. Настройка СУБД MariaDB и импорт базы данных ​

Шаг 1. Запуск службы СУБД ​

bash
# Включаем в автозапуск и сразу запускаем службу MariaDB
systemctl enable --now mariadb

Шаг 2. Создание базы данных и пользователя ​

С помощью утилиты mariadb выполняем SQL-команды создания базы данных webdb и пользователя web с паролем P@ssw0rd:

bash
# 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:

bash
# Импортируем дамп в базу webdb
mariadb webdb < /mnt/web/dump.sql

# Проверяем, что таблицы успешно импортированы
mariadb -e "USE webdb; SHOW TABLES;"

Вывод команды должен отобразить список таблиц импортированной базы данных.


4. Конфигурация приложения и запуск веб-сервера ​

Шаг 1. Редактирование параметров подключения в index.php ​

Открываем файл приложения /var/www/html/index.php:

bash
nano /var/www/html/index.php

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

php
$servername = "localhost";
$username = "web";
$password = "P@ssw0rd";
$dbname = "webdb";

Сохраняем файл (Ctrl + O, Enter, Ctrl + X).


Шаг 2. Запуск и активация веб-сервера Apache ​

Включаем автозапуск и запускаем службу httpd2:

bash
# Активируем веб-сервер
systemctl enable --now httpd2.service

# Проверяем статус работы службы
systemctl status httpd2.service

# Проверяем, что Apache слушает стандартный HTTP-порт 80
ss -ltnp | grep 80

5. Проверка работоспособности с рабочей станции HQ-CLI ​

Переходим на графическую рабочую станцию HQ-CLI, открываем браузер и вводим локальный IP-адрес сервера:

text
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 успешно взаимодействует с базой и отдаёт контент клиентам.

Работает на VitePress • Быстрый и удобный движок для документации