How to install Ubiquiti UniFi Controller software?

Has anyone got UBNT controller software working on an openSUSE system?
A recent build is available here (grateful thanks) but the software seems to need mondodb-server 3.2 and java 8 to satisfy dependencies. I can’t find them.
Installation works up to a point (I can logon; create new site, access settings - data entered is retained), but associated APs are not recognised and cannot be configured.

I need help.

Hi
Have a look at the build comments here;
https://build.opensuse.org/package/show/home%3Ahgraeber/unifi

Suggestion is docker…

“mondodb” -> “mongodb”?
https://software.opensuse.org/package/mongodb

Agreed, according to the build requirements reference above, should be mongodb.
That, and openjdk 8 are available. Oracle Java might be required, but that would be surprising.

TSU

Please pardon the bad reference. Thanks for understanding. I meant to say ‘mondodb’.

UBNT is aimed at enterprise setups. From my understanding of the release notes openjdk 8 is preferred. The notes say that Oracle Java can be used with setup changes. So not required.

I will have a look at ‘docker’. Thanks.

Thanks. I read that suggestion earlier but knowing nothing about ‘docker’ I passed it by. With more understanding of the issues I now understand why the packager suggested using docker. The release notes for the docker image make facinating reading. Seems a good solution but sadly not practical with my very limited computer skills.

Docker is only an option.
There are some advantages to running in Docker but overall I’d say it’probably about equal complexity installing the app without Docker if you’ve never wired up a Docker app.

TSU

I had this running. And you have it too, otherwise the webinterface would not show up. Are you sure your AP’s are in the same network, i.e. that they are accessible. And, did you check firewall requirements? F.e. turn the firewall off for the machine you run the Unify control server on.

Thanks for responding. UCS is installed and running. The only startup errors reported relate to a missing key and two certificates.
journalctl -u unifi reports:
11:12:47 [host-name] systemd[1]: Starting unifi…
11:12:47 [host-name] import-cert[3715]: Missing key “/etc/ssl/servercerts/serverkey.pem”
11:12:47 [host-name] import-cert[3715]: Missing certificate “/etc/ssl/servercerts/servercert.pem”
11:12:47 [host-name] import-cert[3715]: Missing CA certificate “/etc/pki/trust/anchors/YaST-CA.pem”
11:12:47 [host-name] systemd[1]: Started unifi.
Mondod and Java are established on relevant ports, but versions are much more recent that UCS requires.
The problem is that UCS does not ‘detect’ related devices and is unable to ‘adopt’ and configure them.
Do you recall if your installation was able to ‘adopt’ related APs?

Are you sure your AP’s are in the same network, i.e. that they are accessible.

I believe so but i am not sure. My networking skills are very rusty. Router-switch is Edgerouter X. Network is on 192.168.1.0/24, test AP is on 192.168.1.39.

And, did you check firewall requirements? F.e. turn the firewall off for the machine you run the Unify control server on.

I am not confident using yast2 firewalld GUI. The UCS needs access to TCP: 22,8080,8443,8880,8843,6789,27117 and UDP: 3478,10001,1900. The TCP ports seem to be available. Not sure about UDP. I have not tried running UCS with firewall off. Thank you for pointing this out to me. I’ll give it a go.

:slight_smile: Thanks for your friendly help, Knurpt. With firewall turned off on machine running UCS the test AP is detected and can be adopted. Success!
So, it seems that UCS can be installed on openSUSE 15.1 running java 11 using packages for unifi and mongodb provided here so long as the user is able to correctly configure, or turns off, the firewall on the machine running UCS.

I am obviously struggling with firewalld. Is there an authoritative reference or user guide?

On checking the machine running UCS I note that the package java-1_8_0-openjdk-headless - OpenJDK 8 Runtime Environment is also installed, so report must be amended as: UCS can be installed on openSUSE 15.1 running OpenJDK 8 using packages for unifi and mongodb provided here so long as the user is able to correctly configure, or turns off, the firewall on the machine running UCS.

I have used hgraeber at https://software.opensuse.org/package/unifi

and got the hgraeber “One-click” install for unifi.ymp several times for Leap 423 and I think Leap 15 and it always worked OK,
with no need to add local firewall ports.

But that was several controller versions ago , maybe 6-9 months ago.

Even with the Unix zip from https://dl.ubnt.com/unifi/5.11.46/UniFi.unix.zip , Unifi worked out of the box OK. ( with Mongod 3.4 and Mongod 3.6 )
see https://forums.opensuse.org/showthread.php/531532-Ubiquity-Controller/page2?

I run my controller on windows, but did have several other linux comps that i used hgraebers unifi on to see controller or manage other access points.

Anyway, for future reference…

An active zone is any zone that is configured with an interface and/or a source.

Confirm that your " eth0 " is the only active interface and you are in the Public Zone …

To list active zones:

 firewall-cmd --get-active-zones

public
interfaces: eth0

OR

YAST → Firewall → click ZONES → --> shows it is PUBLIC on eth0 and is DEFAULT

click on EDIT to see rules…

Also in YAST -Firewall , goto Zones → Public -->PORTS
and see if any ports are open.

See …

https://help.ubnt.com/hc/en-us/articles/218506997-UniFi-Ports-Used

for the ports needed by Unifi.

Open Terminal as root …Terminal -Super User Mode is found in Applications → System

then copy/paste the commands…

 firewall-cmd --permanent --zone=public --add-port=8080/tcp;firewall-cmd --permanent --zone=public --add-port=8443/tcp;firewall-cmd --permanent --zone=public --add-port=8880/tcp;firewall-cmd --permanent --zone=public --add-port=8843/tcp;firewall-cmd --permanent --zone=public --add-port=6789/tcp;firewall-cmd --permanent --zone=public --add-port=27117/tcp;firewall-cmd --permanent --zone=public --add-port=3478/udp;  
  firewall-cmd --permanent --zone=public --add-port=10001/udp;firewall-cmd --permanent --zone=public --add-port=1900/udp;firewall-cmd --permanent --zone=public --add-port=5656-5699/udp

In the Terminal, type in…

 firewall-cmd --reload

Start Unifi Controller…maybe give firewall and Unifi 5 minutes to reload / refresh.

Also, hgraebers Unifi controller , I think, is the better of available controllers for opensuse.
I think he has the wrapper for Mongod server installed to simulate Mongod 3.4. I am showing mongod 3.6 installed, something i will maybe look at later.

Many thanks for posting this information. I trust it may be helpful for others as well.

Just completed the install, now going through the set, what is the default username and password?

Cancel that, I found you had too turn off using the Unify Account login…