DemoBlobDemo MUDAL 2 - LaTTer-122/Dem GitHub Wiki

1. BR-SRV SAMBU

!!ATTENTION!! сделайте снэпшот на всякий слусай !!ATTENTION!!

apt update && apt install samba* krb5* winbind smbclient

Во время установки будут синие экраны, ввести нужно следующее

изображение

изображение

Скипаем Enter'om

domainname au-team.irpo
rm -f /etc/samba/smb.conf
rm -rf /var/lib/samba/
rm -rf /var/cache/samba/
mkdir -p /var/lib/samba/sysvol
samba-tool domain provision

изображение

Стопается - REBOOT MACHINE,

AGAIN
rm -f /etc/samba/smb.conf
rm -rf /var/lib/samba/
rm -rf /var/cache/samba/
mkdir -p /var/lib/samba/sysvol
samba-tool domain provision

image

Устанавливается - Ребутаемо

samba-tool domain info 127.0.0.1

Как видим че то не так, надо перезапустить машинку

HQ-CLI

!!ATTENTION!! сделайте снэпшот на всякий слусай !!ATTENTION!!

hostnamectl set-hostname hq-cli.au-team.irpo
apt-get update && apt-get install -y task-auth-ad-sssd

image

image

image

image

image

Reboot + log in as

Administrator
P@ssw0rd
apt-get install -y admc
admc

Если при установке или вводе admc возникает ошибка, то пишем следующее:

kinit administrator

и вводим пароль P@ssw0rd

Если admc долго не может запуститься(не выдает ошибок, но не запускается), то внесите изменения в файл /etc/krb5.conf

nano /etc/krb5.conf

изображение

CREATE 5 USERS

image

image

image

CREATE GROUP

image

image

изображение

изображение

изображение

Терминал >> su

%hq ALL=(ALL) NOPASSWD: /bin/cat, /bin/grep, /usr/bin/id

Выполните импорт пользователей из файла users.csv. Файл будет располагаться на виртуальной машине BR-SRV в папке /opt

BR-SRV

apt install -y dos2unix
cd /opt
curl -O https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/import_users.sh
ls /opt
dos2unix ~/import_users

изображение

Проверяем наличие скрипта:

nano /opt/import_users.sh

изображение

chmod +x /opt/import__users.sh
/opt/import_users.sh

2. HQ-SRV RAID_NOSHADOW LEGENDS

Добавляем 3 диска scsi по 1 ГБ.

image

Результат должен быть подобным.

image

Ребутаем машину и вписываем lsblk для проверки вставших дисков.

image

apt update && apt install mdadm

Следующая строка меняется в соответствии от того, как встали диски. То есть, если они встали, как на скриншоте выше, то она выглядит так:

mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd

Далее проверяем командой

lsblk

изображение

Проверяем статус RAID-массива

cat /proc/mdstat

изображение

Сохраняем конфигурацию массива в файл /etc/mdadm.conf

mdadm --detail --scan | tea -a /etc/mdadm.conf

Создайте раздел и отформатируйте его в ext4

Mkfs.ext4 /dev/md0

Создайте точку монтирования и настройте автоматическое монтирование в /etc/fstab

mkdir -p /raid5 {0}
echo “/dev/md0 /raid5 ext4 defaults 0 0” | tee -a /etc/fstab  {0}

Монтируем файловую систему

mount -a

!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!! Если предупреждает о daemon-reload, пишем следующее

systemctl daemon-reload
mount -a 
apt install -y nfs-kernel-server
mkdir –p /raid5/nfs          {0}
chmod 777 /raid5/nfs/        {0}
nano /etc/exports

изображение

изображение

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

exportfs -ra
systemctl restart nfs-kernel-server

На этом настройка RAID на HQ-SRV завершена. Теперь необходимо знать следующее

НЕЛЬЗЯ ПЕРЕЗАГРУЖАТЬ HQ-SRV

При его перезагрузке или неправильной настройке RAID, диски ломаются и вместо md0 появляется md127. Если это произошло, вот команда, которая все фиксит

update-initramfs –u

