22A Hue Street, Hanoi, Vietnam 0904092014 info@binhminhitc.com

This guide will show you how to install the Unifi Controller on the CentOS server to allow you to set a central portal for managing either single or multiple sites of unifi devices.

Let’s Get Started.


1. Install CentOS

ISO can be obtained from the internet for free and works on Hyper V or ESX (any potentially others)

2. Update CentOS

Updating CentOS is a simple command using Yum. You just want to make sure that CentOS is up to date before its gets off the ground running.

root@techshare.vn [~]# yu update -y

3. Install prerequisites

root@techshare.vn [~]#yum -y install epel-release
root@techshare.vn [~]# yum -y install mongodb-server java-1.8.0-openjdk unzip wget
root@techshare.vn [~]#systemctl start mongod
root@techshare.vn [~]#systemctl enable mongod
root@techshare.vn [~]#sed -i /etc/selinux/config -r -e 's/^SELINUX=.*/SELINUX=disabled/g'
root@techshare.vn [~]#systemctl reboot

4. Download and Extract the Unifi Controller (latest version can be found on unifi website)

root@techshare.vn [~]#useradd -r ubnt
root@techshare.vn [~]#cd ~ && wget http://dl.ubnt.com/unifi/5.6.30/UniFi.unix.zip
root@techshare.vn [~]#unzip -q UniFi.unix.zip -d /opt
root@techshare.vn [~]#chown -R ubnt:ubnt /opt/UniFi

5. Create Startup Script with Systemd

vi /etc/systemd/system/unifi.service
# Systemd unit file for UniFi Controller
Description=UniFi AP Web Controller
After=syslog.target network.target
ExecStart=/usr/bin/java -Xmx1024M -jar /opt/UniFi/lib/ace.jar start
ExecStop=/usr/bin/java -jar /opt/UniFi/lib/ace.jar stop

6. Configure Firewalld

systemctl stop firewalld.service
vi /etc/firewalld/services/unifi.xml
<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
<description>UniFi Controller</description>
<port port="8081" protocol="tcp"/>
<port port="8080" protocol="tcp"/>
<port port="8443" protocol="tcp"/>
<port port="8880" protocol="tcp"/>
<port port="8843" protocol="tcp"/>
<port port="10001" protocol="udp"/>
<port port="3478" protocol="udp"/>

systemctl start firewalld.service
firewall-cmd --set-default-zone=home # You can use one of the other zones, if you like. I prefer using home instead of the default "public", just adjust accordingly below.
firewall-cmd --permanent --zone=home --change-interface=eth0 # I only have one active interface on my UniFi server, eth0. This should be the interface that UniFi will be using.
firewall-cmd --permanent --zone=home --add-service=unifi

7. Enable on Startup

systemctl enable unifi.service

8. And to finish CLEANUP

rm -rf ~/UniFi.unix.zip
systemctl reboot

9. To access the webUI

Bbrowse to https://IP_OF_SERVER:8443 and follow the simple setup wizard. This is a simple step by step and if you follow exactly what was written your Unifi Server will work without issue. Hope you enjoyed, and please contact  if you have any feedback!