diff --git a/README.md b/README.md index d273df9..4ff463b 100644 --- a/README.md +++ b/README.md @@ -687,13 +687,10 @@ ________________________________________________________________________________

(СДЕЛАТЬ SNAPSHOT, если не сделали, на HQ-SRV)

-- При помощи трёх дополнительных дисков, размером 1Гб каждый, на HQ-SRV сконфигурируйте дисковый массив уровня 0 -- Имя устройства – md0, конфигурация массива размещается в файле /etc/mdadm.conf -- Обеспечьте автоматическое монтирование в папку /raid0 -- Создайте раздел, отформатируйте раздел, в качестве файловой системы используйте ext4 -- Настройте сервер сетевой файловой системы(nfs), в качестве папки общего доступа выберите /raid0/nfs, доступ для чтения и записи для всей сети в сторону HQ-CLI -- На HQ-CLI настройте автомонтирование в папку /mnt/nfs -- Основные параметры сервера отметьте в отчёте +- При помощи двух подключенных к серверу дополнительных дисков размером 1 Гб сконфигурируйте дисковый массив уровня 0 +- Имя устройства – md0, при необходимости конфигурация массива размещается в файле /etc/mdadm.conf +- Создайте раздел, отформатируйте раздел, в качестве файловой системы используйте ext4 +- Обеспечьте автоматическое монтирование в папку /raid Подготовка дисков @@ -702,10 +699,10 @@ ________________________________________________________________________________ Убедитесь, что дополнительные диски распознаны системой. Список подключенных дисков можно проверить командой:

- +