Настройка автомонтирования на HQ-CLI

Переходим в терминал >> su

mkdir -p /mnt/nfs
nano /etc/fstab

изображение

изображение

mount -a 

Lets check

изображение

!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!

3. ЧМОНЯ! (chrony) HQ-RTR

apt install -y chrony
nano /etc/chrony/chrony.conf

изображение

systemctl enable --now chrony 
systemctl restart chronyd

ЧМОНЯ-2 HQ-SRV BR-SRV BR-RTR

apt install -y chrony
nano /etc/chrony/chrony.conf

изображение

systemctl enable --now chrony 
systemctl restart chronyd

HQ-CLI

Переходим в терминал >> su

apt-get install -y chrony
nano /etc/chrony.conf

изображение

systemct restart chronyd

HQ-RTR

Можно проверить работоспособность chrony командой chronyc clients. (хз почему br-rtr определяется как адрес туннеля)

изображение

4. ANSIBLE

BR-SRV

apt install -y ansible
mkdir -p /etc/ansible
apt install dos2unix -y
cd /etc/ansible
curl -O https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/hosts.file
dos2unix /etc/ansible/hosts.file
nano /etc/ansible/hosts
[hq]
HQ-SRV [email protected] ansible_port=2024
HQ-CLI ansible_host=hq-cli.au-team.irpo 
HQ-RTR ansible_host=hq-rtr.au-team.irpo

[br]
BR-RTR ansible_host=br-rtr.au-team.irpo
ssh-keygen -t rsa -b 2048
ssh-copy-id hq-rtr.au-team.irpo                                                  // пароль toor
ssh-copy-id -p 2024 [email protected]                                  // пароль P@ssw0rd
ssh-copy-id hq-cli.au-team.irpo                                                  // пароль P@ssw0rd  
ssh-copy-id br-rtr.au-team.irpo                                                  // пароль toor

проверяем

изображение

Настройка SSH для возможности вставлять команды с HQ-CLI

BR-SRV

nano /etc/ssh/sshd_config

изображение

systemctl restart sshd

Подобным образом можно поменять конфиг на HQ-SRV и тоже можно будет заходить и на нее. НО не забываем поменять все обратно перед настройкой Ansible и когда будешь заканчивать все демо.

HQ-CLI Пароли от всех машин -- toor По этой команде можно заходить на машины BR-SRV и HQ-SRV

изображение

На HQ-RTR и BR-RTR ничего не надо менять и всегда можно заходить по команде ниже

изображение

5. MEDIA WIKI

BR-SRV

apt install –y docker.io docker.compose
systemctl enable --now docker.service
apt install dos2unix -y
cd ~/
curl -O https://raw.githubusercontent.com/4bobus/laba/main/files/wiki.yml
dos2unix ~/wiki.yml
Проверяем его наличие:
nano ~/wiki.yml

MEDIA-WIKI Boss1

version: '3'
services:
  MediaWiki:
    container_name: wiki
    image: mediawiki
    restart: always
    ports:
      - 8080:80
    links:
      - database
    volumes:
      - images:/var/www/html/images
      # - ./LocalSettings.php:/var/www/html/LocalSettings.php

  database:
    container_name: db
    image: mariadb
    restart: always
    environment:
      MYSQL_DATABASE: mediawiki
      MYSQL_USER: wiki
      MYSQL_PASSWORD: WikiP@ssw0rd
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
    volumes:
      - dbvolume:/var/lib/mariadb

volumes:
  images:
  dbvolume:
    external: true

изображение

apt install -y mariadb-*
docker volume create dbvolume
docker-compose -f wiki.yml up -d 

Результат должен быть таким

изображение

HQ-CLI терминал >> su

nano /etc/hosts
127.0.0.1        localhost.localdomain localhost
::1     localhost6.localdomain localhost6
192.168.200.2    mediawiki.au-team.irpo mediawiki
192.168.200.2    wiki.au-team.irpo wiki
192.168.100.2    moodle.au-team.irpo moodle

изображение

Открываем Fitefox, пишем эту ссылку:

http://mediawiki.au-team.irpo:8080/

