Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
[Учебник] Переход с beta-версии UniFi access на стабильную GA-версию, UniFi Access
 
Привет! С тех пор, как я обновил свой CK-G2+ до UniFi OS, я потерял весь контроллер доступа. Когда я спросил у сотрудников UI о пути миграции, мне ответили, что его нет. Я был очень разочарован таким бездумным решением от UI, поэтому решил провести миграцию самостоятельно. Система доступа установлена у нас в офисе, и к ней имеют доступ курьеры, поставщики и сотрудники. Я даже не могу представить, как бы мне пришлось заново сканировать все эти NFC-метки.

P.S. Чтобы повторно подключить UAHUB к новому контроллеру, нужно сделать полный сброс настроек.

Программное обеспечение, которое вам понадобится:  
- SQLite browser (я использовал DB browser for SQLite)  
- PostgreSQL explorer (я использовал NaviCat)  

Шаг 1 – Скачайте и распакуйте вашу резервную копию до UniFi OS и найдите файл ual.db  

Шаг 2 – Настройка Postgres для удалённого доступа на CK-G2+  
Подключитесь по SSH к cloudkey  
Отредактируйте файл /etc/postgresql/9.6/main/postgresql.conf  
Добавьте строку: listen_addresses = '*'  
Отредактируйте файл /etc/postgresql/9.6/main/pg_hba.conf  
Добавьте в конец:  
host    all             all             0.0.0.0/0               md5  
host    all             all             ::/0                    md5

Переключитесь на пользователя postgres: sudo -i -u postgres  
Запустите psql: postgres  
Создайте нового пользователя с паролем:  
CREATE USER username WITH SUPERUSER PASSWORD 'password';  
Выйдите из psql: \q и из пользователя postgres  
Перезапустите postgres: /etc/init.d/postgresql restart  
Проверьте подключение к базе данных  

Шаг 3 – Импортируйте профиль пользователя в новый контроллер UniFi Access  
Экспортируйте таблицу USER_PROFILE из ual.db и создайте CSV-файл с именами (first_name) и фамилиями (last_name)  
Графики и политики придётся создавать вручную  

Шаг 4 – Привяжите NFC-метку к пользователю  
Я назначил NFC-метку, которую никто не использовал.  
После этого посмотрите номер карты в контроллере доступа (1XXXXX)  

Шаг 5 – Подключитесь к базе PostgreSQL  
Откройте базу unifi-access  
Откройте таблицу user_nfc  
ID = номер карты в access  
token = NFC токен  

Шаг 6 – Получите значение NFC токена  
Откройте ual.db  
Откройте таблицу user_profile и найдите user_id пользователя, которому вы назначили NFC в шаге 4  
Откройте таблицу user_nfc и найдите nfc_card_data, где worker_id = только что найденный user_id  
Скопируйте это значение  

Шаг 7 – Отредактируйте NFC токен  
Вставьте nfc_card_data в базу PostgreSQL (Шаг 5)  

Повторяйте шаги с 4 по 7 для каждого пользователя. Как только у вас будет четкий алгоритм, процесс пойдет довольно быстро. Я сделал 20 пользователей за 30 минут. Самая долгая часть — каждый раз сканировать новую метку.  

Если есть вопросы — спрашивайте.  

С уважением, iLevac
 
@jose32768 Я сделал этот миграционный DIY, когда вышла бета-версия UniFiOS на CK-G2+. У меня был UniFi Access на CK-G2+, но когда поддержка перешла только на UniFiOS, пришлось ждать обновления моего софта для доступа через UniFiOS. Насколько я знаю, UI так и не выпустил никаких инструментов для миграции (по крайней мере для CK-G2+). Я с тех пор использую систему UniFi Access после миграции и никаких проблем с этим не было. Единственное, что мне не хватает в UniFi Access — это некоторых функций и UA-Pro зимой. R,iLevac
 
@iLevac @ilovfriday Бета-версия Unifi Access вышла на CKG2+, а когда она перешла в стадию GA, её выпустили для UDMP. Изначально была возможность миграции в том же разделе, где делают бэкапы. Но Unifi быстро убрали эту миграцию после выхода той версии прошивки для UDMP и фактически сделали невозможным возврат к ней. Я пытался откатиться, но так и не смог. Наверное, они не хотели поддерживать это из-за множества багов, связанных с миграцией. Каждый раз, когда я обращался в поддержку UI, мне говорили, что миграция невозможна.
 
@ilovfriday Да, это довольно печально, ведь я делаю эту миграцию примерно за час. Для разработчика, который работал над protect, создание инструмента миграции заняло бы, наверное, 4 часа. Очевидно, что UI уже не так уж заботится о тестерах EA, как раньше. R,iLevac
 
Спасибо, что поделились этим. Я тоже долго ломал голову над этим и нигде не встречал обсуждений; у меня 120 тегов, так что это очень полезно. Позор UI, что у них до сих пор нет этого в разработке.
 
@jose32768 Рад, что это помогло!
 
@iLevac Спасибо за помощь. Я собрал тестовую среду и смог перенести данные по картам. Я следовал шагам 1 и 2, но создавал пользователей вручную. В новой версии Unifi Access появилась возможность импортировать пользователей и делать «массовое создание пользователей», так что на самом деле не нужно было переносить их из резервной копии.

Я, по сути, создал CSV с токеном, id и unique_id и импортировал этот CSV в user_nfc. Я вручную выставил статус 5, чтобы карта была видна при создании пользователей (думаю, в самом CSV-файле тоже можно задать статус 5).

У меня возникло несколько багов, наверное, поэтому Ubiquiti убрали эту функцию из UDM-P. Но на самом деле багов немного. Например, когда я сканирую карту, номер карты начинается с 1, хотя у меня уже есть карта с номером 1. Я решил это, просто сканируя случайные карты, пока не дошёл до общего числа импортированных карт, а потом просто удалил эти случайные карты.
 
@jose32768 Я вручную переношу NFC пользователей, так как идентификатор, связывающий пользователей и NFC-карты, создаётся UniFi access. Как только он создаётся, я заменяю значение NFC-метки на то, которое регистрировал ранее.
 
Так вы просто получаете список пользователей из резервной копии Beta, верно? Вы же не переносите данные NFC-карт?
Страницы: 1
Читают тему (гостей: 1)