Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.


Оглавление

Установка Wimark One

Установка Docker

Предупреждениеnote
Для установки Docker необходимы права суперпользователя/root

1.Войти под пользователем root следующей командой:

...

Раскрыть
titleУстановка через apt-репозиторий
  1. Обновить список для актуализации установочных пакетов:

Блок кода
sudo apt-get update


2. Установить набор пакетов, который необходим для доступа к репозиторию docker:

Блок кода
sudo apt-get install ca-certificates curl gnupg


3. Добавить GPG-key для работы с официальным репозиторием Docker:

Блок кода
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg


4. Добавить официальный репозиторий Docker в локальный список (копировать эту команду необходимо полностью):

Блок кода
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


5. Обновить список, установить пакеты и запустить Docker:

Блок кода
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin systemctl start docker



Информация
При необходимости установки каким-либо другим способом, либо на другую ОС, на сайте Install Docker Engine есть подробные инструкции для установки.

Установка ПО Wimark One

Необходимо загрузить дистрибутив Wimark One на тот сервер, где планируется установка ПО.

Загрузить дистрибутив Wimark One на сервер (при наличии доступа в интернет):

Блок кода
wget https://storage.wimark.com/api/public/dl/XZqjHaJe \
 -O /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run 
sudo chmod +x /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run


Для запуска установки необходимо выполнить bash:

Блок кода
sudo /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run


Примечание

/tmp/ - каталог в котором хранятся временные файлы. Файлы удаляются спустя определенное время и после перезагрузки сервера.

https://storage.wimark.com/api/public/dl/XZqjHaJe - пример ссылки на прошивку.

WiMark-one-1.11.0-2023-10-30-qtech-installer.run - пример имени файла, может отличаться в зависимости от сборки и версии ПО.


Информация
Файлы конфигурации расположены в папке /opt/wimark/наименование сборки.

Во время установки будет предложено заполнить FQDN (рисунок 1).Image Removed

Рисунок 1Image Added
Рисунок 1

Следует указать FQDN. Если FQDN использоваться не будет, то можно указать любое доменное имя, например: one.mydomain.com.


Информация

FQDN (Fully Qualified Domain Name) полное доменное имя определяющее узел в сети Интернет (имя домена, на которое будет реагировать веб-сервер).

После установки основных компонентов, будет предложено установить SMTP (рисунок 2).


Image AddedРисунок 2

Следует указать: y - для запуска установки, N - для отказа от установки.

Simple Mail Transfer Protocol (SMTP) - простой протокол передачи почты, применяемый для пересылки электронных писем с сервера отправителя на сервер получателя.Image Added

Рисунок 3 - Пример заполнения установщика SMTP


Примечание

SMTP_HOST - имя хоста или IP-адрес SMTP-сервера, который будет отправлять сообщения.

SMTP_PORT - номер порта для подключения к SMTP-серверу, по умолчанию 25.

SMTP_USER - логин УЗ для SMTP.

SMTP_PASS - пароль УЗ для SMTP.

Проверка работоспособности

Для контроля работоспособности Wimark One пользователю следует перейти на web интерфейс платформы. При успешном завершении установки отобразится форма авторизации в соответствии с рисунком 14.

Информация
Логин/пароль по умолчанию: wimark/wimark

Image Added

Рисунок 4 - Форма авторизации

Устранение проблем при загрузке

Ошибка 502 Gateway при попытке авторизации в web интерфейсе

После перезагрузки виртуальной машины с развернутой платформой Wimark One могут возникать ошибки 502 gateway. Для решения необходимо выполнить следующие действия :

  1. зайти на ВМ с платформой;

  2. выполнить команду:

Блок кода
sudo docker restart one_nginx-ssl-proxy_1

Отсутствие платформы после жесткой перезагрузки

Если после жесткой перезагрузки не доступен Web UI, а также не работают сервисы, то необходимо:

  1. зайти на ВМ с платформой;

  2. выполнить команды:

Блок кода
sudo su 
cd /etc/wimark/one 
bash start.sh

Обновление Wimark One

Процесс обновления Wimark One представляет собой удаление старых компонентов и установку новой версии платформы.
Если нет необходимости в переносе старых данных (статистики, SSID, настроек ТД и т.д.), то необходимо только удалить старую версию платформы, а затем установить новую версию в соответствии с инструкцией по установке Установка ПО Wimark One .

Создание резервных копий

Перед созданием резервной копии БД необходимо убедиться в том, что на сервере достаточно свободного места.
Для создания резервной копии платформы Wimark One рекомендуется иметь минимум 6G свободного места.

...

При создании полной резервной копии БД копируются все данные, т.е. статистика, конфигурация, static, ключ и т.д. Использование данного метода гарантирует полное копирование данных, но значительно замедляет процесс восстановление БД, и сама резервная копия БД занимает довольно много места.

Создание полной резервной копии

  1. Создать резервную копию контейнеров:

