66 lines
4.9 KiB
Markdown
66 lines
4.9 KiB
Markdown
---
|
|
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 устанавливается очень просто, как и многие приложения для этой ОСи, и очень быыстро, чем многие ругие приложения позвастаться не могут. Но после успешного окончания установки у меня возникла ошибка при запуске. Программа упорно твердила мне, что сервер остановлен из-за слишком долго запуска:
|
|
|
|

|
|
|
|
> 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.???. После чего контроллер у меня заработал. |