Характеристики для реестра ПО

В этой секции:

WP BOX — это программное обеспечение, которое устанавливает серверное ПО на операционную систему на базе Linux через Docker, а поверх этого серверного ПО устанавливает WordPress, а также собственные и сторонние плагины и темы с помощью Composer и других необходимых инструментов удобных для разработки и запуска вебсайтов.

Архитектура ПО

Архитектура WP BOX имеет три слоя, отвечающих за окружение, серверный код и клиентский код создаваемого с помощью WP BOX веб приложения.

1) Окружение

Этот слой отвечает за установку и настройку серверного ПО в контейнерах, на которых в последствии будет работать создаваемое приложение.

Настройка серверного ПО в контейнерах, позволяет запускать WP BOX с одинаковым окружением как при локальной разработке, так и при размещении на боевом сервере, что минимизирует проблемы связанные с разницей в настройках.

WP BOX устанавливает контейнеры для Nginx, PHP, Redis, NodeJS (используется только для разработки), PostFix, CertBot, MariaDB или Postgre по выбору, phpmyadmin или adminer с оптимальными настройками.

2) Серверный код

Используя композер этот слой отвечает за установку PHP пакетов, на которых будет работать серверная часть веб-приложения. Некоторые PHP пакеты являются частью WP BOX и могут быть включены в базовую поставку или вынесены в загрузку с помощью composer.

WP BOX устанавливает WordPress, библиотеки и плагины для этого фреймворка, а также выполняет первоначальные миграции для создания пустой базы данных и предоставляет собственный шаблон для использования с WordPress. Кроме того, устанавливаются инструменты для удобства разработки — линтеры PHP кода с конфигурацией и дополнения для IDE vscode.

По желанию пользователя и самостоятельно, вместо предложенного серверной части на слой окружения может быть установлено другое ПО использующее PHP и указанный выше стек ПО.

3) Клиентский код

Используя NodeJS этот слой отвечает за установку JavaScript пакетов, которые нужны только при разработке — для сборки и минификации ресурсов. 

Также в этом слое настраиваются линтер кода, предоставляются примеры для разработки компонентов с React, которые можно использовать без изменений при желании и конфигурационные файлы для настройки разного представления веб-приложения при единой кодовой базе.

Функциональные характеристики

  • взаимодействие с аппаратным обеспечением типа персональные компьютеры и сервера;
  • предоставление заготовок и примеров кода для создания высоконагруженных веб-приложений;
  • настройка параметров комплекса через конфигурационные файлы;
  • автоматизация установки и настройки системного и прикладного ПО
  • доступность для нескольких операционных систем — Windows, MacOS, Debian и похожие Linux дистрибутивы

Информация, необходимая для эксплуатации ПО

Для эксплуатации WP BOX требуется использовать локальный или удаленный компьютер (сервер) с минимум 3 гигабайтами оперативной памяти и 1 ядром процессора современного поколения, на который потребуется предустановить пакеты программ Docker и Make.

Поддерживаются компьютеры на MacOS Sonoma+, Debian 12+ в качестве основной системы и Debian 12+ в качестве подсистемы.

Установка ПО

Информация, необходимая для установки программного обеспечения:

Установка может варьироваться в зависимости от типа вашего компьютера и операционной системы.

Подробная пошаговая инструкция для установки на Windows, MacOS и Debian описана в этой статье.

Описание процессов жизненного цикла ПО

Описание процессов, обеспечивающих поддержание жизненного цикла, в том числе устранение неисправностей и совершенствование, а также информацию о персонале, необходимом для обеспечения такой поддержки: 

Процессы:

  1. Использование ПО предполагается в 2х или 3х одновременных состояниях:
    — для разработки и тестирования ПО должно быть установлено локально
    — (необязательно) для приближенного к реальному использованию установлено на тестовом сервере
    — и для конечных пользователей веб-приложения на боевом сервере
  2. ПО предполагает использование хранилища баз данных и устанавливает его само. 
    — При нестрогом режиме использования в ПО есть инструменты для ручной синхронизации данных между тестовым, боевым и локальной установкой
    — Также можно настроить одностороннюю синхронизацию запрещающую обновление боевого сервера с локального.
    — Либо не использовать этот функционал совсем и иметь независимые хранилища данных, чтобы разграничить доступ.
  3. Для устранения неисправностей и совершенствовании пользователь должен использовать локальную установку, после тестирования изменения нужно синхронизировать с боевым сервером. В зависимости от слоя изменений (окружение или код) синхронизация может быть простой, либо потребовать переустановки контейнеров.
  4. Обновления ПО — ПО не имеет универсального механизма обновления, но ввиду открытого исходного кода, персонал осуществляющий поддержку может вручную внедрять изменения публикуемые в новых версиях ПО.
  5. Для боевого и тестового сервера создаваемого веб-приложения потребуется оплачивать аренду или купить отдельно сервер, а также доменное имя.

Персонал:

Программный комплекс был написан таким образом, чтобы он был доступен для поддержки всего одним специалистом-программистом — старшим разработчиком с опытом PHP, Javascript и серверного ПО

При желании и возможности можно привлечь отдельно DevOps, PHP программиста и React разработчика для обслуживания и поддержки ПО или больше в каждой из этих специальностей. А также дизайнера и специалистов и других смежных отделов.