DemoBlobDemo MUDAL 2 - LaTTer-122/Dem GitHub Wiki
!!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
Устанавливается - Ребутаемо
samba-tool domain info 127.0.0.1
Как видим че то не так, надо перезапустить машинку
!!ATTENTION!! сделайте снэпшот на всякий слусай !!ATTENTION!!
hostnamectl set-hostname hq-cli.au-team.irpo
apt-get update && apt-get install -y task-auth-ad-sssd
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
CREATE GROUP
Терминал >> su
%hq ALL=(ALL) NOPASSWD: /bin/cat, /bin/grep, /usr/bin/id
Выполните импорт пользователей из файла users.csv. Файл будет располагаться на виртуальной машине BR-SRV в папке /opt
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
Добавляем 3 диска scsi по 1 ГБ.
Результат должен быть подобным.
Ребутаем машину и вписываем lsblk для проверки вставших дисков.
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 завершена. Теперь необходимо знать следующее
При его перезагрузке или неправильной настройке RAID, диски ломаются и вместо md0 появляется md127. Если это произошло, вот команда, которая все фиксит
update-initramfs –u
Переходим в терминал >> su
mkdir -p /mnt/nfs
nano /etc/fstab
mount -a
Lets check
!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!
apt install -y chrony
nano /etc/chrony/chrony.conf
systemctl enable --now chrony
systemctl restart chronyd
apt install -y chrony
nano /etc/chrony/chrony.conf
systemctl enable --now chrony
systemctl restart chronyd
Переходим в терминал >> su
apt-get install -y chrony
nano /etc/chrony.conf
systemct restart chronyd
Можно проверить работоспособность chrony командой chronyc clients. (хз почему br-rtr определяется как адрес туннеля)
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
проверяем
BR-SRV
nano /etc/ssh/sshd_config
systemctl restart sshd
Подобным образом можно поменять конфиг на HQ-SRV и тоже можно будет заходить и на нее. НО не забываем поменять все обратно перед настройкой Ansible и когда будешь заканчивать все демо.
HQ-CLI Пароли от всех машин -- toor По этой команде можно заходить на машины BR-SRV и HQ-SRV
На HQ-RTR и BR-RTR ничего не надо менять и всегда можно заходить по команде ниже
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
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 все как было
Перекидываем файл с 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
Результат должен быть таким
Заходим в Мозиле на следующий сайт
http://wiki.au-team.irpo:8080/
Жмакаем на войти
Входим по данным: имя учетной записи – admin пароль – WikiP@ssw0rd
Успех ли?
Если нет то Хоспаде куда я жмав
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
}
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
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
}
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
!!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
Заходим по ссылке
http://moodle.au-team.irpo/moodle
Выбираем язык
Заполняем таким образом
Родная (Хто?)
Заполняем так
!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!
Продолжаем
Все хорошо, продолжаем
После этого идет довольно долгая установка. По итогу, жмем продолжить
В конце нужно обновить информацию в профиле. Снизу одна страница разделена на 2 скриншота.
!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!
Далее настраиваем главную страницу, также одну страницу разделил на 2 скриншота. И жмакаем сохранить изменения
APACHE_EBACHE HOTOVO EbACH!
8. NGINX (Боже кто это придумал название? ассоциация только c GINGER с перепутанными 1й и 3й буквами)
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
LT (Я вот реально не понимаю зачем устанавливать это говнище, когда есть хз, опера, или УЖЕ установленная Mozilla)
Терминал >> su apt-get install -y yandex-browser-stable
Готово! 2й Модуль Пройден фееричным установкой говна в виде Установки Яндекса!
!!ATTENTION!! нужно отобразите информацию об этом в отчете !!ATTENTION!!
ЕСЛИ ты прошел 2й модуль, то во-первых, я пздц тебе завидую, а во-вторых сделай такие правки чтобы был более правильный прохрюк
nano /etc/ssh/sshd_config
Меняем все в конфиге, как должно быть
systemctl restart sshd
Терминал >> su
nano /etc/openssh/sshd_config
systemctl restart sshd
Ну и проверяем весь ssh с помощь ansible
ansible all -m ping
После такого ТЫК должно быть все так
Если что-то не зеленое, на тех машинах где красное проверяем конфиг ssh, а также конфиг ansible на br-srv и получили ли машины ключи
Теперь точно все, Спасибо Сан-Саныч за сегодняшний день, потраченного времени конечно, жаль..