Offline installation of the SmartPlayer platform on Ubuntu / Astra operating systems

Материал из SmartPlayer
Версия от 09:42, 12 февраля 2025; N.Bloshkin (обсуждение | вклад) (Новая страница: «Offline installation of the SmartPlayer platform on Ubuntu / Astra operating systems»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

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

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

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

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

Подробнее

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

  • Если используется серверное приложение использующее 8 NodeJS, то необходимо загрузить docker_images_v3.0.0.tar.gz
  • Если используется серверное приложение использующее 16 NodeJS, то необходимо загрузить docker_images_v3.1.0.tar.gz
  • Если используется серверное приложение использующее 18 NodeJS, то необходимо загрузить docker_images_v3.2.0.tar.gz
  • Если используется серверное приложение использующее 20 NodeJS, то необходимо загрузить docker_images_v3.3.1.tar.gz
  • sp_docker_v_${current_version_docker}_bv_${current_version_backend}_fv_${current_version_frontend}.zip - архив с серверным приложением платформы SmartPlayer, конфигурационные файл для Docker, собранный по умолчанию личный кабинет платформы
  • node_modules_${current_version_backend}.tar.gz - необходимые библиотеки для работы серверной части платформы
  • Условия:
    1. Если хост машина Windows - node_modules собирать на Windows (x32 или x64)
    2. Если хост машина LINUX - node_modules собирать на Linux
    • 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
    Ссылка Архив для оффлайн установки Docker для Ubuntu Server 18.04 LTS
    Ссылка Архив для оффлайн установки Docker для Ubuntu Server 16.04 LTS

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

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

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

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

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

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

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

    • Опционально: чтобы вызывать 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", контейнеры используют разделитель в виде “_“):
    • echo 'docker compose --compatibility "$@"' > /bin/docker-compose
    • chmod +x /bin/docker-compose
  • Включить автозапуск Docker:
  • sudo systemctl enable docker

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

    unzip sp_docker_v_*.zip -d smartplayer

    • Распаковать архив в указанную директорию. Путь:"~/“директория приложения”/backend/app/".

    unzip node_module_bv_*.zip –d ~/smartplayer/backend/app/

    • Включить конфигурацию сервера с помощью команды:

    mv ~/smartplayer/backend/app/pm2.app.config.example.js ~/smartplayer/backend/app/pm2.app.config.js

    • Импортировать образы Docker:

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

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

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

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

    rm docker_images_v3.3.1.tar.gz

    • Заполнить конфигурацию 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", то указать этот адрес (без слеша на конце).
    4. MYSQL_BACKUP_DOCKER_CONTAINER - указать контейнер mysql, например: smartplayer_mysql_1
    5. MYSQL_BACKUP_STORAGE - указать тип бекапа mysql, например: local
    6. MYSQL_BACKUP_LOCAL_DIR - указать абсолютный путь к директории, например:
     "/home/smartplayer/smartplayer/data/mysql-dumps/"
    

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

    Пример отображения конфигурации с выделенными параметрами
    • Далее меняем адрес сервера в конфигурации личного кабинета:

    nano cms/cms/config.js
    Нужно изменить значение параметра "ip_address":

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

    ./mysql_backup/init_auto_backups.sh
    Для проверки бэкапов БД MySQL используем команду:
    sudo -u smartplayer /home/smartplayer/smartplayer/mysql_backup/mysql_backup.sh

    • Настроить конфигурацию "nginx". Скопировать нужный файл конфигурации в зависимости от настройки сервера. В данном случае личный кабинет и сервер на одном ip адресе:

    cp nginx/conf_examples/one_domain/http/smartplayer.conf nginx/conf/ nano nginx/conf/smartplayer.conf

    Пример отображения настройки в которой личный кабинет и сервер на одном ip адресе

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

    • Запустить приложения и подождать 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' Корректный вывод будет показан на примере ниже:

    Пример отображения корректного вывода