UniFi controller jako služba
Všiml jsem si, že Guest wifi nepřesměrovává uživatele na portálovou stránku, na které by měl zadat heslo. Pak jsem zjistil, že jsem patchoval server, na kterém je nainstalován UniFi controller – no a že jsem se na tom serveru po restartu nepřihlásil a nespustil obslužný program. Je to hodně nepraktické, proto jsem začal hledat, jak to vyřešit.
Cesty jsou minimálně dvě – buď navázat start UniFi programu na Task Scheduler nebo spouštět UniFi jako windows službu. Přiklonil jsem se k druhému řešení. Na serveru jsem měl nainstalovanou Java 8 x64, spouštění UniFi on-demand šlapalo bez problémů. Java 8 (zdá se) již má vyřešenu cestu ke spustitelným souborům pomocí symlinků v adresáři C:\ProgramData\Oracle\Java\javapath, přičemž tento adresář je uveden v PATH. Takže jsem si z tohoto návodu vzal jen kousek.
cmd.exe spuštěný jako administrátor
cd %USERPROFILE%\Ubiquiti UniFi
java -jar lib\ace.jar installsvc
Následně jsem zadal
net start unifi
No a nic, zvláštní chyba. Zkrátím to – vyplatí se pozorně číst i poznámky kurzívou
If you are using Windows x64 please install both the x86 AND the x64 version of Java otherwise the service will not properly start.
Takže jsem nainstaloval Java 8 x86 (Oracle používá značení i586), net start unifi, chvilka napětí – a služba naběhla. Takže si sem raději rovnou píšu i to, jak v budoucnu korektně provést aktualizaci:
cd %USERPROFILE%\Ubiquiti UniFijava -jar lib\ace.jar stopsvc
Nyní je možné provést vlastní update. Po něm stačí spustit
java -jar lib\ace.jar startsvc
Fakt by mne zajímalo, jestli je to stopnutí tímhle způsobem potřeba nebo jestli by stačilo net stop/start, případně stopnutí služby UniFi přes GUI.