Формат проведения защиты работы

Работа выполняется заочно и все результаты отправляются в виде архива на почту преподавателю andrey@crafted.su. Тема письма должна быть следующей: Пересдача экзамена UNIX ФАМИЛИЯ.

Загруженные результаты проверяются преподавателем и на их основании выставляется оценка по пересдаче.

Технические требования к реализации

Вы должны предоставить архив, включающий в себя следующие элементы:

  • Скрипт или скрипты на языке Bash, Ruby или Python, решающий поставленную задачу. Bash-скрипты желательно проверить с помощью приложения shellcheck.
  • Архив или каталог с исходными текстами веб-приложения.
  • Файл readme.txt, в котором описывается предназначение каждого из файлов, а также способы их запуска. При отсутствии данного файла работа считается невыполненной.

Все файлы должны быть реализованы студентом самостоятельно.

Задача

Реализуйте систему автоматической установки Ruby-приложения в рамках чистового Debian-окружения. В качестве целевого окружения будем рассматривать Debian 10, Buster. Запуск скрипта будет производиться с привилегиями суперпользователя.

Для разворачивания можно использовать свою лабораторную работу по языку программирования Ruby или воспользоваться скелетом веб-приложения, который можно скачать по ссылке: reprie-1-task.7z.

После выполнения развёртывания должны произойти следущие действия:

  • В системе установлен интерпретатор языка Ruby и все зависимости, которые необходимы для запуска приложения.
  • В системе установлен веб-серве Nginx, настроенный в режиме обратного проксирования динамических запросов к Ruby-приложению.
  • Статические данные Ruby-приложения предоставляются веб-сервеом Nginx напрямую с жёсткого диска.
  • Ruby-приложение запускается под управлением системы инициализации SystemD.