
UniFi OS Server rappresenta una soluzione sempre più interessante per chi desidera centralizzare la gestione della propria infrastruttura di rete in modo semplice, moderno e scalabile.
Installarlo su Ubuntu 24.04 permette di sfruttare una piattaforma stabile, aggiornata e adatta sia ad ambienti domestici evoluti sia a contesti professionali di piccole e medie dimensioni.
In questo articolo vedremo come eseguire l’installazione e la configurazione base di UniFi OS Server su Ubuntu 24.04, partendo dai prerequisiti fino ai primi passaggi fondamentali per rendere il sistema operativo e pronto alla gestione dei dispositivi UniFi.
L’obiettivo è fornire una guida pratica e lineare, utile per chi vuole avvicinarsi a questa piattaforma senza perdersi in configurazioni complesse fin dall’inizio.
Al termine della procedura avrai un’istanza funzionante di UniFi OS Server, configurata correttamente e pronta per essere personalizzata in base alle esigenze della tua rete.
ATTENZIONE: oggi UniFi OS Server è il metodo nuovo e consigliato da Ubiquiti per il self-hosting, e sostituisce il vecchio UniFi Network Server. Su Linux, Ubiquiti richiede Ubuntu 23.04+ e usa Podman + slirp4netns per l’installazione. L’ultima release che risulta disponibile è UniFi OS Server 5.0.6 for Linux (x64).
PREREQUISITI
Ubiquiti indica la seguente configurazione per Linux:
- Ubuntu 23.04 o superiore
- CPU x86-64
- almeno 2 GB RAM
- almeno 10 GB liberi
- podman 4.3.1+ e slirp4netns 1.2+
AGGIORNAMENTO DEL SISTEMA
|
0 1 2 |
sudo apt update sudo apt full-upgrade -y sudo reboot |
Dopo il riavvio rientrare via terminale/SSH.
INSTALLAZIONE DI PODMAN E SLIRP4NETNS
Questo è il passaggio ufficiale richiesto da Ubiquiti per Linux.
|
0 1 |
sudo apt-get update sudo apt-get install -y podman slirp4netns |
Controllare le versioni installate con i seguenti comandi:
|
0 |
podman --version |
Dovremmo visualizzare un output simile al seguente:
|
0 |
podman version 4.9.3 |
Quindi eseguire il comando:
|
0 |
slirp4netns --version |
Dovremmo visualizzare un output simile al seguente:
|
0 1 2 3 4 |
slirp4netns version 1.2.1 commit: 09e31e92fa3d2a1d3ca261adaeb012c8d75a8194 libslirp: 4.7.0 SLIRP_CONFIG_VERSION_MAX: 4 libseccomp: 2.5.5 |
DOWNLOAD DELL’INSTALLAER DI UNIFI OS SERVER
Ubiquiti indica di prendere il link diretto del file Linux x64 dalla pagina download o dalle release, poi scaricarlo con curl o wget, renderlo eseguibile ed eseguirlo.
Apri la pagina download di UniFi OS Server e copia il link dell’ultima release Linux (x64) disponbile.
https://ui.com/download/software/unifi-os-server
NOTA BENE: al momento della stesura del seguente articolo l’ultima versione disponibile è la UniFi OS Server 5.0.6 for Linux (x64)
Sul server Ubuntu eseguire i comandi di seguito risporati sostituendo l’URL con quello copiato:
|
0 1 |
cd /tmp wget "https://fw-download.ubnt.com/data/unifi-os-server/1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64" |
Controllare il nome del file scaricato con il comando:
|
0 |
ls -lh |
Dovremmo trovare il seguente file:
|
0 |
1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64 |
RENDERE IL FILE ESEGUIBILE E AVVIARE L’INSTALLAZIONE
Eseguire il comando:
|
0 |
chmod +x 1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64 |
Quindi avviare l’installazione con il comando:
|
0 |
sudo ./1856-linux-x64-5.0.6-33f4990f-6c68-4e72-9d9c-477496c22450.6-x64 |
Alla domanda:
|
0 |
You are about to install UOS Server version 5.0.6. Proceed? (y/N): |
Premere Y
Se è andato tutto a buon fine dovremmo visualizzare il seguente output:
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
INFO Installing UOS Server 5.0.6... INFO Checking compatible podman runtime available... INFO Checking disk space for required directories... INFO - /home/: Requires 15.00 GB, available 28.17 GB INFO - /var/lib/uosserver/: Requires 1.00 GB, available 28.17 GB INFO - /usr/local/bin/: Requires 0.12 GB, available 28.17 GB INFO - /tmp/: Requires 2.00 GB, available 28.17 GB INFO - /var/tmp/: Requires 2.00 GB, available 28.17 GB INFO All disk space requirements met. INFO Checking ports... INFO Adding uosserver user and group... INFO Adding user 'root' to 'uosserver' group... INFO Creating /var/lib/uosserver dir... INFO Creating /var/lib/uosserver/logs dir... INFO Creating /var/lib/uosserver/bin dir... INFO Creating /home/uosserver/tmp dir... INFO Setting up /usr/local/bin/uosserver binary... INFO Setting up /usr/local/bin/uosserver-purge binary... INFO Setting up /var/lib/uosserver/bin/discovery binary... INFO Setting up /var/lib/uosserver/bin/pasta binary... INFO Setting up /var/lib/uosserver/bin/uosserver-service service binary... INFO Setting up /var/lib/uosserver/bin/updater-service binary... INFO Initializing podman conf... INFO Allowing raw socket execution... INFO Creating file /var/lib/uosserver/server.conf... INFO Config set UOS_UUID=8ad0470d-bf8d-595f-85a4-6adaac647f51 INFO Config set CONTAINER_VERSION=0.0.54 INFO Config set UOS_SERVER_VERSION=5.0.6 INFO Config set NETWORK_MODE=pasta INFO Creating systemd services... INFO Loading container image... INFO [podman] Getting image source signatures INFO [podman] Copying blob sha256:b7fe3d1983242adf9765bc16155a1dc9d621b7e54d32060f806fc121a65fd637 INFO [podman] Copying blob sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 INFO [podman] Copying blob sha256:632a1a8daa7590599cc733470c6fa2cf39735430febf72016f33ed37a943e237 INFO [podman] Copying blob sha256:cf4be161aa1de3cf14fa15d9611898552c9cc01c18563acb37324d19077afbd6 INFO [podman] Copying blob sha256:9dedd62b9228b7f8a7c95677425772d778033ce15f979d2b08ec9e95d71eac10 INFO [podman] Copying blob sha256:0fb3170f3e0f99ca912f8d5768fedfac1b8ce6c99ce530eb38885cf3dd36961e INFO [podman] Copying blob sha256:f7604bf526f0462afa853691be9d2e087358a1331bfa1a8e7f442c9350ac1fb9 INFO [podman] Copying blob sha256:41c4718d584d57ba2f4060f80b2afc40ddd79869da751ca66435acbf2fd32035 INFO [podman] Copying config sha256:0faf0b7f0e4ebcbbae964ab0876fab00e47c166d67e649daa4143f7c53e62977 INFO [podman] Writing manifest to image destination INFO [podman] Loaded image: docker.io/library/uosserver:0.0.54 INFO Config set CONTAINER_IMAGE_NAME=docker.io/library/uosserver:0.0.54 INFO Starting container... INFO 6972ac2043407a0ab6d699d312ad3a4f219e4f0078fa4610d7e866b39f72ab74 INFO run --detach --pids-limit 65536 --systemd=always --cap-add=NET_RAW --cap-add=NET_ADMIN --name uosserver --restart unless-stopped --health-cmd curl --fail http://127.0.0.1/api/ping || exit 1 --health-interval 60s --health-timeout 5s --health-retries 3 --network pasta:--ns-ifname,eth0,--map-host-loopback,203.0.113.113,--dns-forward,203.0.113.113 --add-host host.docker.internal:203.0.113.113 --add-host host.containers.internal:203.0.113.113 --dns 203.0.113.113 -e UOS_UUID=8ad0470d-bf8d-595f-85a4-6adaac647f51 -e UOS_SERVER_VERSION=5.0.6 -e FIRMWARE_PLATFORM=linux-x64 -v uosserver_persistent:/persistent -v uosserver_var_log:/var/log -v uosserver_data:/data -v uosserver_srv:/srv -v uosserver_var_lib_unifi:/var/lib/unifi -v uosserver_var_lib_mongodb:/var/lib/mongodb -v uosserver_etc_rabbitmq_ssl:/etc/rabbitmq/ssl -p 11443:443 -p 5005:5005 -p 9543:9543 -p 6789:6789 -p 8080:8080 -p 8443:8443 -p 8444:8444 -p 3478:3478/udp -p 5514:5514/udp -p 10003:10003/udp -p 11084:11084 -p 5671:5671 -p 8880:8880 -p 8881:8881 -p 8882:8882 docker.io/library/uosserver:0.0.54 INFO Config set CONTAINER_ARG_HASH=6972ac2043407a0ab6d699d312ad3a4f219e4f0078fa4610d7e866b39f72ab747689b15fbc14594ed82584a1393c33c78b2ab638c1cf7c0648f8cfb901c18913 INFO Waiting for container 'uosserver' to start (timeout: 60s) INFO Container 'uosserver' is running. (elapsed: 0.0s) INFO Waiting for systemd to be ready (timeout: 60s) INFO Systemd is ready. (elapsed: 7.8s) INFO Starting uosserver systemd service... INFO Waiting for UOS Server to start... WARN Timeout: Unifi-core did not start within 60 seconds. WARN !!! INSTALLATION COMPLETE !!! To grant permission for a user to run 'uosserver' commands: -> Add the user to the 'uosserver' group: usermod -aG uosserver <username> -> Then log out and log back in for the changes to take effect. To get started with available commands, run: uosserver help WARNING: UOS Server startup timed out after 60 seconds. On low-powered devices, the web interface can take a few minutes to be accessible. Try opening it at: 192.168.1.120:11443 |
CONTROLLARE CHE IL SERVIZIO SIA ATTIVO
Ubiquiti indica che il servizio systemd si chiama uosserver.
Verificare lo stato con il comando:
|
0 |
systemctl status uosserver --no-pager |
Se è tutto OK dovremmo un output simile al seguente:
|
0 1 2 3 4 5 6 7 8 9 |
● uosserver.service - Unifi OS Service Loaded: loaded (/etc/systemd/system/uosserver.service; enabled; preset: enabled) Active: active (running) since Sun 2026-03-22 13:23:30 UTC; 2min 39s ago Main PID: 3096 (uosserver-servi) Tasks: 8 (limit: 2262) Memory: 8.0M (peak: 19.7M swap: 3.2M swap peak: 3.2M) CPU: 3.866s CGroup: /system.slice/uosserver.service ├─3096 /var/lib/uosserver/bin/uosserver-service └─3111 /var/lib/uosserver/bin/discovery |
Per abilitarlo all’avvio eseguire il comando:
|
0 |
sudo systemctl enable uosserver |
Per riavviare il servizio eseguire il comando:
|
0 |
sudo systemctl restart uosserver |
Per fermarlo/avviarlo manualmente eseguire i comandi:
|
0 1 |
sudo systemctl stop uosserver sudo systemctl start uosserver |
ACCESSO DA INTERFACCIA WEB
Per il login locale ai self-hosted Network Server, Ubiquiti indica la porta 11443.
Apri da un qualsiasi browser il seguente link:
https://IP_DEL_SERVER:11443
Accettare l’eventuale avviso del certificato e completare il wizard.
RIMOZIONE DI UNIFI OS SERVER
Di seguito una sequenza completa per rimuovere i residui di UniFi OS Server, compresi servizio, processi, container, binari, utente e gruppo uosserver.
Eseguire tutti i comandi come root oppure con sudo.
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
sudo systemctl stop uosserver 2>/dev/null || true sudo systemctl disable uosserver 2>/dev/null || true sudo pkill -f uosserver || true sudo pkill -u uosserver 2>/dev/null || true podman rm -f $(podman ps -aq) 2>/dev/null || true podman image prune -a -f 2>/dev/null || true sudo rm -f /usr/local/bin/uosserver sudo rm -f /etc/systemd/system/uosserver.service sudo systemctl daemon-reload sudo rm -rf /var/log/uosserver sudo rm -rf /var/lib/uosserver sudo rm -rf /opt/uosserver sudo rm -rf /usr/local/share/uosserver sudo rm -rf /home/uosserver sudo userdel -r uosserver 2>/dev/null || sudo userdel uosserver 2>/dev/null || true sudo groupdel uosserver 2>/dev/null || true sudo cp /etc/passwd /etc/passwd.bak sudo cp /etc/shadow /etc/shadow.bak sudo cp /etc/group /etc/group.bak sudo cp /etc/gshadow /etc/gshadow.bak sudo sed -i '/^uosserver:/d' /etc/passwd sudo sed -i '/^uosserver:/d' /etc/shadow sudo sed -i '/^uosserver:/d' /etc/group sudo sed -i '/^uosserver:/d' /etc/gshadow getent passwd uosserver getent group uosserver id uosserver grep '^uosserver:' /etc/passwd /etc/shadow /etc/group /etc/gshadow |
Al termine dell’esecuzione dei comandi se è andato tutto a buon fine dovremmo visualizzare il seguente output:
|
0 |
nessun output per getent |

0 commenti