Установленный по-умолчанию контроллер Ubiquiti UniFi Controller запускается как приложение, что не совсем удобно: при перезагрузке машины с контроллером придется логиниться в систему и удостоверяться, что приложение запущено, и сети UniFi осуществляют вещание в штатном режиме. Однако, можно заставить стартовать контроллер как службу Windows. Из коробки этого сделать нельзя, но есть вариант, и сейчас я покажу, как это можно сделать. Приступим.
Откройте свойства системы (иконка Компьютер -> клик правой кнопкой мыши -> Свойства, или наберите команду sysdm.cpl в командной строке cmd) см. скриншоты:
Затем, перейдите во вкладку «Дополнительно», нажмите «Переменные среды», в списке системных переменных выберите «Path», нажмите «Изменить», в значении переменной добавьте через точку с запятой путь до директории «bin» в каталоге, где у вас установлена актуальная версия Java (в зависимости от установленной версии Java путь может быть различным.
Это может быть как системная папка Program Data, так и Program Files (в зависимости от установленной версии Java, а так же версии операционной системы).
На приведенном ниже скриншоте это директория C:\Program Data\Oracle\Java\javapath\) и затем нажмите «ОК»:
В виде небольшого отступления скажу, что по-умолчанию директория Program Data скрыта, для того чтобы ее увидеть нужно в Параметрах папок сделать видимыми системные и скрытие файлы, как показано на скриншоте:
Всё, Program Data доступна для просмотра:
Теперь идем по пути в каталог c Java и сверяем путь до исполняемых файлов:
Затем, нужно запустить командную строку с правами администратора, и с помощью команды cd перейдите в каталог, где у вас установлен Unifi Controller (обычно это \%userprofile%\Ubiquiti Unifi\), и выполните команду: java -jar libace.jar installsvc
В результате выполнения команды должно появиться такое сообщение:
На этом этапе мы зарегистрировали службу UfiFi контроллера.
Затем, откройте оснастку управления службами (команда services.msc) и удостоверьтесь, что служба UniFi Contoller присутствует в списке и ей присвоен необходимый тип запуска (например, Автоматический):
Для запуска UniFi Controller как службы Windows нажмите кнопку Запустить, или воспользуйтесь командой net start "UniFi Controller"
для запуска службы в режиме командной строки.
Важно знать, что теперь, перед обновлением контроллера UniFi нужно будет останавливать службу командой
java -jar libace.jar stopsvc
(может меняться в зависимости от того, откуда Вы запускаете команду). Затем запускать обновление контроллера, затем, после окончания обновления запускать командуjava -jar libace.jar startsvc
для старта службы.
Так же, если во время запуска службы UniFi Controller происходит ошибка, из разряда «Служба UniFi Controller» завершена из-за внутренней ошибки Неверная функция:
Или ошибка «Не удалось запустить службу «UniFi Controller» Специфическая ошибка службы: 1.:
то вам обязательно нужно проверить установленную Java или переустановить её (просто пройдите по ссылке на официальный сайт и скачайте версию под разрядность своей ОС: https://www.java.com/en/download/manual.jsp), если вы установили контроллер на х64-разрядной версии ОС – на всякий случай скачайте и установите обе версии Java (для х 586 и 64-битных ОС).
После переустановки Java запустите службу UniFi Contoller повторно. С вероятностью в 99% она запустится без ошибок.
На этом всё, теперь вы умеете настраивать запуск UniFi Contoller как службу в операционных системах Microsoft Windows, а так же умеете исправлять ошибки при запуске контроллера UniFi.
Если есть вопросы – задавайте в комментариях, подписывайтесь на обновления, делитесь статьей в социальных сетях.
Спасибо. Полезная статья. Более полная в отличии от оригинала. Только в синтаксисе команды ошибка допущена. Верное написание команды : java -jar lib\ace.jar installsvc
Ок, согласен.