==== 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.