--- title: 'Развёртывание UniFi контроллера и решение сопутствующих ошибок' media_order: 'UniFi Screen.jpg' date: '2014-07-29T22:44:45+03:00' publish_date: '2014-07-29T22:44:45+03:00' taxonomy: category: - Blog tag: - Сети - gelonet.ru cover: image: "hero.svg" --- Для обеспечения гостей гостиницы в которой я работаю беспроодным доступом в сеть Интернет была изыскана возможность развернуть на территории хотспот на оборудовании Ubiquity UniFi. В состав этого решения входит программный контроллер который моно установить на операционные системы Windows. MacOS и Linux, поскольку он основан на Java. Кстати, это удинственная зависимость, просто поставьте последнюю jre перед установкой, или начните установку и инсталлятор сам перекинет Вас на страницу с последней версией. Контроллер под Windows устанавливается очень просто, как и многие приложения для этой ОСи, и очень быыстро, чем многие ругие приложения позвастаться не могут. Но после успешного окончания установки у меня возникла ошибка при запуске. Программа упорно твердила мне, что сервер остановлен из-за слишком долго запуска: ![](UniFi%20Screen.jpg) > Initializing UniFi Controller ... Starting UniFi Controller ... Server taking too long to start... Start-up failed. На официальном сайте данное сообщение рассматривалось в связи с ситуайией, что порты используемые приложение уже кем-то заданы и рекомендовалось изменить порты на другие в конфигурационном файле. В соём же случае проблема была в том, что встроенная база на движке MongoDB не запускалась из-за отсутствия файлов БД и невозможности их содать самостоятельно. В логах БД ./logs/mongod.txt у меня были следующие сообщения об ошибке: > Tue Jul 29 16:34:06 [conn1] Create/OpenFile failed C:/Users/Администратор/Ubiquiti UniFi/data/db/ace.ns errno:3 > > Tue Jul 29 16:34:06 [conn1] error couldn't open file C:/Users/Администратор/Ubiquiti UniFi/data/db/ace.ns terminating > > Tue Jul 29 16:34:06 dbexit: > > Tue Jul 29 16:34:06 [conn1] shutdown: going to close listening sockets... Как я это решил: По-умолчанию контроллер устанавливается в директорию > C:\Users\<Имя текущего пользователя>\Ubiquiti UniFi. Откуда её впоследствии легко можно перенести просто остановив все процессы контроллера, если он запущен, скопировав папку в нужное место и поправив ярлык запуска. Относительно неё и будут указываться все пути. Это корневая папка приложения, в ней размещена папки data, logs, bin и другие. Как раз на невозможность создания файла ace.ns в папке data/db движок БД и ругается в логе. Исполняемый файл лежит в папке bin. Запускаем консоль. Переходим в папку ./bin. Запускаем процесс СУБД с указанием порта на котором слушаем пользовательские соединения (27117 - порт по-умолчанию) и директории с файлами БД: > mongod --port=27117 --dbpath=..\data\db В другом окне консоли соединяемся с запущенным экземпляром с помощью клиента mongo.exe на указанный выше порт: > mongo --port=27117 Указываем что будем работать с БД формате ace: > use ace Запускаем процесс починки файлов БД: > db.repairDatabase() В результате в директории ./data/db должны появиться несколько файлов вида ace.???. После чего контроллер у меня заработал.