Оффлайн установка платформы SmartPlayer на операционный системы Ubuntu / Astra

Материал из SmartPlayer
на этой странице были произведены изменения, не отмеченные для перевода.

Описание ситуации

На странице будет описана информация о возможности самостоятельной off-line установки платформы SmartPlayer на операционные системы Ubuntu и Astra.

Поддерживаемые версии

Таблица поддерживаемых версий
Операционная система Дистрибутив операционной системы Рекомендуется для установки
Ubuntu Server 24.04 LTS Ссылка Да
Ubuntu Server 22.04 LTS Ссылка Да
AstraLinux Orel Ссылка Да, для государственных Органов.
  • Distributor ID: AstraLinuxCE
  • Description: Astra Linux CE 2.12.43 (Orel)
  • Release: 2.12.43
  • Codename: orel

Подробнее

Представитель SmartPlayer передает следующий состав платформы. Версии архивов могут отличаться, зависит от конкретной версии, которая разворачивается на примере. Обычно представитель SmartPlayer присылает актуальную версию для текущего момента:

Если используется серверное приложение использующее 20 NodeJS, то необходимо загрузить docker_images_v3.4.1.tar.gz
Также их можно найти в архиве с серверным приложением, по пути: smartplayer/tools/installer/
  • sp_docker_v_${current_version_docker}_bv_${current_version_backend}_fv_${current_version_frontend}.zip - архив с серверным приложением платформы SmartPlayer, конфигурационные файл для Docker, собранный по умолчанию личный кабинет платформы
  • unzip_6.0-21ubuntu1_amd64.deb - пакет для разархивирования zip-архивов на сервере. По умолчанию в Ubuntu сервер идет архиватор ".tar" который не умеет разархивировать "zip"-файлы. Можно в процессе перепаковать файлы и потом загрузить их на сервер, тогда не потребуется установка пакета на сервере.

Установка Docker и Docker-compose

В зависимости от операционной системы пользователь сам выбирает версию Docker и Docker-compose необходимую для установки на серверную операционную систему:

-
Ссылка на архив с docker / docker-compose Описание
Ссылка Архив для оффлайн установки Docker для Ubuntu Server 24.04 LTS
Ссылка Архив для оффлайн установки Docker для Ubuntu Server 22.04 LTS

Алгоритм установки

Из-за шрифтов в некоторых командах может казаться, что используются косые кавычки. Это не так, там используются одинарные кавычки.
Заменить символ - "*" на актуальную версию файла в описанных командах

Обязательно запросить нового пользователя у команды технической поддержки SmartPLayer.
Создать пользователя SmartPlayer, без root-прав, после установки серверного приложения, необходимо запретить авторизацию под данным пользователем. Для продолжения установки необходимо подключиться к серверу и загрузить все архивы на сервер в домашнюю директорию пользователя SmartPlayer. Для загрузки можно использовать утилиту "sftp" или другую, главное загрузить архивы на сервер.
Рекомендуется использовать для установки наш offline-архив. Однако бывают случаи, когда требуется установка из репозитория заказчика. Далее описаны оба варианта:

  • Распаковать архив с Docker, и перейти в распакованную директорию:

tar -zxvf docker-and-docker-compose*.tar.gz && cd docker-and-docker-compose*

  • Установить Docker и необходимых компонент:

sudo ./install-docker-and-docker-compose-offline.sh

  • Обновить списки пакетов:

apt update

  • Установить пакеты docker и docker compose:

apt install docker.io docker-compose-v2

  • Опционально: чтобы вызывать docker без sudo, добавить пользователя в группу docker:

sudo usermod -aG docker $USER

  • Добавляем пользователя SmartPlayer в группу docker:

sudo usermod -aG docker smartplayer
Проделав вышеописанные действия пользователю необходимо отключиться от сервера и подключиться снова.

  • Проверить работоспособность Docker и Docker Compose :

docker --version

  • Ответ зависит от операционной системы куда устанавливается docker

docker-compose --version
Ответ будет зависеть полностью от операционной системы:

