1
511
README.md
@@ -687,13 +687,10 @@ ________________________________________________________________________________
|
|||||||
|
|
||||||
<p align="center"><b>(СДЕЛАТЬ SNAPSHOT, если не сделали, на HQ-SRV)</b></p>
|
<p align="center"><b>(СДЕЛАТЬ SNAPSHOT, если не сделали, на HQ-SRV)</b></p>
|
||||||
|
|
||||||
- При помощи трёх дополнительных дисков, размером 1Гб каждый, на HQ-SRV сконфигурируйте дисковый массив уровня 0
|
- При помощи двух подключенных к серверу дополнительных дисков размером 1 Гб сконфигурируйте дисковый массив уровня 0
|
||||||
- Имя устройства – md0, конфигурация массива размещается в файле /etc/mdadm.conf
|
- Имя устройства – md0, при необходимости конфигурация массива размещается в файле /etc/mdadm.conf
|
||||||
- Обеспечьте автоматическое монтирование в папку /raid0
|
|
||||||
- Создайте раздел, отформатируйте раздел, в качестве файловой системы используйте ext4
|
- Создайте раздел, отформатируйте раздел, в качестве файловой системы используйте ext4
|
||||||
- Настройте сервер сетевой файловой системы(nfs), в качестве папки общего доступа выберите /raid0/nfs, доступ для чтения и записи для всей сети в сторону HQ-CLI
|
- Обеспечьте автоматическое монтирование в папку /raid
|
||||||
- На HQ-CLI настройте автомонтирование в папку /mnt/nfs
|
|
||||||
- Основные параметры сервера отметьте в отчёте
|
|
||||||
|
|
||||||
Подготовка дисков
|
Подготовка дисков
|
||||||
|
|
||||||
@@ -702,10 +699,10 @@ ________________________________________________________________________________
|
|||||||
Убедитесь, что дополнительные диски распознаны системой. Список подключенных дисков можно проверить командой:
|
Убедитесь, что дополнительные диски распознаны системой. Список подключенных дисков можно проверить командой:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/17.mdadm.png" width="600" />
|
<img src="images\module2\disk.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Создайте RAID 0 массив из трех 1Гб дисков (предположим, они определены как /dev/sdb, /dev/sdc, и /dev/sdd):
|
Создайте RAID 0 массив из двух 1Гб дисков (предположим, они определены как /dev/sda, /dev/sdb:
|
||||||
|
|
||||||
Скачаем службу mdadm:
|
Скачаем службу mdadm:
|
||||||
|
|
||||||
@@ -713,129 +710,181 @@ ________________________________________________________________________________
|
|||||||
<img src="images/module2/18.png" width="600" />
|
<img src="images/module2/18.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
Зануление суперблоков на дисках, которые будут использоваться для построения 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
|
||||||
|
|
||||||
|
Результат:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/mdadm-1.png" width="600" />
|
<img src="images\module2\mdadm.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Проверяем:
|
Проверяем:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/20.png" width="600" />
|
<img src="images\module2\lsblk.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Проверьте статус RAID массива:
|
Сохраняем конфигурацию массива в файле /etc/mdadm.conf:
|
||||||
|
|
||||||
|
>mdadm --detail --scan --verbose | tee -a /etc/mdadm.conf
|
||||||
|
|
||||||
|
Результат:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/mdadm-2.png" width="600" />
|
<img src="images\module2\save mdadm conf.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Сохраните конфигурацию массива в файл /etc/mdadm.conf:
|
Создание файловой системы для массива
|
||||||
|
|
||||||
<p align="center">
|
>mkfs.ext4 /dev/md0
|
||||||
<img src="picture для варинта 2/mdadm-3.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
1. Создание файловой системы и настройка монтирования
|
Результат:
|
||||||
|
|
||||||
Создайте раздел и отформатируйте его в ext4:
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/mdadm-4.png" width="600" />
|
<img src="picture для варинта 2/mdadm-4.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Создайте точку монтирования и настройте автоматическое монтирование в /etc/fstab:
|
Чтобы данный раздел также монтировался при загрузке системы, добавляем в fstab
|
||||||
|
|
||||||
|
>nano /etc/fstab
|
||||||
|
|
||||||
|
следующую информацию:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/mdadm-5.png" width="600" />
|
<img src="picture для варинта 2/mdadm-5.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/mdadm-6.png" width="600" />
|
<img src="images\module2\fstab.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Смонтируйте файловую систему:
|
Выполняем монтирование:
|
||||||
|
|
||||||
|
>mount -av
|
||||||
|
|
||||||
|
Результат:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/mdadm-7.png" width="600" />
|
<img src="images\module2\mount -av.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
**Больше не перезагружай hq-srv(появиться ошибка с raid’ом)**
|
Проверяем:
|
||||||
|
|
||||||
2. Настройка NFS-сервера на HQ-SRV
|
>df -h
|
||||||
|
|
||||||
Установите NFS-сервер (если он еще не установлен):
|
Результат:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/26.nfs-server.png" width="600" />
|
<img src="images\module2\df -h.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Создайте директорию для общего доступа:
|
### <p align="center"><b>3. Настройте сервер сетевой файловой системы (nfs) на HQ-SRV</b></p>
|
||||||
|
|
||||||
|
- В качестве папки общего доступа выберите /raid/nfs, доступ для чтения и записи исключительно для сети в сторону HQ-CLI
|
||||||
|
- На HQ-CLI настройте автомонтирование в папку /mnt/nfs
|
||||||
|
- Основные параметры сервера отметьте в отчёте
|
||||||
|
|
||||||
|
<p align="center"><b>*HQ-SRV*</b></p>
|
||||||
|
|
||||||
|
Устанавливаем пакеты для 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
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/mdadm-8.png" width="600" />
|
<img src="images\module2\exports.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Настройте права доступа для общей папки:
|
Экспортируем файловую систему, указанную выше в /etc/exports:
|
||||||
|
|
||||||
|
> exportfs -arv
|
||||||
|
|
||||||
|
Результат:
|
||||||
|
exportfs с флагом -a, означающим экспортировать или отменить экспорт всех каталогов
|
||||||
|
-r означает повторный экспорт всех каталогов, синхронизируя /var/lib/nfs/etab с /etc/exports и файлами в /etc/exports.d
|
||||||
|
а флаг -v включает подробный вывод:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/mdadm-9.png" width="600" />
|
<img src="images\module2\export.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Настройте экспорт NFS для всей сети с разрешением на чтение и запись.
|
Запускаем и добавляем в автозагрузку NFS - сервер:
|
||||||
Откройте файл /etc/exports и добавьте строку:
|
>systemctl enable --now nfs-server
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="picture для варинта 2/mdadm-10.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
Примените изменения в конфигурации NFS:
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/30.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
Перезапустите NFS-сервер:
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/31.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
> **ПРИМЕЧАНИЕ**
|
|
||||||
> Основные параметры сервера отметьте в отчёте
|
|
||||||
|
|
||||||
3. Настройка автомонтирования на HQ-CLI (под ALT Workstation)
|
|
||||||
|
|
||||||
**(СДЕЛАТЬ SNAPSHOT НА HQ-CLI)**
|
|
||||||
|
|
||||||
<p align="center"><b>*HQ-CLI*</b></p>
|
<p align="center"><b>*HQ-CLI*</b></p>
|
||||||
|
|
||||||
Создайте точку монтирования:
|
Выполняем установку пакетов для 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)
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/32,cli-automount.png" width="600" />
|
<img src="images\module2\fstab cli.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Настройте автомонтирование в /etc/fstab, откройте этот файл и добавьте следующую строку:
|
Выполняем монтирование общего ресурса:
|
||||||
|
|
||||||
|
>mount -av
|
||||||
|
|
||||||
|
Результат:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/mdadm-11.png" width="600" />
|
<img src="images\module2\mount.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Смонтируйте папку вручную (или перезагрузите систему для применения настроек):
|
Проверяем:
|
||||||
|
|
||||||
|
>df -h
|
||||||
|
|
||||||
|
Результат:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/34.png" width="600" />
|
<img src="images\module2\df -h cli.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Проверка подключения NFS на HQ-CLI:
|
### <p align="center"><b>4. Настройте службу сетевого времени на базе сервиса chrony</b></p>
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="picture для варинта 2/mdadm-12.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### <p align="center"><b>3. Настройте службу сетевого времени на базе сервиса chrony</b></p>
|
|
||||||
|
|
||||||
- В качестве сервера выступает ISP
|
- В качестве сервера выступает ISP
|
||||||
- На ISP настройте сервер chrony, выберите стратум 5
|
- На ISP настройте сервер chrony, выберите стратум 5
|
||||||
@@ -892,7 +941,7 @@ ________________________________________________________________________________
|
|||||||
> На HQ-CLI /etc/chrony.conf
|
> На HQ-CLI /etc/chrony.conf
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/39.png" width="600" />
|
<img src="images\module2\chrony cli.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
> где: 172.16.1.1 - IPv4 адрес ISP;
|
> где: 172.16.1.1 - IPv4 адрес ISP;
|
||||||
@@ -924,7 +973,7 @@ BR-RTR | BR-SRV | CLI: Настройка аналогична HQ-SRV - за и
|
|||||||
> НА HQ-SRV скачиваем: apt install -y git
|
> НА HQ-SRV скачиваем: apt install -y git
|
||||||
> НА HQ-RTR скачиваем: apt install nginx -y
|
> НА HQ-RTR скачиваем: apt install nginx -y
|
||||||
|
|
||||||
### <p align="center"><b>4. Сконфигурируйте ansible на сервере BR-SRV</b></p>
|
### <p align="center"><b>5. Сконфигурируйте ansible на сервере BR-SRV</b></p>
|
||||||
|
|
||||||
<p align="center"><b>(СДЕЛАЙ SNAPSHOT НА BR-SRV)</b></p>
|
<p align="center"><b>(СДЕЛАЙ SNAPSHOT НА BR-SRV)</b></p>
|
||||||
|
|
||||||
@@ -1001,10 +1050,10 @@ ________________________________________________________________________________
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/ansible-hq-srv.png" width="600" />
|
<img src="images\module2\copy id.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
> Димка забыл прописать порт 3015 в /etc/ssh/sshd_config на HQ-SRV, так что прописываем за него и перезагружаем службу systemctl restart sshd
|
> Дмитрий Игоревич забыл прописать порт 2026 в /etc/ssh/sshd_config на HQ-SRV и BR-SRV, так что прописываем за него и перезагружаем службу systemctl restart sshd
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/new-ansible2.png" width="600" />
|
<img src="images/module2/new-ansible2.png" width="600" />
|
||||||
@@ -1022,7 +1071,7 @@ ________________________________________________________________________________
|
|||||||
<img src="images/module2/50.png" width="600" />
|
<img src="images/module2/50.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
### <p align="center"><b>5. Развертывание приложений в Docker на сервере BR-SRV.</b></p>
|
### <p align="center"><b>6. Развертывание приложений в Docker на сервере BR-SRV.</b></p>
|
||||||
|
|
||||||
-• Средствами docker должен создаваться стек контейнеров с веб
|
-• Средствами docker должен создаваться стек контейнеров с веб
|
||||||
приложением и базой данных
|
приложением и базой данных
|
||||||
@@ -1079,40 +1128,54 @@ P@ssw0rd, порт приложения 8080, при необходимости
|
|||||||
<img src="images\module2\image ls.png" width="600" />
|
<img src="images\module2\image ls.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
- Скачиваем curl
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="images\module2\install curl br-srv.png" width="600" />
|
||||||
|
</p>
|
||||||
- Скачиваем файл compose.yaml и помещаем его в корневую директорию:
|
- Скачиваем файл compose.yaml и помещаем его в корневую директорию:
|
||||||
|
|
||||||
https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/compose.yaml
|
>curl -o ~/compose.yaml https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/compose.yaml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### <p align="center"><b>6. На маршрутизаторах сконфигурируйте статическую трансляцию портов</b></p>
|
|
||||||
|
|
||||||
- Пробросьте порт 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
|
|
||||||
|
|
||||||
<p align="center"><b>*BR-RTR*</b></p>
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/translate-br-rtr.png" width="600" />
|
<img src="images\module2\compose.yaml.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center"><b>*HQ-RTR*</b></p>
|
- Запустить набор контейнеров с веб приложением и базой данных:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="picture для варинта 2/translate-hq-rtr.png" width="600" />
|
<img src="images\module2\docker-compose.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
### <p align="center"><b>7. Запустите сервис moodle на сервере HQ-SRV</b></p>
|
- Проверяем набор контейнеров с веб приложением и базой данных:
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="images\module2\compose ps.png" width="600" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
- Проверяем доступ до веб приложения с браузера:
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="images\module2\site.png" width="600" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
### <p align="center"><b>7. Разверните веб приложениена сервере HQ-SRV:</b></p>
|
||||||
|
|
||||||
- Используйте веб-сервер apache
|
- Используйте веб-сервер apache
|
||||||
- В качестве системы управления базами данных используйте mariadb
|
- В качестве системы управления базами данных используйте mariadb
|
||||||
- Создайте базу данных moodledb
|
- Файлы веб приложения и дамп базы данных находятся в директории web
|
||||||
- Создайте пользователя moodle с паролем P@ssw0rd и предоставьте ему права доступа к этой базе данных
|
образа Additional.iso
|
||||||
- У пользователя admin в системе обучения задайте пароль P@ssw0rd
|
- Выполните импорт схемы и данных из файла dump.sql в базу данных
|
||||||
- На главной странице должен отражаться номер рабочего места в виде арабской цифры, других подписей делать не надо
|
webdb
|
||||||
- Основные параметры отметьте в отчёт
|
66
|
||||||
|
- Создайте пользователя webс паролем P@ssw0rd и предоставьте ему
|
||||||
|
права доступа к этой базе данных
|
||||||
|
- Файлы index.php и директорию images скопируйте в каталог веб сервера
|
||||||
|
apache
|
||||||
|
- В файле index.php укажите правильные учётные данные для
|
||||||
|
подключения к БД
|
||||||
|
- Запустите веб сервер и убедитесь в работоспособности приложения
|
||||||
|
- Основные параметры отметьте в отчёте
|
||||||
|
|
||||||
<p align="center"><b>*HQ-SRV*</b></p>
|
<p align="center"><b>*HQ-SRV*</b></p>
|
||||||
|
|
||||||
@@ -1120,15 +1183,15 @@ https://raw.githubusercontent.com/shiraorie/demo2026-1/main/files/compose.yaml
|
|||||||
|
|
||||||
Устанавливаем веб-сервер Apache2 и необходимые пакеты:
|
Устанавливаем веб-сервер Apache2 и необходимые пакеты:
|
||||||
|
|
||||||
apt install -y apache* -y
|
>apt install -y apache* -y
|
||||||
|
|
||||||
Устанавливаем PHP и необходимые модули:
|
Устанавливаем 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:
|
Установка СУБД MySQL:
|
||||||
|
|
||||||
apt install -y mariadb-* -y
|
> apt install -y mariadb-* -y
|
||||||
> Ранее в "рекомендациях" должно было быть скачено
|
> Ранее в "рекомендациях" должно было быть скачено
|
||||||
|
|
||||||
Включаем и добавляем в автозагрузку MySQL:
|
Включаем и добавляем в автозагрузку MySQL:
|
||||||
@@ -1136,206 +1199,138 @@ apt install -y mariadb-* -y
|
|||||||
***systemctl enable --now mariadb***
|
***systemctl enable --now mariadb***
|
||||||
***systemctl enable --now apache2***
|
***systemctl enable --now apache2***
|
||||||
|
|
||||||
Подключаемся к MySQL, создаём базу данных и пользователя:
|
Выполнить монтирование Additional.iso в директорию /mnt:
|
||||||
имя базы даных - " moodledb ";
|
|
||||||
имя пользователя - "moodle", пароль "P@ssw0rd";
|
|
||||||
|
|
||||||
Вводим следующие команды:
|
> mount /dev/sr0 /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***
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/78.moodle.png" width="600" />
|
<img src="images\module2\mount additional.iso.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
Произвести копирование файлов веб приложения 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
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/79.png" width="600" />
|
<img src="images\module2\index.php.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Копируем локальный репозиторий в /var/www/html/:
|
Перейти в интерфейс управления MariaDB:
|
||||||
|
|
||||||
***cd ..***
|
>mariadb –u root
|
||||||
***cp -R moodle /var/www/html***
|
|
||||||
|
|
||||||
Создаём необходимую структуру каталагов для корректной установки и работы Moodle:
|
Создать базу данных с именем webdb:
|
||||||
|
|
||||||
***mkdir /var/moodledata***
|
>CREATE DATABASE webdb;
|
||||||
***chown -R www-data /var/moodledata***
|
|
||||||
***chmod -R 777 /var/moodledata***
|
Создать пользователя webc с паролем P@ssw0rd:
|
||||||
***chmod -R 0755 /var/www/html/moodle***
|
|
||||||
***chown -R www-data:www-data /var/www/html/moodle***
|
>CREATE USER ‘webc’@’localhost’ IDENTIFIED BY ‘P@ssw0rd’;
|
||||||
|
|
||||||
|
Назначить пользователю webc полные права на базу данных webdb, после чего выйти из интерфейса управления MariaDB:
|
||||||
|
|
||||||
|
>GRANT ALL PRIVILEGES ON webdb.* TO ‘webc’@’localhost’ WITH GRANT OPTION;
|
||||||
|
EXIT;
|
||||||
|
|
||||||
|
Изменить кодировку файла
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/moodle_language.jpg" width="600" />
|
<img src="images\module2\dump.sql.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Описываем конфигурационный файл для веб-сервера Apache:
|
Выполнить импорт схемы и данных из файла dump.sql в базу данных webdb:
|
||||||
|
|
||||||
***nano /etc/apache2/sites-available/moodle.conf***
|
>mariadb –u webc –p –D webdb < ~/dump.sql
|
||||||
|
|
||||||
|
Проверить:
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/80.png" width="600" />
|
<img src="images\module2\maria.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
> где:
|
Включить и добавить в автозагрузку службу httpd2:
|
||||||
> - ServerName - основное имя домена
|
|
||||||
> - ServerAlias - дополнительное имя, по которому будет доступен сайт
|
|
||||||
> - DocumentRoot - путь до проекта для этого домена
|
|
||||||
> - AllowOverride All - когда сервер находит .htaccess файл (как определено AccessFileName) ему необходимо знать какие директивы, объявленные в том файле могут отменять ранее утановленную информацию доступа. Эта директива может быть установлена в None, т.е. чтобы сервер не читал файл .htaccess. Если она установленна в All - сервер будет допускать все директивы .htaccess файла.
|
|
||||||
> - Options -Indexes +FollowSymLinks - означает, что если каталог является символьной ссылкой, перейдите по ссылке
|
|
||||||
|
|
||||||
Создаём символьную ссылку из sites-available на sites-enabled:
|
>systemctl enable --now apache2
|
||||||
|
>systemctl restart apache2
|
||||||
|
|
||||||
***ln -s /etc/apache2/sites-available/moodle.conf /etc/sites-enabled***
|
Проверяем доступ до веб приложения с браузера:
|
||||||
|
|
||||||
Проверяем синтаксис файла виртуального хоста: ***apachectl configtest***
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/81.png" width="600" />
|
<img src="images\module2\web-apa.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Правим количество входных переменных, которые могут быть приняты в одном запросе, для работы Moodle - необходимо 5000, а значение в php.ini по умолчанию 1000:
|
### <p align="center"><b>8. На маршрутизаторах сконфигурируйте статическую трансляцию портов</b></p>
|
||||||
|
|
||||||
|
- Пробросьте порт 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 из внешних сетей.
|
||||||
|
|
||||||
|
<p align="center"><b>*BR-RTR*</b></p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="images/module2/82.png" width="600" />
|
<img src="images\module2\nftables BR-rtr.png" width="600" />
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Проверяем:
|
|
||||||
|
|
||||||
***nano /etc/php/8.2/apache2/php.ini***
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/83.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
Перезагружаем apache:
|
|
||||||
|
|
||||||
***systemctl restart apache2***
|
|
||||||
|
|
||||||
<p align="center"><b>*HQ-CLI*</b></p>
|
|
||||||
|
|
||||||
После можно переходить в браузер для установки Moodle по http://<IP | domain-name>/install.php
|
|
||||||
|
|
||||||
1. Перед тем как зайти на сайт в hq-cli в файле /etc/hosts прописываем следующее:
|
|
||||||
|
|
||||||
***192.168.100.2 moodle.au-team.irpo moodle***
|
|
||||||
|
|
||||||
2. Открываем firefox переходим на *http://moodle.au-team.irpo/moodle*
|
|
||||||
- выбираем Язык - нажимаем "Далее":
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/84.web-moodle.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
3. Подтверждаем пути - правим Каталог данных (в соответствии с созданной ранее директорией - /var/moodledata) - нажимаем "Далее":
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/85.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
4. Выбираем драйвер баз данных MariaDB - нажимаем "Далее":
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/86.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
5. Заполняем параметры ранее созданной Базы данных - "пользователя БД, пароль и порт":
|
|
||||||
|
|
||||||
***СЕРВЕР БАЗ ДАННЫХ (ХОСТ) localhost***
|
|
||||||
***НАЗВАНИЕ БАЗЫ ДАННЫХ moodledb***
|
|
||||||
***ПОЛЬЗОВАТЕЛЬ БАЗЫ ДАННЫХ moodle***
|
|
||||||
***ПАРОЛЬ P@ssw0rd***
|
|
||||||
|
|
||||||
6. нажимаем - "Продолжить":
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/87.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
7. Нажимаем - "Продолжить": не обращаем внимание на то, что у нас не настроен https
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/88.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
> **РЕКОМЕНДАЦИЯ:**
|
|
||||||
> пока идет долгая установка делаем nginx на hq-rtr, он идет сразу после moodle
|
|
||||||
|
|
||||||
8. заполняем необходимые сведения и нажимаем - "Обновить профиль":
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/89.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/90.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
9. Заполняем необходимые сведения и нажимаем - "Сохранить изменения":
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/91.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="images/module2/92.png" width="600" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
### <p align="center"><b>8. Настройте веб-сервер nginx как обратный прокси-сервер на HQ-RTR</b></p>
|
|
||||||
|
|
||||||
- При обращении к HQ-RTR по доменному имени moodle.au-team.irpo клиента должно перенаправлять на HQ-SRV на стандартный порт, на сервис moodle
|
|
||||||
- При обращении к HQ-RTR по доменному имени wiki. au-team.irpo клиента должно перенаправлять на BR-SRV на порт, на сервис mediwiki
|
|
||||||
|
|
||||||
<p align="center"><b>*HQ-RTR*</b></p>
|
<p align="center"><b>*HQ-RTR*</b></p>
|
||||||
|
|
||||||
1. Установите Nginx
|
<p align="center">
|
||||||
|
<img src="images\module2\nftables HQ-rtr.png" width="600" />
|
||||||
|
</p>
|
||||||
|
|
||||||
***apt install nginx -y***
|
### <p align="center"><b>9. Настройте веб-сервер nginx как обратный прокси-сервер на HQ-RTR</b></p>
|
||||||
|
|
||||||
2. Запустите и активируйте Nginx:
|
- При обращении по доменному имени web.au-team.irpo у клиента должно открываться веб приложение на HQ-SRV
|
||||||
|
- При обращении по доменному имени docker.au-team.irpo клиента должно открываться веб приложение testapp.
|
||||||
|
|
||||||
|
<p align="center"><b>*ISP*</b></p>
|
||||||
|
|
||||||
|
Установить пакет nginx:
|
||||||
|
|
||||||
|
>apt-get install -y nginx
|
||||||
|
|
||||||
|
Запустите и активируйте Nginx:
|
||||||
|
|
||||||
***systemctl start nginx***
|
***systemctl start nginx***
|
||||||
***systemctl enable 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***
|
||||||
|
|
||||||
|
- Проверяем его наличие:
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="images/module2/93.nginx.png" width="600" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="images/module2/94.png" width="600" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
> Сохраните файл и закройте редактор.
|
||||||
|
|
||||||
|
Настроить nginx как реверсивный прокси сервер, приведя файл /etc/nginx/sites-available.d/
|
||||||
|
|
||||||
|
default.conf к следующему виду:
|
||||||
|
|
||||||
|
vim /etc/nginx/sites-available.d/default.conf
|
||||||
|
|
||||||
3. Настройка Nginx как обратного прокси
|
3. Настройка Nginx как обратного прокси
|
||||||
|
|
||||||
Создадим конфигурационный файл для сайта в Nginx, в котором настроим виртуальные хосты. Добавьте конфигурацию для проксирования запросов в файл reverse-proxy.conf:
|
Создадим конфигурационный файл для сайта в Nginx, в котором настроим виртуальные хосты. Добавьте конфигурацию для проксирования запросов в файл reverse-proxy.conf:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[hq]
|
[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-CLI ansible_host=hq-cli.au-team.irpo
|
||||||
HQ-RTR ansible_host=hq-rtr.au-team.irpo
|
HQ-RTR ansible_host=hq-rtr.au-team.irpo
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +1,27 @@
|
|||||||
#proxy moodle.au-team.irpo
|
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
server_name moodle.au-team.irpo;
|
server_name web.au-team.irpo;
|
||||||
|
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://moodle.au-team.irpo;
|
proxy_pass http://172.16.1.2:8080;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
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_set_header X-Forwarded-Proto $scheme;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#proxy wiki.au-team.irpo
|
|
||||||
server {
|
server {
|
||||||
listen 8080;
|
listen 80;
|
||||||
server_name wiki.au-team.irpo;
|
server_name docker.au-team.irpo;
|
||||||
|
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://wiki.au-team.irpo;
|
proxy_pass http://172.16.2.2:8080;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
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;
|
set_header X-Forwarded-Proto $scheme;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
BIN
images/module1/dnsmasq.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
images/module2/chrony cli.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
images/module2/compose ps.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
images/module2/compose.yaml.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
images/module2/copy id.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
images/module2/df -h cli.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
images/module2/df -h.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
images/module2/disk.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
images/module2/docker-compose.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
images/module2/dump.sql.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
images/module2/export.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
images/module2/exports.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
images/module2/fstab cli.png
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
images/module2/fstab.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
images/module2/index.php.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
images/module2/install curl br-srv.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
images/module2/lsblk.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
images/module2/maria.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
images/module2/mdadm.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
images/module2/mount -av.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
images/module2/mount.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
images/module2/nftables BR-rtr.png
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
images/module2/nftables HQ-rtr.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
images/module2/save mdadm conf.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
images/module2/site.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
images/module2/web-apa.png
Normal file
|
After Width: | Height: | Size: 114 KiB |