изображение

изображение

изображение

Вводим следующие данные. Пароль – WikiP@ssw0rd

изображение

изображение

Далее идет 1 страница, но разделенная на 2 скрина. Пароль – WikiP@ssw0rd . Ну и в конце жмем далее

изображение

изображение

Жмем далее

изображение

изображение

Готово. А также качается файл

изображение

Чтобы посмотреть, куда он качается, заходим в загрузку Мазилы и жмем на папочку. Выйдет примерно это

изображение

Временно обратно меняем порт на 22 и закаменчиваем наши настройки в

/etc/openssh/sshd_config 

изображение

изображение

systemctl restart sshd

После переброса файла(следующий шаг), меняем в ssh все как было

BR-SRV

Перекидываем файл с HQ-CLI на BR-SRV

scp [email protected]:/home/AU-TEAM.IRPO/administrator/Downloads/LocalSettings.php ./

Результат должен выглядеть так

изображение

nano ~/wiki.yml

Расскоменчиваем строку с LocalSettings.php

изображение

Перезапускаем нашу вики

docker-compose -f wiki.yml stop
docker-compose -f wiki.yml up -d 

Результат должен быть таким

изображение

HQ-CLI

Заходим в Мозиле на следующий сайт

http://wiki.au-team.irpo:8080/

Жмакаем на войти

изображение

Входим по данным: имя учетной записи – admin пароль – WikiP@ssw0rd

изображение

Успех ли?

изображение

Если нет то Хоспаде куда я жмав

6. Меняем NFT(ables)

BR-rtr NFT

nano /etc/nftables.conf
chain prerouting {
                type nat hook prerouting priority filter; policy accept
                ip daddr 172.16.5.2 tcp dport 2024 dnat ip to 192.168.200.2:2024
                ip daddr 172.16.5.2 tcp dport 80 dnat ip to 192.168.200.2:8080
        }

{VT}

chain prerouting {
                type nat hook prerouting priority filter; policy accept
                ip daddr 172.16.5.2 tcp dport 3015 dnat ip to 192.168.200.2:3015
                ip daddr 172.16.5.2 tcp dport 80 dnat ip to 192.168.200.2:8086
        }

изображение

systemctl restart nftables

HQ-RTR NFT

nano /etc/nftables.conf
    chain prerouting {
                type nat hook prerouting priority filter; policy accept
                ip daddr 172.16.4.1 tcp dport 2024 dnat ip to 192.168.100.2:2024
        }

{VT}

 chain prerouting {
                type nat hook prerouting priority filter; policy accept
                ip daddr 172.16.4.1 tcp dport 3015 dnat ip to 192.168.100.2:3015
        }

изображение

systemctl restart nftables

7. APACHE-EBACHE

HQ-SRV

!!ATTENTION!! сделайте снэпшот на всякий слусай !!ATTENTION!!

apt update && apt install -y apache*
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
apt install -y mariadb-* -y

Далее необходимо поменять 1000 на 5000 в php.ini . Поскольку, если сделать это позже, то ничего не запуститься.

nano /etc/php/8.2/apache2/php.ini

Долго листаем вниз, ищем слова Muscellaneous и Resource Limits в рамочках. И раскоменчиваем и меняем строку max_input_vars = 1000 на max_input_vars = 5000 Либо в файле жмакаем ctrl+q и пишем max_input_vars = 1000 и умный nano сам все находит.

изображение

Выходим и сохраняемся из файла

systemctl restart apache2

Добавляем в автозагрузку проги:

systemctl enable --now mariadb
systemctl enable --now apache2

Создаем Базу данных: (если ошибетесь хоть где-то в sql, можно сразу же ливать с экзамена) (СОСАТ)

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 moodle.* TO 'moodle'@'localhost';
> EXIT;

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

mysql
>DROP DATABASE moodledb;
>DROP USER 'moodle'@'localhost';

Устанавливаем Git:

apt install -y git
git clone git://git.moodle.org/moodle.git
cd moodle
git branch –a

изображение

