==== Install Unifi controller on Ubuntu ====
//Follow [[https://community.ui.com/questions/UniFi-Installation-Scripts-or-UniFi-Easy-Update-Script-or-UniFi-Lets-Encrypt-or-Ubuntu-16-04-18-04-/ccbc7530-dd61-40a7-82ec-22b17f027776|these easy update instructions]] to install latest [[https://www.ui.com/download/unifi/|Unifi controller on Ubuntu]] and run once per month.//\\
//Make a copy of the VM first (keep NAT settings to force same IP), shut it down, and use the copy VM as a test.//
__22 May 2022__
Updated to version 7.1.65
__20 Apr 2022__
Updated to version 7.0.25
__31 Dec 2021__
Updated to version 6.5.55
__10 Oct 2021__
Updated to version 6.4.54
__18 Jul 2021__
Updated to version 6.2.26
__24 May 2021__
Updated to version 6.2.25
__29 Jan 2021__
Updated to version 6.0.45
__27 Jan 2021__
Disk space is running low and /var/lib/mongodb/journal/* has lots of files in it. On a test VM, modify /etc/mongod.conf to add in small files for journal. See https://docs.mongodb.com/v3.4/reference/configuration-options/
Then do the following:
sudo service mongodb stop (or find processID and kill it)
sudo rm -rf /var/lib/mongodb/journal/*
sudo service mongodb start (or reboot)
The WiredTigerLog files in /var/lib/mongodb/journal/* are still 100MB large but after testing the Unifi app with the old journals cleared out the web application is responding normally.
Since the test VM still had 100MB journal files, did not do that on the primary VM.
__9 Jan 2021__
Updated to version 6.0.43
__6 Dec 2020__
Updated to version 6.0.41
__23 Nov 2020__
Updated to version 6.0.36
__27 Oct 2020__
Updated to version 6.0.28
__18 Sep 2020__
Updated to version 6.0.22
__23 Aug 2020__
Updated to version 5.14.22
__20 Jul 2020__
Updated to version 5.13.32
__19 Jun 2020__
Updated to version 5.13.29
__16 May 2020__
Updated to version 5.12.72
__27 Mar 2020__
Updated to version 5.12.66
__24 Jan 2020__
MongoDB 3.4 keys expired. Fix following steps in https://stackoverflow.com/questions/34733340/mongodb-gpg-invalid-signatures
sudo apt-key list | grep -A 1 expired
Copy the 40-hex-digit fingerprint and run:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $FINGERPRINT
where $FINGERPRINT is the value you copied (if it contains spaces, put quotes around it).
__8 Nov 2019__
Updated to version 5.12.22
__11 Oct 2019__
Unifi controller update log:
* Initial version 5.7.23
* 11 Oct 2019 - upgraded to 5.11.50
* Needed help from author as I had an unsupported version of mongodb
* Make backup of your controller
* Purge unifi and mongodb
* apt purge unifi mongod* -y
* Install the controller again
* Restore the backup
dpkg -l | grep unifi
dpkg -l | grep mongo
dpkg --remove --force-remove-reinstreq unifi
wget https://get.glennr.nl/unifi/install/install_latest/unifi-latest.sh; chmod +x unifi-latest.sh; ./unifi-latest.sh
apt purge unifi mongod*
./unifi-latest.sh
./unifi-5.11.50.sh
./unifi-5.11.50.sh -skip
__12 Sep 2019__
Could not connect to the local Unifi controller monitoring webpage. See section about moving mongod to mongo.bin and next steps. After completing that, the service access using the web browser came back.
__Main install notes__
These instructions were validated for unifi controller v5.7.23 being installed on Ubuntu 18.04 LTS.
* Start with clean install of Ubuntu 18.04 on Oracle VirtualBox v5.2.12.
* Install java 8 using [[https://websiteforstudents.com/how-to-install-oracle-java-jdk8-on-ubuntu-16-04-17-10-18-04-desktops/|websiteforstudents.com]] or [[https://tecadmin.net/install-oracle-java-8-ubuntu-via-ppa/|tecadmin.net]].
* If desired, install the [[https://firewalld.org/|firewall GUI administration tool]] from Software Center (apt install gnome-software)
* Review the [[https://help.ubnt.com/hc/en-us/articles/218506997-UniFi-Ports-Used|Unifi ports to open]]
* As of 14 July 2018, add TCP ports 8080, 8443 and UDP 3478 to public/permanent
* Also add 8880 if you want guest portal access
* Note: Enabling Cloud Access and accessing the controller via [[https://unifi.ubnt.com]] instead does not require opening 8443, and is safer since no direct Internet access is permitted to your controller's management.
$ sudo -s
$ cd /root
$ mkdir downloads
Download and then install the latest controller software from [[https://www.ubnt.com/download/unifi/|ubnt.com]]. It will be named something like "unifi_sysvinit_all.deb":
apt-get install ./unifi_sysvinit_all.deb
Fix /usr/bin/mongod as noted in [[https://community.ubnt.com/t5/UniFi-Wireless/Unifi-controller-on-Ubuntu-18-04/td-p/2331657|community.ubnt.com]]:
$ cd /usr/bin
$ sudo -s
$ mv mongod mongod.bin
Replace mongod with the following:
#!/bin/bash
cleaned_args=$(echo $* | sed -e 's/--nohttpinterface//')
exec /usr/bin/mongod.bin ${cleaned_args}
Fix permissions:
$ chmod +x mongod
Restart services:
$ systemctl restart unifi
$ systemctl status unifi
If desired, cat /var/log/unifi/server.log and mongod.log to ensure no errors are reported.
Now you may use the VM or another machine to access the webpage on the virtual machine's IP (https://VM_IP_ADDRESS:8443/login)
If the AP can't be found, do the following:
ssh to AP IP address and login as ubnt, using the default password ubnt. You may need to factory reset the controller if the password has been changed.
Tell the AP where the controller software is running (IP below is VirtualMachine noted above):
set-inform http://192.168.1.182:8080/inform
Then login to the controller and adopt the AP.
NOTE: If the controller won't adopt, you may have to factory reset it by logging via ssh and issuing hte command ''set-default''. See tips at [[https://lazyadmin.nl/home-network/unifi-adoption-failed/]]
Always follow the instructions when you ssh into the AP...you may need to run the ''set-inform'' command again.
Additional notes on adopting a new AP: https://help.ubnt.com/hc/en-us/articles/360012622613-UniFi-Device-Adoption
__Other notes__:
* [[https://calvin.me/install-unifi-controller-ubuntu/]]
* To get to the AP properties which list the radio channels and power output, click on "Statistics" in the controller's left sidebar and then click the AP's MAC address.