Блок кода
docker save -o /opt/wimark_backup/images.tar \
 $(docker compose -f /opt/wimark/one/docker-compose.yml config \
 | grep image | awk '{print $2;}')


Подсказка

Данный пункт не является обязательным.

На данном шаге создается резервная копия контейнеров, которые удаляются при обновлении. Но если после обновления возникнут проблемы и необходимо будет вернуть всё назад, то выполнение данного пункта предоставит такую возможность.
Значительно влияет на размер резервной копии!


2. Создать резервную копию БД:

Блок кода
docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}') mongodump --db=test --gzip --archive=/tmp/backup_wimark.gz


Информация
Если имя контейнера с MongoDB отличается от того, что указано в команде, то можно использовать команду docker ps для поиска нужного контейнера.

3. Создать папку для резервной копии:

Блок кода
mkdir /opt/wimark_backup/


4. Копировать архив с резервной копией БД из контейнера в систему:

Блок кода
docker cp $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}'):/tmp/backup_wimark.gz /opt/wimark_backup/


5. Создать резервную копию static файлов, которые находятся в папке /opt/wimark/static:

Блок кода
cp -r /opt/wimark/static /opt/wimark_backup/static


Информация
Если версия Wimark One ниже 1.10, то файлы будут находится каталоге /usr/share/wimark/static

Создание частичной резервной копии

  1. Создать резервную копию БД без коллекций со статистикой:

Блок кода
docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}') bash
mongodump --db=test --excludeCollection=bss_stat_info \
 --excludeCollection=client_stat_info --excludeCollection=client_stats \
 --excludeCollection=cpe_stat_info --excludeCollection=stats \
 --excludeCollection=wlan_stat_info --gzip --archive=/tmp/backup_wimark.gz; exit


2. Копировать архив с резервной копией БД из контейнера в систему:

Блок кода
docker cp $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}'):/tmp/backup_wimark.gz /opt/wimark_backup/


3. Создать резервную копию static файлов, которые находятся в папке /opt/wimark/static:

Блок кода
cp -r /opt/wimark/static /opt/wimark_backup/static

Обновление ПО и перенос БД

Обновление ПО

  1. Необходимо полностью удалить старую платформу следующей командой:

Блок кода
rm -r /opt/wimark; docker rm -f $(docker ps -qaf "name=one-|master|backup|one_")


Информация
Если версия Wimark One ниже 1.10, то файлы будут находится в каталоге /etc/wimark

Если на сервере в docker используется только Wimark One, то можно дополнительно выполнить эту команду:

Блок кода
docker system prune --all --volumes


Примечание
Данная команда удалит все остановленные контейнеры, “висящие” (неиспользуемые) Docker-образы, неиспользуемые сети и тома. Поэтому следует использовать данную команду только в том случае, если в Docker устанавливалось только ПО Wimark One.

2. Скачать на сервер и запустить установку (более подробное описание в разделе инструкции по установке):

Блок кода
wget https://storage.wimark.com/api/public/dl/XZqjHaJe \
 -O /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run 
sudo chmod +x /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run 
sudo /tmp/WiMark-one-1.11.0-2023-10-30-qtech-installer.run


Примечание

/tmp/ - каталог в котором хранятся временные файлы. Файлы удаляются спустя определенное время и после перезагрузки сервера.

https://storage.wimark.com/api/public/dl/XZqjHaJe - пример ссылки на прошивку.

WiMark-one-1.11.0-2023-10-30-qtech-installer.run - пример имени файла, может отличаться в зависимости от сборки и версии ПО.

Перенос БД

1.После того, как платформа полноценно запуститься (все контейнеры поднимаются за несколько минут), необходимо принудительно остановить контейнер отвечающий за backend:

Блок кода
docker stop $(docker ps | grep 'backend-golang-1' | awk '{ print $1;}')


2. Копировать ранее созданную резервную копию БД в контейнер mongo:

Блок кода
docker cp /opt/wimark_backup/backup_wimark.gz $(docker ps | \
 grep 'one-mongo-1\|one-mongo-ha-1' | awk '{ print $1;}'):/tmp/


3. Запустить процесс восстановления из резервной копии:

Блок кода
docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}') mongorestore --drop --nsInclude='test.*' \
 --gzip --archive=/tmp/backup_wimark.gz


Примечание

--drop - перезаписывает текущие данные в БД.

В зависимости от размеров коллекций и технических характеристик сервера, этот процесс может занять от нескольких минут до нескольких часов!


4. Удалить новые и перенести старые файлы static:

Блок кода
rm -r /opt/wimark/static 
cp -r /opt/wimark_backup/static /opt/wimark/


5. Запустить контейнер отвечающий за backend:

Блок кода
docker start $(docker ps | docker ps -a | grep 'backend-golang-1' | \
 awk '{ print $12;}')


Далее следует подождать несколько минут и проверить работоспособность в соответствии с разделом Проверка работоспособности.