git branch --track MOODLE_403_STABLE origin/MOODLE_403_STABLE`

Проверяем эту хрень

git checkout MOODLE_403_STABLE

изображение

Дальше много командочек, в которых легко ошибиться (Если ошиблись ливайте с экза)

cd ..
cp -R moodle /var/www/html/
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

изображение

Пишем конфигурационный файл apach’а

nano /etc/apache2/sites-available/moodle.conf
<VirtualHost *:80>
        ServerName au-team.irpo
        ServerAlias moodle.au-team.irpo
        DocumentRoot /var/www/html/moodle
        <Directory "/var/www/html/moodle">
                AllowOverride All
                Options -Indexes +FollowSymLinks
        </Directory>
</VirtualHost>

(вот бл. если бы не нашли ошибку в коде то был бы пздц)

изображение

!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!
Далее создаем символьную ссылку (НЕ зигольную символику)

ln -s /etc/apache2/sites-available/moodle.conf /etc/apache2/sites-enabled/

Проверяем

apachectl configtest

изображение

HQ-CLI(cker)

Заходим по ссылке

http://moodle.au-team.irpo/moodle

Выбираем язык

изображение

Заполняем таким образом

изображение

Родная (Хто?)

изображение

Заполняем так

изображение

!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!
Продолжаем

изображение

Все хорошо, продолжаем

изображение

После этого идет довольно долгая установка. По итогу, жмем продолжить

изображение

В конце нужно обновить информацию в профиле. Снизу одна страница разделена на 2 скриншота.

!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!

изображение

изображение

Далее настраиваем главную страницу, также одну страницу разделил на 2 скриншота. И жмакаем сохранить изменения

изображение

изображение

APACHE_EBACHE HOTOVO EbACH!

8. NGINX (Боже кто это придумал название? ассоциация только c GINGER с перепутанными 1й и 3й буквами)

HQ-RTR

apt install nginx -y

Запускаем и активируем nginx

systemctl start nginx
systemctl enable nginx

apt install dos2unix -y cd /etc/nginx/sites-available curl -O https://raw.githubusercontent.com/4bobus/laba/refs/heads/main/files/reverse-proxy.conf И проверяем

Создаем и заполняем конфиh

nano /etc/nginx/sites-available/reverse-proxy.conf
#proxy moodle.au-team.irpo
server {
        listen 80;
        server_name moodle.au-team.irpo;

        location / {
                proxy_pass http://moodle.au-team.irpo;
                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 wiki.au-team.irpo
server {
        listen 8080;
        server_name wiki.au-team.irpo;

        location / {
                proxy_pass http://wiki.au-team.irpo;
                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;
        }
}

изображение

LT(Башое спасиба напарник что написал все эти конфиги) Опять символьная ссылка

ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/

Проверяем

nginx -t

изображение

Перезагружаем nginx для применения изменений

systemctl reload nginx

9. Яндекс браузер

LT (Я вот реально не понимаю зачем устанавливать это говнище, когда есть хз, опера, или УЖЕ установленная Mozilla)

HQ-CLI

Терминал >> su apt-get install -y yandex-browser-stable

изображение

Готово! 2й Модуль Пройден фееричным установкой говна в виде Установки Яндекса!
!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!

ЕСЛИ ты прошел 2й модуль, то во-первых, я пздц тебе завидую, а во-вторых сделай такие правки чтобы был более правильный прохрюк

(с)Правки(V durku)

HQ-SRV, BR-SRV

nano /etc/ssh/sshd_config

Меняем все в конфиге, как должно быть

изображение

изображение

systemctl restart sshd

HQ-CLI

Терминал >> su

nano /etc/openssh/sshd_config

изображение

изображение

systemctl restart sshd

BR-SRV

Ну и проверяем весь ssh с помощь ansible

ansible all -m ping

После такого ТЫК должно быть все так

изображение

Если что-то не зеленое, на тех машинах где красное проверяем конфиг ssh, а также конфиг ansible на br-srv и получили ли машины ключи

Теперь точно все, Спасибо Сан-Саныч за сегодняшний день, потраченного времени конечно, жаль..

⚠️ **GitHub.com Fallback** ⚠️