Git Product home page Git Product logo

39-tp-national-team-qualification-linux-jul-2020's Introduction

N|Solid

Описание

В вашем распоряжение имеется 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

  • Установите на 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

  • Ваше приложение должно быть доступно по адресу https://app.comp##.mod-a.skillscloud.company. Поскольку приложение может работать только по протоколу http - вам потребует реверс-прокси сервер (какой вам больше нравится)
  • Сконфигурируйте редирект с кодом 301 http -> https
  • Обеспечьте передачу заголовка Host к приложению
  • Используйте публичный сертификат Let's Encrypt для https

39-tp-national-team-qualification-linux-jul-2020's People

Contributors

menus12 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.