distributed-computing/tasks/khalitova-am/lab_1/README.md

162 lines
6.3 KiB
Markdown
Raw Normal View History

2023-09-20 00:14:12 +04:00
# Отчёт по лабораторной работе №1
Выполнила: студентка гр. ИСЭбд-41 Халитова А.М.
## Разворачивание сервиса MediaWiki
Содержимое файла `docker-compose.yml` в папке MediaWiki:
```yaml
version: "3.2"
services: #описание контейнеров
#Контейнер Mysql используется как сервер для запуска
mysql:
image: mysql:5.7.23 #образ контейнера
container_name: mysql
hostname: mysql
2023-09-20 09:38:54 +04:00
volumes: #подключаем каталог с базой данных
2023-09-20 00:14:12 +04:00
- /var/lib/mysql:/var/lib/mysql
2023-09-20 09:38:54 +04:00
env_file: #файл с настройками БД для подключения к серверу
2023-09-20 00:14:12 +04:00
- ./mysql.env
restart: always
#Контейнер Mediawiki используется для запуска самого сервиса
mediawiki:
2023-09-20 09:38:54 +04:00
image: diouxx/mediawiki #образ контейнера
2023-09-20 00:14:12 +04:00
container_name : wiki
hostname: wiki
2023-09-20 09:38:54 +04:00
ports: #указываем по какому порту мы получаем доступ к сервису по адресу http://localhost:8081/
2023-09-20 00:14:12 +04:00
- "8081:80"
2023-09-20 09:38:54 +04:00
volumes: #прописываем каталоги для хранения данных контейнера
2023-09-20 00:14:12 +04:00
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /var/www/html/wiki/:/var/www/html/wiki
- ./data/LocalSettings.php:/var/www/html/LocalSettings.php
restart: always
2023-09-20 08:53:31 +04:00
```
Далее в командной строке разворачиваем сервис командой `docker-compose up`:
2023-09-20 09:40:48 +04:00
![](shots/shot1.png)
2023-09-20 08:53:31 +04:00
Открываем Docker Desktop и проверяем, что контейнер сервера базы данных и MediaWiki созданы и запущены:
2023-09-20 09:42:49 +04:00
![](shots/shot2.png)
2023-09-20 08:53:31 +04:00
Переходим на http://localhost:8081:
2023-09-20 09:42:49 +04:00
![](shots/shot3.png)
2023-09-20 08:53:31 +04:00
Переходим к установке MediaWiki и прописываем указанные нами в файле `mysql.env` значения хоста, имя пользователя и пароль:
2023-09-20 09:42:49 +04:00
![](shots/shot4.png)
![](shots/shot5.png)
![](shots/shot6.png)
2023-09-20 08:53:31 +04:00
Далее заполняем данные страницы вики:
2023-09-20 09:42:49 +04:00
![](shots/shot7.png)
2023-09-20 08:53:31 +04:00
И завершаем установку путем скачивания и открытия файла настроек страницы:
2023-09-20 09:42:49 +04:00
![](shots/shot8.png)
2023-09-20 08:53:31 +04:00
## Разворачивание сервиса Wordpress
2023-09-20 09:12:02 +04:00
Также в файл `docker-compose.yml` в папке Wordpress прописываем следующий код:
```yaml
version: '3.1'
2023-09-20 09:38:54 +04:00
#Задаем контейнеры
2023-09-20 09:12:02 +04:00
services:
2023-09-20 09:38:54 +04:00
#Контейнер Wordpress
2023-09-20 09:12:02 +04:00
wordpress:
2023-09-20 09:38:54 +04:00
image: wordpress #образ
2023-09-20 09:12:02 +04:00
restart: always
2023-09-20 09:38:54 +04:00
ports: #на каком порте запускаем
2023-09-20 09:12:02 +04:00
- 8080:80
2023-09-20 09:38:54 +04:00
environment: #настройки БД вордпресса для подключения к серверу
2023-09-20 09:12:02 +04:00
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
2023-09-20 09:38:54 +04:00
volumes: #каталог хранения файлов сервиса
2023-09-20 09:12:02 +04:00
- wordpress:/var/www/html
2023-09-20 09:38:54 +04:00
db: #Контейнер MySQL
image: mysql:5.7 #образ и его версия
restart: always
environment: #настройки БД для подключения
2023-09-20 09:12:02 +04:00
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
2023-09-20 09:38:54 +04:00
volumes: #каталог хранения данных БД
2023-09-20 09:12:02 +04:00
- db:/var/lib/mysql
volumes:
wordpress:
db:
```
Через командную строку разворачиваем сервис:
2023-09-20 09:42:49 +04:00
![](shots/shot9.png)
2023-09-20 09:12:02 +04:00
В Docker Desktop проверяем, что оба контейнера запущены:
2023-09-20 09:42:49 +04:00
![](shots/shot10.png)
2023-09-20 09:12:02 +04:00
Теперь переходим на http://localhost:8080:
2023-09-20 09:42:49 +04:00
![](shots/shot11.png)
2023-09-20 09:12:02 +04:00
И устанавливаем Wordpress:
2023-09-20 09:42:49 +04:00
![](shots/shot12.png)
2023-09-20 09:12:02 +04:00
Далее осуществляем вход и попадаем на главную страницу, что говорит об успешной установке:
2023-09-20 09:42:49 +04:00
![](shots/shot13.png)
![](shots/shot14.png)
2023-09-20 09:12:02 +04:00
2023-09-20 09:27:12 +04:00
## Разворачивание сервиса Redmine
Содержимое файла `docker-compose.yml` в папке Redmine:
```yaml
version: '3.1'
2023-09-20 09:38:54 +04:00
#Задаем контейнеры
2023-09-20 09:27:12 +04:00
services:
2023-09-20 09:38:54 +04:00
#Контейнер Redmine
2023-09-20 09:27:12 +04:00
redmine:
2023-09-20 09:38:54 +04:00
image: redmine #образ
2023-09-20 09:27:12 +04:00
restart: always
2023-09-20 09:38:54 +04:00
ports: #на какой порт запускать
2023-09-20 09:27:12 +04:00
- 8082:3000
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: example
REDMINE_SECRET_KEY_BASE: supersecretkey
2023-09-20 09:38:54 +04:00
#Контейнер базы данных MySQL
2023-09-20 09:27:12 +04:00
db:
2023-09-20 09:38:54 +04:00
image: mysql:5.7 #образ и версия
2023-09-20 09:27:12 +04:00
restart: always
2023-09-20 09:38:54 +04:00
environment: #название и пароль админа БД
2023-09-20 09:27:12 +04:00
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: redmine
```
Далее в командной строке разворачиваем сервис командой `docker-compose up`:
2023-09-20 09:42:49 +04:00
![](shots/shot15.png)
2023-09-20 09:27:12 +04:00
В Docker Desktop проверяем, что работают все три развернутых сервиса:
2023-09-20 09:42:49 +04:00
![](shots/shot16.png)
2023-09-20 09:27:12 +04:00
Переходим на http://localhost:8082:
2023-09-20 09:42:49 +04:00
![](shots/shot17.png)
2023-09-20 09:27:12 +04:00
Здесь мы можем выполнить вход как администратор или зарегистрироваться как пользователь. Попробуем зарегистрироваться:
2023-09-20 09:42:49 +04:00
![](shots/shot18.png)
2023-09-20 09:27:12 +04:00
Теперь попробуем войти в качестве пользователя:
2023-09-20 09:42:49 +04:00
![](shots/shot19.png)
2023-09-20 09:27:12 +04:00
И получаем ответ, что мы не можем этого сделать без подтверждения учетной записи админом.
Заходим в качестве администратора под логином и паролем admin/admin:
2023-09-20 09:42:49 +04:00
![](shots/shot20.png)
2023-09-20 09:27:12 +04:00
И попадаем в профиль администратора:
2023-09-20 09:42:49 +04:00
![](shots/shot21.png)
2023-09-20 09:27:12 +04:00
И так как мы являемся администратором, то в разделе администрирование/пользователи, мы можем подтвердить созданного нами ранее пользователя:
2023-09-20 09:42:49 +04:00
![](shots/shot22.png)