В вашем распоряжение имеется 4 виртуальные машины:
Hostname | Роль | Внешний IP | Внешние порты | OS | Login | Pass |
---|---|---|---|---|---|---|
app | Сервер приложения | + | 80/tcp, 443/tcp | Ubuntu 18.04 | skill39 | 4eEAV4_H!M^a |
dns | Сервер имен | + | 53/tcp, 53/udp | Ubuntu 18.04 | skill39 | 4eEAV4_H!M^a |
db | База данных | - | - | Ubuntu 18.04 | skill39 | 4eEAV4_H!M^a |
cache | Кэш | - | - | Ubuntu 18.04 | skill39 | 4eEAV4_H!M^a |
По мере выполения задания вам потребуется скачать приложение, см. каталог application
данного репозитория.
Более того, вам делегирована зона comp##.mod-a.skillscloud.company
, где ## - ваш индивидуальный номер учатсника, следующим образом:
comp##.mod-a.skillscloud.company NS ns.comp##.mod-a.skillscloud.company
ns.comp##.mod-a.skillscloud.company A <Public IP on server dns>
- Установите на
dns
сервер разрешения имен по своему усмотрению - Добавьте A запись
app
с публичным адресом сервераapp
в качестве значения - Убедитесь, что публиный DNS (1.1.1.1) способен разрешить имя
app.comp##.mod-a.skillscloud.company
- Скачайте дистрибутив приложения на сервер
app
- Ознакомьтесь с файлом
config.yaml
. Не удаляйте параметры из конфига, даже если они вам не нужны!. Однако, вы можете менять значения параметров по мере необходимости - Для функционирования веб приложения не обязательно иметь скофигурированую базу данных и кэш
- Вы можете запустить веб-сервер командой
./server
. Обратите внимание, что файлconfig.yaml
должен присутсвовать в той папке, откуда производится запуск приложения - После запуска, функционирование приложения можно проверить http запросом на указанный в конфиге порт (по умолчанию 8080)
- Возможные проблемы и ошибки будут отображаться в stdout
- Убедитесь, что ваше приложение продолжает работать после завершения ssh сессии
- Установите
mysql
сервер на виртуальной машинеdb
- Создайте базу данных.
- Обеспечне доступность базы данных с сервера
app
- Поправьте конфиг на сервере приложения в соответсвии с настройками базы данных
- Убедитесь на странице
/status
, что приложению база данных доступна
- Установаните
redis
сервер на виртуальной машинеcache
- Обеспечне доступность базы данных с сервера
app
- Поправьте конфиг на сервере приложения в соответсвии с настройками кэша
- Убедитесь на странице
/status
, что приложению кэш доступен
- Ваше приложение должно быть доступно по адресу
https://app.comp##.mod-a.skillscloud.company
. Поскольку приложение может работать только по протоколу http - вам потребует реверс-прокси сервер (какой вам больше нравится) - Сконфигурируйте редирект с кодом 301 http -> https
- Обеспечьте передачу заголовка
Host
к приложению - Используйте публичный сертификат Let's Encrypt для
https