
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