-Создайте RAID 0 массив из трех 1Гб дисков (предположим, они определены как /dev/sdb, /dev/sdc, и /dev/sdd): +Создайте RAID 0 массив из двух 1Гб дисков (предположим, они определены как /dev/sda, /dev/sdb: Скачаем службу mdadm: @@ -713,129 +710,181 @@ ________________________________________________________________________________

+Зануление суперблоков на дисках, которые будут использоваться для построения RAID-массива: +>mdadm --zero-superblock --force /dev/sda /dev/sdb + +Создание RAID-массива: +где: + +/dev/md0 — устройство RAID, которое появится после сборки; +-l 0 — уровень RAID; +-n 2 — количество дисков, из которых собирается массив; +/dev/sd{b,c} — сборка выполняется из дисков sdb, sdc и sdd. + +> mdadm --create --verbose /dev/md0 -l 0 -n 2 /dev/sda /dev/sdb + +Результат: +

- +

Проверяем:

- +

-Проверьте статус RAID массива: +Сохраняем конфигурацию массива в файле /etc/mdadm.conf: + +>mdadm --detail --scan --verbose | tee -a /etc/mdadm.conf + +Результат:

- +

-Сохраните конфигурацию массива в файл /etc/mdadm.conf: +Создание файловой системы для массива -

- -

+>mkfs.ext4 /dev/md0 -1. Создание файловой системы и настройка монтирования - -Создайте раздел и отформатируйте его в ext4: +Результат:

-Создайте точку монтирования и настройте автоматическое монтирование в /etc/fstab: +Чтобы данный раздел также монтировался при загрузке системы, добавляем в fstab + +>nano /etc/fstab + +следующую информацию:

- +

-Смонтируйте файловую систему: +Выполняем монтирование: + +>mount -av + +Результат:

- +

-**Больше не перезагружай hq-srv(появиться ошибка с raid’ом)** +Проверяем: -2. Настройка NFS-сервера на HQ-SRV +>df -h -Установите NFS-сервер (если он еще не установлен): +Результат:

- +

-Создайте директорию для общего доступа: +###

3. Настройте сервер сетевой файловой системы (nfs) на HQ-SRV

+ +- В качестве папки общего доступа выберите /raid/nfs, доступ для чтения и записи исключительно для сети в сторону HQ-CLI +- На HQ-CLI настройте автомонтирование в папку /mnt/nfs + - Основные параметры сервера отметьте в отчёте + +

*HQ-SRV*

+ +Устанавливаем пакеты для NFS сервера: + +>apt-get install -y nfs-server cifs-utils + +Создаём директорию для общего доступа /raid/nfs, куда ранее был смонтирован RAID - массив: + +>mkdir /raid0/nfs + +Назначаем права на созданную директорию (полный доступ): + +>chmod 777 /raid0/nfs + +Редактируем файл /etc/exports: + +>nano /etc/exports + +Добавляем туда следующую информацию, где: +/raid/nfs - общий ресурс +192.168.200.0/24 - клиентская сеть, которой разрешено монтирования общего ресурса +rw — разрешены чтение и запись +no_root_squash — отключение ограничения прав root

- +

-Настройте права доступа для общей папки: +Экспортируем файловую систему, указанную выше в /etc/exports: + +> exportfs -arv + +Результат: +exportfs с флагом -a, означающим экспортировать или отменить экспорт всех каталогов +-r означает повторный экспорт всех каталогов, синхронизируя /var/lib/nfs/etab с /etc/exports и файлами в /etc/exports.d +а флаг -v включает подробный вывод:

- +

-Настройте экспорт NFS для всей сети с разрешением на чтение и запись. -Откройте файл /etc/exports и добавьте строку: - -

- -

- -Примените изменения в конфигурации NFS: - -

- -

- -Перезапустите NFS-сервер: - -

- -

- -> **ПРИМЕЧАНИЕ** -> Основные параметры сервера отметьте в отчёте - -3. Настройка автомонтирования на HQ-CLI (под ALT Workstation) - -**(СДЕЛАТЬ SNAPSHOT НА HQ-CLI)** +Запускаем и добавляем в автозагрузку NFS - сервер: +>systemctl enable --now nfs-server

*HQ-CLI*

-Создайте точку монтирования: +Выполняем установку пакетов для NFS - клиента: + +>apt-get update && apt-get install -y nfs-utils nfs-clients + +Создадим директорию для монтирования общего ресурса: + +>mkdir /mnt/nfs + +Задаём права на созданную директорию: + +>chmod 777 /mnt/nfs + +Настраиваем автомонтирование общего ресурса через fstab: + +>nano /etc/fstab + +Добавляем следующую информацию: +где: 192.168.100.2 - адрес файлового сервера (HQ-SRV)

- +

-Настройте автомонтирование в /etc/fstab, откройте этот файл и добавьте следующую строку: +Выполняем монтирование общего ресурса: + +>mount -av + +Результат:

- +

-Смонтируйте папку вручную (или перезагрузите систему для применения настроек): +Проверяем: + +>df -h + +Результат:

- +

-Проверка подключения NFS на HQ-CLI: - -

- -

- - - -###

3. Настройте службу сетевого времени на базе сервиса chrony

+###

4. Настройте службу сетевого времени на базе сервиса chrony

- В качестве сервера выступает ISP - На ISP настройте сервер chrony, выберите стратум 5 @@ -892,7 +941,7 @@ ________________________________________________________________________________ > На HQ-CLI /etc/chrony.conf

- +

> где: 172.16.1.1 - IPv4 адрес ISP; @@ -924,7 +973,7 @@ BR-RTR | BR-SRV | CLI: Настройка аналогична HQ-SRV - за и > НА HQ-SRV скачиваем: apt install -y git > НА HQ-RTR скачиваем: apt install nginx -y -###

4. Сконфигурируйте ansible на сервере BR-SRV

+###

5. Сконфигурируйте ansible на сервере BR-SRV

(СДЕЛАЙ SNAPSHOT НА BR-SRV)

@@ -1001,10 +1050,10 @@ ________________________________________________________________________________

- +

-> Димка забыл прописать порт 3015 в /etc/ssh/sshd_config на HQ-SRV, так что прописываем за него и перезагружаем службу systemctl restart sshd +> Дмитрий Игоревич забыл прописать порт 2026 в /etc/ssh/sshd_config на HQ-SRV и BR-SRV, так что прописываем за него и перезагружаем службу systemctl restart sshd

@@ -1022,7 +1071,7 @@ ________________________________________________________________________________

-###

5. Развертывание приложений в Docker на сервере BR-SRV.

+###

6. Развертывание приложений в Docker на сервере BR-SRV.

-• Средствами docker должен создаваться стек контейнеров с веб приложением и базой данных @@ -1079,40 +1128,54 @@ P@ssw0rd, порт приложения 8080, при необходимости

+- Скачиваем curl + +

+ +

- Скачиваем файл compose.yaml и помещаем его в корневую директорию: -https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/compose.yaml - - - -###

6. На маршрутизаторах сконфигурируйте статическую трансляцию портов

- -- Пробросьте порт 80 в порт 8080 на BR-SRV на маршрутизаторе BR-RTR, для обеспечения работы сервиса wiki -- Пробросьте порт 80 в порт 80 на HQ-SRV на маршрутизаторе HQ-RTR, для обеспечения работы сервиса moodle -- Пробросьте порт 3015 в порт 3015 на BR-SRV на маршрутизаторе BR-RTR -- Пробросьте порт 3015 в порт 3015 на HQ-SRV на маршрутизаторе HQ-RTR - -

*BR-RTR*

+>curl -o ~/compose.yaml https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/compose.yaml

- +

-

*HQ-RTR*

+- Запустить набор контейнеров с веб приложением и базой данных:

- +

-###

7. Запустите сервис moodle на сервере HQ-SRV

+- Проверяем набор контейнеров с веб приложением и базой данных: -- Используйте веб-сервер apache -- В качестве системы управления базами данных используйте mariadb -- Создайте базу данных moodledb -- Создайте пользователя moodle с паролем P@ssw0rd и предоставьте ему права доступа к этой базе данных -- У пользователя admin в системе обучения задайте пароль P@ssw0rd -- На главной странице должен отражаться номер рабочего места в виде арабской цифры, других подписей делать не надо -- Основные параметры отметьте в отчёт +

+ +

+ +- Проверяем доступ до веб приложения с браузера: + +

+ +

+ +###

7. Разверните веб приложениена сервере HQ-SRV:

+ +- Используйте веб-сервер apache +- В качестве системы управления базами данных используйте mariadb +- Файлы веб приложения и дамп базы данных находятся в директории web +образа Additional.iso +- Выполните импорт схемы и данных из файла dump.sql в базу данных +webdb +66 +- Создайте пользователя webс паролем P@ssw0rd и предоставьте ему +права доступа к этой базе данных +- Файлы index.php и директорию images скопируйте в каталог веб сервера +apache +- В файле index.php укажите правильные учётные данные для +подключения к БД +- Запустите веб сервер и убедитесь в работоспособности приложения +- Основные параметры отметьте в отчёте

*HQ-SRV*

@@ -1120,15 +1183,15 @@ https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/compose.yaml Устанавливаем веб-сервер Apache2 и необходимые пакеты: -apt install -y apache* -y +>apt install -y apache* -y Устанавливаем PHP и необходимые модули: -apt install -y php php8.2 php-curl php-zip php-xml libapache2-mod-php php-mysql php-mbstring php-gd php-intl php-soap -y +>apt install -y php php8.2 php-curl php-zip php-xml libapache2-mod-php php-mysql php-mbstring php-gd php-intl php-soap -y Установка СУБД MySQL: -apt install -y mariadb-* -y +> apt install -y mariadb-* -y > Ранее в "рекомендациях" должно было быть скачено Включаем и добавляем в автозагрузку MySQL: @@ -1136,206 +1199,138 @@ apt install -y mariadb-* -y ***systemctl enable --now mariadb*** ***systemctl enable --now apache2*** -Подключаемся к MySQL, создаём базу данных и пользователя: -имя базы даных - " moodledb "; -имя пользователя - "moodle", пароль "P@ssw0rd"; +Выполнить монтирование Additional.iso в директорию /mnt: -Вводим следующие команды: - -- mysql -- CREATE DATABASE moodledb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; -- CREATE USER 'moodle'@'localhost' IDENTIFIED BY 'P@ssw0rd'; -- GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER ON moodledb.* TO 'moodle'@'localhost'; -- EXIT; - -______________________________________________________________________________________ - -Если вдруг в веб при вводе параметров базы данных будет вылазить ошибка – *данной базы данных не существует, данному пользователю не даны права на создание базы данных*, то удаляем их и создаем заново: - -***>DROP DATABASE moodledb;*** -***>DROP USER 'moodle'@'localhost';*** - -______________________________________________________________________________________ - -Устанавливаем git, чтобы можно было скачать проект Moodle: -> Ранее в "рекомендациях" должно было быть скачено - -***apt install -y git*** - -Загружаем код проекта Moodle: - -***git clone git://git.moodle.org/moodle.git*** -> Ранее в "рекомендациях" должно было быть скачено - -Переходим в загруженный каталог moodle: - -***cd moodle*** - -Извлекаем список каждой доступной ветви: - -***git branch -a*** +> mount /dev/sr0 /mnt/

- +

+Произвести копирование файлов веб приложения index.php и logo.png в директорию /var/www/html: -Сообщаем git, какую ветку отслеживать или использовать: +>cp /mnt/web/index.php /var/www/html -***git branch --track MOODLE_403_STABLE origin/MOODLE_403_STABLE*** +>cp /mnt/web/logo.png /var/www/html -проверяем: +В файле /var/www/html/index.php указать правильные учётные данные для подключения к БД: -***git checkout MOODLE_403_STABLE*** +> nano /var/www/html/index.php

- +

-Копируем локальный репозиторий в /var/www/html/: +Перейти в интерфейс управления MariaDB: -***cd ..*** -***cp -R moodle /var/www/html*** +>mariadb –u root -Создаём необходимую структуру каталагов для корректной установки и работы Moodle: +Создать базу данных с именем webdb: -***mkdir /var/moodledata*** -***chown -R www-data /var/moodledata*** -***chmod -R 777 /var/moodledata*** -***chmod -R 0755 /var/www/html/moodle*** -***chown -R www-data:www-data /var/www/html/moodle*** +>CREATE DATABASE webdb; + +Создать пользователя webc с паролем P@ssw0rd: + +>CREATE USER ‘webc’@’localhost’ IDENTIFIED BY ‘P@ssw0rd’; + +Назначить пользователю webc полные права на базу данных webdb, после чего выйти из интерфейса управления MariaDB: + +>GRANT ALL PRIVILEGES ON webdb.* TO ‘webc’@’localhost’ WITH GRANT OPTION; +EXIT; + +Изменить кодировку файла

- +

-Описываем конфигурационный файл для веб-сервера Apache: +Выполнить импорт схемы и данных из файла dump.sql в базу данных webdb: -***nano /etc/apache2/sites-available/moodle.conf*** +>mariadb –u webc –p –D webdb < ~/dump.sql + +Проверить:

- +

-> где: -> - ServerName - основное имя домена -> - ServerAlias - дополнительное имя, по которому будет доступен сайт -> - DocumentRoot - путь до проекта для этого домена -> - AllowOverride All - когда сервер находит .htaccess файл (как определено AccessFileName) ему необходимо знать какие директивы, объявленные в том файле могут отменять ранее утановленную информацию доступа. Эта директива может быть установлена в None, т.е. чтобы сервер не читал файл .htaccess. Если она установленна в All - сервер будет допускать все директивы .htaccess файла. -> - Options -Indexes +FollowSymLinks - означает, что если каталог является символьной ссылкой, перейдите по ссылке +Включить и добавить в автозагрузку службу httpd2: -Создаём символьную ссылку из sites-available на sites-enabled: +>systemctl enable --now apache2 +>systemctl restart apache2 -***ln -s /etc/apache2/sites-available/moodle.conf /etc/sites-enabled*** - -Проверяем синтаксис файла виртуального хоста: ***apachectl configtest*** +Проверяем доступ до веб приложения с браузера:

- +

-Правим количество входных переменных, которые могут быть приняты в одном запросе, для работы Moodle - необходимо 5000, а значение в php.ini по умолчанию 1000: +###

8. На маршрутизаторах сконфигурируйте статическую трансляцию портов

+ +- Пробросьте порт 8080 в порт приложения testapp BR-SRV на маршрутизаторе BR-RTR, для обеспечения работы приложения testapp извне +- Пробросьте порт 8080 в порт веб приложения на HQ-SRV на маршрутизаторе HQ-RTR, для обеспечения работы веб приложения извне +- Пробросьте порт 2026 на маршрутизаторе HQ-RTR в порт 2026 сервера HQ-SRV, для подключения к серверу по протоколу ssh из внешних сетей +- Пробросьте порт 2026 на маршрутизаторе BR-RTR в порт 2026 сервера BR-SRV, для подключения к серверу по протоколу ssh из внешних сетей. + +

*BR-RTR*

- +

-Проверяем: - -***nano /etc/php/8.2/apache2/php.ini*** - -

- -

- -Перезагружаем apache: - -***systemctl restart apache2*** - -

*HQ-CLI*

- -После можно переходить в браузер для установки Moodle по http:///install.php - -1. Перед тем как зайти на сайт в hq-cli в файле /etc/hosts прописываем следующее: - -***192.168.100.2 moodle.au-team.irpo moodle*** - -2. Открываем firefox переходим на *http://moodle.au-team.irpo/moodle* -- выбираем Язык - нажимаем "Далее": - -

- -

- -3. Подтверждаем пути - правим Каталог данных (в соответствии с созданной ранее директорией - /var/moodledata) - нажимаем "Далее": - -

- -

- -4. Выбираем драйвер баз данных MariaDB - нажимаем "Далее": - -

- -

- -5. Заполняем параметры ранее созданной Базы данных - "пользователя БД, пароль и порт": - -***СЕРВЕР БАЗ ДАННЫХ (ХОСТ) localhost*** -***НАЗВАНИЕ БАЗЫ ДАННЫХ moodledb*** -***ПОЛЬЗОВАТЕЛЬ БАЗЫ ДАННЫХ moodle*** -***ПАРОЛЬ P@ssw0rd*** - -6. нажимаем - "Продолжить": - -

- -

- -7. Нажимаем - "Продолжить": не обращаем внимание на то, что у нас не настроен https - -

- -

- -> **РЕКОМЕНДАЦИЯ:** -> пока идет долгая установка делаем nginx на hq-rtr, он идет сразу после moodle - -8. заполняем необходимые сведения и нажимаем - "Обновить профиль": - -

- -

- -

- -

- -9. Заполняем необходимые сведения и нажимаем - "Сохранить изменения": - -

- -

- -

- -

- -###

8. Настройте веб-сервер nginx как обратный прокси-сервер на HQ-RTR

- -- При обращении к HQ-RTR по доменному имени moodle.au-team.irpo клиента должно перенаправлять на HQ-SRV на стандартный порт, на сервис moodle -- При обращении к HQ-RTR по доменному имени wiki. au-team.irpo клиента должно перенаправлять на BR-SRV на порт, на сервис mediwiki -

*HQ-RTR*

-1. Установите Nginx +

+ +

-***apt install nginx -y*** +###

9. Настройте веб-сервер nginx как обратный прокси-сервер на HQ-RTR

-2. Запустите и активируйте Nginx: +- При обращении по доменному имени web.au-team.irpo у клиента должно открываться веб приложение на HQ-SRV +- При обращении по доменному имени docker.au-team.irpo клиента должно открываться веб приложение testapp. + +

*ISP*

+ +Установить пакет nginx: + +>apt-get install -y nginx + +Запустите и активируйте Nginx: ***systemctl start nginx*** ***systemctl enable nginx*** +Настройка Nginx как обратного прокси + +Создадим конфигурационный файл для сайта в Nginx, в котором настроим виртуальные хосты. Добавьте конфигурацию для проксирования запросов в файл reverse-proxy.conf: + +- Скачиваем файл с github в необходимую директорию: + +***apt install dos2unix -y*** + +***apt install curl -y*** + +***curl -o /etc/nginx/sites-available/reverse-proxy.conf https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/reverse-proxy.conf*** + +***dos2unix /etc/nginx/sites-available/reverse-proxy.conf*** + +- Проверяем его наличие: + +

+ +

+ +

+ +

+ +> Сохраните файл и закройте редактор. + +Настроить nginx как реверсивный прокси сервер, приведя файл /etc/nginx/sites-available.d/ + +default.conf к следующему виду: + +vim /etc/nginx/sites-available.d/default.conf + 3. Настройка Nginx как обратного прокси Создадим конфигурационный файл для сайта в Nginx, в котором настроим виртуальные хосты. Добавьте конфигурацию для проксирования запросов в файл reverse-proxy.conf: diff --git a/files/hosts.file b/files/hosts.file index 78f1aeb..a204d5b 100644 --- a/files/hosts.file +++ b/files/hosts.file @@ -1,5 +1,5 @@ [hq] -HQ-SRV ansible_host=sshuser@hq-srv.au-team.irpo ansible_port=3015 +HQ-SRV ansible_host=sshuser@hq-srv.au-team.irpo ansible_port=2026 HQ-CLI ansible_host=hq-cli.au-team.irpo HQ-RTR ansible_host=hq-rtr.au-team.irpo diff --git a/files/reverse-proxy.conf b/files/reverse-proxy.conf index c5b8855..44db6b9 100644 --- a/files/reverse-proxy.conf +++ b/files/reverse-proxy.conf @@ -1,26 +1,27 @@ -#proxy moodle.au-team.irpo -server { - listen 80; - server_name moodle.au-team.irpo; - location / { - proxy_pass http://moodle.au-team.irpo; +server { + listen 80; + server_name web.au-team.irpo; + + + location / { + proxy_pass http://172.16.1.2:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwrded-for $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; + } } -} -#proxy wiki.au-team.irpo + server { - listen 8080; - server_name wiki.au-team.irpo; - - location / { - proxy_pass http://wiki.au-team.irpo; + listen 80; + server_name docker.au-team.irpo; + + + location / { + proxy_pass http://172.16.2.2:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwrded-for $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + set_header X-Forwarded-Proto $scheme; } -} diff --git a/images/module1/dnsmasq.png b/images/module1/dnsmasq.png new file mode 100644 index 0000000..7977122 Binary files /dev/null and b/images/module1/dnsmasq.png differ diff --git a/images/module2/chrony cli.png b/images/module2/chrony cli.png new file mode 100644 index 0000000..a6b3608 Binary files /dev/null and b/images/module2/chrony cli.png differ diff --git a/images/module2/compose ps.png b/images/module2/compose ps.png new file mode 100644 index 0000000..7a8a01f Binary files /dev/null and b/images/module2/compose ps.png differ diff --git a/images/module2/compose.yaml.png b/images/module2/compose.yaml.png new file mode 100644 index 0000000..0e1f701 Binary files /dev/null and b/images/module2/compose.yaml.png differ diff --git a/images/module2/copy id.png b/images/module2/copy id.png new file mode 100644 index 0000000..8406dd0 Binary files /dev/null and b/images/module2/copy id.png differ diff --git a/images/module2/df -h cli.png b/images/module2/df -h cli.png new file mode 100644 index 0000000..9f8dc80 Binary files /dev/null and b/images/module2/df -h cli.png differ diff --git a/images/module2/df -h.png b/images/module2/df -h.png new file mode 100644 index 0000000..fa26f9f Binary files /dev/null and b/images/module2/df -h.png differ diff --git a/images/module2/disk.png b/images/module2/disk.png new file mode 100644 index 0000000..cfa663e Binary files /dev/null and b/images/module2/disk.png differ diff --git a/images/module2/docker-compose.png b/images/module2/docker-compose.png new file mode 100644 index 0000000..c6cb93c Binary files /dev/null and b/images/module2/docker-compose.png differ diff --git a/images/module2/dump.sql.png b/images/module2/dump.sql.png new file mode 100644 index 0000000..b648364 Binary files /dev/null and b/images/module2/dump.sql.png differ diff --git a/images/module2/export.png b/images/module2/export.png new file mode 100644 index 0000000..47f6368 Binary files /dev/null and b/images/module2/export.png differ diff --git a/images/module2/exports.png b/images/module2/exports.png new file mode 100644 index 0000000..9921c9f Binary files /dev/null and b/images/module2/exports.png differ diff --git a/images/module2/fstab cli.png b/images/module2/fstab cli.png new file mode 100644 index 0000000..1ff61e2 Binary files /dev/null and b/images/module2/fstab cli.png differ diff --git a/images/module2/fstab.png b/images/module2/fstab.png new file mode 100644 index 0000000..4aa126b Binary files /dev/null and b/images/module2/fstab.png differ diff --git a/images/module2/index.php.png b/images/module2/index.php.png new file mode 100644 index 0000000..e7480ab Binary files /dev/null and b/images/module2/index.php.png differ diff --git a/images/module2/install curl br-srv.png b/images/module2/install curl br-srv.png new file mode 100644 index 0000000..c4bffda Binary files /dev/null and b/images/module2/install curl br-srv.png differ diff --git a/images/module2/lsblk.png b/images/module2/lsblk.png new file mode 100644 index 0000000..535fc4e Binary files /dev/null and b/images/module2/lsblk.png differ diff --git a/images/module2/maria.png b/images/module2/maria.png new file mode 100644 index 0000000..aee124b Binary files /dev/null and b/images/module2/maria.png differ diff --git a/images/module2/mdadm.png b/images/module2/mdadm.png new file mode 100644 index 0000000..e10f141 Binary files /dev/null and b/images/module2/mdadm.png differ diff --git a/images/module2/mount -av.png b/images/module2/mount -av.png new file mode 100644 index 0000000..f4a5aa0 Binary files /dev/null and b/images/module2/mount -av.png differ diff --git a/images/module2/mount.png b/images/module2/mount.png new file mode 100644 index 0000000..816ca4a Binary files /dev/null and b/images/module2/mount.png differ diff --git a/images/module2/nftables BR-rtr.png b/images/module2/nftables BR-rtr.png new file mode 100644 index 0000000..68d18f9 Binary files /dev/null and b/images/module2/nftables BR-rtr.png differ diff --git a/images/module2/nftables HQ-rtr.png b/images/module2/nftables HQ-rtr.png new file mode 100644 index 0000000..f210ef9 Binary files /dev/null and b/images/module2/nftables HQ-rtr.png differ diff --git a/images/module2/save mdadm conf.png b/images/module2/save mdadm conf.png new file mode 100644 index 0000000..45517f0 Binary files /dev/null and b/images/module2/save mdadm conf.png differ diff --git a/images/module2/site.png b/images/module2/site.png new file mode 100644 index 0000000..722d579 Binary files /dev/null and b/images/module2/site.png differ diff --git a/images/module2/web-apa.png b/images/module2/web-apa.png new file mode 100644 index 0000000..5d0e077 Binary files /dev/null and b/images/module2/web-apa.png differ