Установка Wimark One
Установка Docker
1.Войти под пользователем root следующей командой:
sudo su
2. Установить Docker на сервер:
curl -sSl https://get.docker.com | sh
Можно выполнить установку через apt-репозиторий. Далее, в качестве примера, приведена установка через apt-репозиторий для Ubuntu 22.04.
Установка ПО 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 - пример имени файла, может отличаться в зависимости от сборки и версии ПО.
Во время установки будет предложено заполнить FQDN (рисунок 1).
Рисунок 1
Следует указать FQDN. Если FQDN использоваться не будет, то можно указать любое доменное имя, например: one.mydomain.com.
FQDN (Fully Qualified Domain Name) полное доменное имя определяющее узел в сети Интернет (имя домена, на которое будет реагировать веб-сервер).
После установки основных компонентов, будет предложено установить SMTP (рисунок 2).
Рисунок 2
Следует указать: y - для запуска установки, N - для отказа от установки.
Рисунок 3 - Пример заполнения установщика SMTP
SMTP_HOST - имя хоста или IP-адрес SMTP-сервера, который будет отправлять сообщения.
SMTP_PORT - номер порта для подключения к SMTP-серверу, по умолчанию 25.
SMTP_USER - логин УЗ для SMTP.
SMTP_PASS - пароль УЗ для SMTP.
Проверка работоспособности
Для контроля работоспособности Wimark One пользователю следует перейти на web интерфейс платформы. При успешном завершении установки отобразится форма авторизации в соответствии с рисунком 4.
Рисунок 4 - Форма авторизации
Устранение проблем при загрузке
Ошибка 502 Gateway при попытке авторизации в web интерфейсе
После перезагрузки виртуальной машины с развернутой платформой Wimark One могут возникать ошибки 502 gateway. Для решения необходимо выполнить следующие действия :
зайти на ВМ с платформой;
выполнить команду:
sudo docker restart one_nginx-ssl-proxy_1
Отсутствие платформы после жесткой перезагрузки
Если после жесткой перезагрузки не доступен Web UI, а также не работают сервисы, то необходимо:
зайти на ВМ с платформой;
выполнить команды:
sudo su cd /etc/wimark/one bash start.sh
Обновление Wimark One
Процесс обновления Wimark One представляет собой удаление старых компонентов и установку новой версии платформы.
Если нет необходимости в переносе старых данных (статистики, SSID, настроек ТД и т.д.), то необходимо только удалить старую версию платформы, а затем установить новую версию в соответствии с инструкцией по установке Установка ПО Wimark One .
Создание резервных копий
Перед созданием резервной копии БД необходимо убедиться в том, что на сервере достаточно свободного места.
Для создания резервной копии платформы Wimark One рекомендуется иметь минимум 6G свободного места.
Есть два варианта создания резервной копии БД: полное и частичное.
При создании частичной резервной копии копируется только конфигурация (локации, настройки), лицензионный ключ и static файлы. Использование данного метода значительно ускоряет сам процесс восстановления БД и уменьшает размер резервной копии БД.
При создании полной резервной копии БД копируются все данные, т.е. статистика, конфигурация, static, ключ и т.д. Использование данного метода гарантирует полное копирование данных, но значительно замедляет процесс восстановление БД, и сама резервная копия БД занимает довольно много места.
Создание полной резервной копии
Создать резервную копию контейнеров:
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
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
Создание частичной резервной копии
Создать резервную копию БД без коллекций со статистикой:
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
Обновление ПО и перенос БД
Обновление ПО
Необходимо полностью удалить старую платформу следующей командой:
rm -r /opt/wimark; docker rm -f $(docker ps -qaf "name=one-|master|backup|one_")
Если на сервере в docker используется только Wimark One, то можно дополнительно выполнить эту команду:
docker system prune --all --volumes
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;}')
Далее следует подождать несколько минут и проверить работоспособность в соответствии с разделом Проверка работоспособности.