Подготовка
Если у вас установлена старая версия контроллера, например SoftWLC 1.18, и Ubuntu Server 16.04, то потребуется подготовить второй сервер и установить на него Ubuntu Server 22.04 LTS (рекомендуемая ОС, список всех поддерживаемых ОС можно найти по ссылке Системные требования для сервера SoftWLC).
Перед обновлением рекомендуется выполнить backUP БД и всех конфигурационных файлов (список конфигурационных файлов модулей контроллера можно найти по следующей ссылке Модули SoftWLC). Если возможно, сделать snapshot системы как наиболее простое средство для отката системы к изначальному состоянию в случае неудачного обновления.
Backup БД:
Backup БД выполняется с помощью следующих скриптов:
mongo_update.sh
backup_mysql.sh
Установите пакет pv перед сохранением БД и запуском скрипта backup mysql.
На вход скрипта требуется подать login/password от БД, в стандартном варианте - root/root.
sudo apt install pv sudo chmod +x backup_mysql.sh sudo ./backup_mysql.sh root root sudo chmod +x mongo_update.sh sudo ./mongo_update.sh --backup
BackUP базы данных работоспособен только для вашей текущей версии SoftWLC. Условно говоря, backup от SoftWLC версии 1 не подойдет к SoftWLC версии 2.
Создание БД на новом сервере
Шаги которые нужно/можно сделать до старта обновления.
Действия выполняются на новом сервере.
Поднятие mysql
Добавление реп mysql:
Подключить репозиторий Элтекс.
Создать файл /etc/apt/sources.list.d/eltex.list и прописать в него репо Eltex:
deb [arch=amd64 signed-by="/etc/apt/keyrings/eltex.gpg"] http://archive.eltex-co.ru/wireless softwlc-1.29-common main # это общий репозиторий, в котором выложены пакеты не зависящие от версии ОС. deb [arch=amd64 signed-by="/etc/apt/keyrings/eltex.gpg"] http://archive.eltex-co.ru/wireless softwlc-1.29-jammy main # данный репозиторий нужно выбирать в зависимости от версии ОС. deb [arch=amd64 signed-by="/etc/apt/keyrings/eltex.gpg"] http://archive.eltex-co.ru/wireless softwlc-1.29-dependencies-jammy main # данный репозиторий нужно выбирать в зависимости от версии ОС.
wget -q -O - http://archive.eltex-co.ru/wireless/repo.gpg.key | gpg --yes --dearmor -o "/etc/apt/keyrings/eltex.gpg" sudo apt-get update
Установка пакетов mysql:
apt-get install mysql-client=5.7.42-1ubuntu18.04 apt-get install mysql-common=5.7.42-1ubuntu18.04 --allow-downgrades apt-get install mysql-community-server=5.7.42-1ubuntu18.04 apt-get install libmysqlclient20=5.7.42-1ubuntu18.04 #(root root) apt-get install rsyslog-mysql
Скопировать конфигурационный файл mysql.conf со старого сервера на новый сервер.
Поднятие mongo
Скачать и установить libssl1.1:
sudo wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
Скачать mongo на сервер:
sudo apt install mongodb-org sudo systemctl enable mongod.service sudo systemctl start mongod.service
Восстановление БД перед обновлением
Перед восстановлением переместите содержимое директории /tmp/mongo/, дампы Mysql со старого сервера Ubuntu 16.04 на новый сервер с Ubuntu 22.04.
Конфигурационный файл mongod.conf положите в домашний каталог откуда будете запускать скрипт mongo_update.sh
sudo ./mongo_update.sh --restore-config sudo ./mongo_update.sh --restore sudo chmod +x restore_mysql.sh sudo ./restore_mysql.sh root root
Установка SoftWLC скриптом установщиком
Скачать из архива скрипт-установщик eltex-softwlc-helper-latest.sh и положить в корневую директорию ОС.
Данную операцию также можно произвести из терминала:
vagrant@ubuntu:~$ wget http://archive.eltex-co.ru/wireless/help/softwlc-latest/eltex-softwlc-helper-latest.sh --2019-04-29 08:30:24-- http://archive.eltex-co.ru/wireless/help/softwlc-latest/eltex-softwlc-helper-latest.sh Resolving archive.eltex-co.ru (archive.eltex-co.ru)... 172.16.0.68 Connecting to archive.eltex-co.ru (archive.eltex-co.ru)|172.16.0.68|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 25615 (25K) [text/x-sh] Saving to: ‘eltex-softwlc-helper-latest.sh’ eltex-softwlc-helper-mos_1 100%[=====================================>] 25,01K --.-KB/s in 0,02s 2019-04-29 08:30:24 (1,61 MB/s) - ‘eltex-softwlc-helper-latest.sh’ saved [25615/25615]
Выдать права на исполнение файла eltex-softwlc-helper-latest.sh :
chmod +x ./eltex-softwlc-helper-latest.sh
Запустить скрипт с правами суперпользователя и ожидать окончания работы:
sudo ./eltex-softwlc-helper-latest.sh ... ... ... Installation of Eltex SoftWLC finished successfully. URLs of SoftWLC components: Eltex.EMS Server management (internal) IP: 100.110.2.147 Eltex.EMS Server external IP: 100.110.2.147 Eltex.EMS GUI: http://100.110.2.147:8080/ems/jws login: admin password: <empty> Portal constructor: http://100.110.2.147:8080/epadmin login: admin password: password Wi-Fi customer cabinet (B2B): http://100.110.2.147:8080/wifi-cab login: admin password: password
По завершению работы скрипта в терминале появятся данные подключения:
Installation of Eltex SoftWLC finished URLs of SoftWLC components: Eltex.EMS GUI: http://localhost:8080/ems/jws">http://localhost:8080/ems/jws login: admin password:<empty> Portal constructor: http://localhost:8080/epadmin/ login: admin password: password Wi-Fi customer cabinet: http://localhost:8080/wifi-cab/ login: admin password: password
При возникновении ошибок обратитесь к документации.
Перенос лицензий и конфигурационных файлов Eltex
Проверить и перенести все конфигурационные файлы Eltex. Если файлы отличаются дополнительными параметрами, то добавить эти параметры в старые конфигурационные файлы. Либо привести новые конфигурационные файлов в соответствие старым.
Лицензионный файл для пакета Eltex EMS license.xml содержит информацию количестве и типе устройств, с которыми может работать EMS. Данный файл предоставляется Коммерческими подразделениями компании Элтекс или ее партнерами.
root@ubuntu-bionic:~# cp licence.xml /usr/lib/eltex-ems/conf/licence/ root@ubuntu-bionic:~# service eltex-ems restart