Пример отображения ответа
Для docker-compose ver.2 (поставляется в архивах для ubuntu начиная с версии Ubuntu 24.04) рекомендуется включить режим совместимости (работает по команде "docker-compose", контейнеры используют разделитель в виде “_“):
  • sudo echo 'docker compose --compatibility "$@"' > /bin/docker-compose
  • sudo chmod +x /bin/docker-compose
  • Включить автозапуск Docker:
  • sudo systemctl enable docker

    Установка серверного приложения

    • Распаковать архив в указанную директорию, в которую будет устанавливаться платформа. Символ "*" заменить на актуальную версию файла.

    unzip sp_docker_v_*.zip -d smartplayer

    • Импортировать образы Docker(потребуется подождать пока не перезагрузятся образы):

    docker image load -i /home/smartplayer/smartplayer/tools/installer/docker_images_*.tar.gz

    • Проверить, что все образы загрузились:

    docker image ls Результат, описанный выше действий должен быть как на скриншоте ниже:

    Пример отображения
    • Если при загрузке образов на Astra Linux появляется ошибка вида:

    directory '/var/lib/docker/overlay2/09b534e0304c27ac3a735c11a0413b9508405c6807b1b910339e27a251a23cc0/merged' contains vulnerabilities! [{oval:astra:def:4531229522001128947937725208131 true Astra Linux - уязвимость в openssl } {oval:astra:def:4373393375917990519923223647811 true Astra Linux - уязвимость в openssl } {oval:astra:def:4214940672944626263348052579907 true Astra Linux - уязвимость в openssl } {oval:astra:def:4056789016112106406191571490371 true Astra Linux - уязвимость в openssl } {oval:astra:def:3898339921026663004431305758275 true Astra Linux - уязвимость в openssl } {oval:astra:def:1099622894188402609980812330096195 true Astra Linux - уязвимость в openssl }]. Image: 09b534e0304c27ac3a735c11a0413b9508405c6807b1b910339e27a251a23cc0 Необходимо выполнить следующие действия: sudo mkdir /etc/docker sudo touch /etc/docker/daemon.json sudo cat << EOF > /etc/docker/daemon.json { "astra-sec-level" : 6 } EOF sudo systemctl restart docker
    После этих действий повторно загрузить образы.

    • Опционально: если всё загрузилось успешно, то можно удалить архив с образами:

    rm docker_images_*.tar.gz

    • Переназначить права для директории серверного приложения:

    sudo chown -R smartplayer:smartplayer /home/smartplayer/smartplayer

    • Зайти под пользователем SmartPlayer и дальнейшие действия выполнять этой учетной записью:

    sudo su smartplayer

    • Перейти в каталог серверного приложения:

    cd /home/smartplayer/smartplayer

    • Заполнить конфигурацию env:

    mv .env.example .env nano .env

    • Пользователю необходимо заполнить следующий поля:
    1. MYSQL_ROOT_PASSWORD, MYSQL_PASSWORD - пароли для подключения к MySQL (сгенерировать)
    2. CMS_URL - URL личного кабинета. Например, если сервер будет доступен по адресу: "http://192.168.56.101/cms", то указать этот адрес (без слеша на конце).
    3. APP_URL - URL серверного приложения. Например, если сервер будет доступен по адресу: "http://192.168.56.101", то указать этот адрес (без слеша на конце).

    Сохранить конфигурацию и выйти. (ctrl+S, ctrl+X)

    Пример отображения конфигурации с выделенными параметрами
    • При использовании https добавить цепочку сертификатов и приватный ключ с именами ssl.crt и ssl_private.key в директорию /home/smartplayer/smartplayer/nginx/ssl/
    • Запустить приложения и подождать 2 минуты:

    docker-compose up -d

    • Создать таблицы базы данных:

    docker exec -it smartplayer_backend_1 sh -c './cli.js db init'

    • Загрузить виджеты

    docker exec -it smartplayer_backend_1 sh -c './cli.js widgets upload'

    • Создать пользователя:

    docker exec -it smartplayer_backend_1 sh -c './cli.js company create-with-user'

    Cтандартно, командой технической поддержки SmartPlayer? должен быть создан первый пользователь с логином - root@smartplayer.org.
    Если при создании пользователя выходит ошибка, необходимо повторить предыдущий шаг и создать таблицы БД.
    • Проверка работы серверного приложения, командой:

    docker exec -it smartplayer_backend_1 sh -c 'pm2 list' Корректный вывод будет показан на примере ниже:

    Пример отображения корректного вывода
    • Включить автоматическое создание бэкапов БД MySQL(данную команду необходимо выполнять из под пользователя smartplayer):

    ./mysql_backup/init_auto_backups.sh

    • Для проверки бэкапов My SQL используем команду:

    ./mysql_backup/mysql_backup.sh

    • В дальнейшем серверное приложение будет доступно в браузере по адресу, указанному в переменной CMS_URL