
Gestire un server web in modo efficiente e sicuro è una priorità per amministratori di sistema, sviluppatori e hosting provider. Froxlor rappresenta una soluzione leggera e versatile per la gestione dei servizi di hosting, offrendo un pannello di controllo open source con cui configurare domini, email, FTP, certificati SSL e molto altro, tutto da un’interfaccia intuitiva.
In questa guida vedremo come installare e configurare Froxlor con Nginx su Ubuntu Server 24.04, partendo da un’installazione pulita del sistema operativo.
Al termine, avrai un ambiente funzionante e pronto per ospitare siti web e gestire i principali servizi del tuo server in modo centralizzato e semplice.
PREREQUISITI
- Ubuntu Server 24.04 LTS
- Accesso utente con privilegi sudo
- Connessione Internet
- Hostname configurato
- DNS configurato (facoltativo)
- Pacchetti base: software-properties-common, curl, wget, gnupg, lsb-release
- Nginx
- MariaDB o MySQL
- PHP 8.1+ con moduli
- Pacchetti aggiuntivi: zip, unzip, htop, postfix o exim4
- Accesso SSH attivo
INSTALLAZIONE DEL SERVER NGINX
Froxlor richiede un server web.
In questo post installerò il web server Nginx per eseguire Froxlor.
Aprire il terminale Ubuntu ed eseguire i comandi seguenti:
|
0
1
|
sudo apt update
sudo apt install nginx
|
Una volta installato Nginx abilitarlo all’avvio automatico del server con i comandi:
|
0
1
|
sudo systemctl start nginx
sudo systemctl enable nginx
|
INSTALLAZIONE DEL DATABASE SERVER MARIADB
Il componente successivo necessario per l’esecuzione Froxlor è un databasxe server.
In questo articolo installerò il database server MariaDB.
Aprire il terminale Ubuntu ed eseguire i comandi:
|
0
1
|
sudo apt update
sudo apt install mariadb-server
|
Una volta installato MariaDB abilitarlo all’avvio automatico del server con i comandi:
|
0
1
|
sudo systemctl start mariadb
sudo systemctl enable mariadb
|
CREAZIONE UTENTE DEL DATABASE DI FROXLOR
Dopo aver installato correttamente MariaDB creare un utente del database sul server specifico per l’applicazione Froxlor.
Come parte della configurazione, creeremo un account utente chiamato froxroot.
Accedere a MariaDB con il comando:
|
0 |
sudo mariadb |
Quindi eseguire i comandi seguenti per completare i passaggi:
|
0
1
2
3
|
CREATE USER 'froxroot'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'froxroot'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
|
NOTA BENE: Assicurati di sostituire “PASSWORD” con la tua password.
INSTALLAZIONE DI PHP
L’ultimo componente che dovrai eseguire Froxlor è PHP.
L’applicazione Froxlor è basata su PHP e supporta le ultime versioni di PHP.
Eseguire il comando seguente:
|
0 |
sudo apt install php-fpm php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-bcmath php-json php-sqlite3 php-soap php-gmp php-gnupg php-zip php-ldap php-imap
|
DOWNLOAD DI FROXFLOR
Iniziamo a scaricare e configurare i Froxlor file su Ubuntu Linux.
Per installare sempre l’ultima versione controlla la pagina di download di Froxlor al seguente link: https://files.froxlor.org/releases/
NOTA BENE: l’ultima versione stabile disponibile al momento della stesura del seguente articolo è la 2.2.8
Posizionarsi nella /tmp con il comando:
|
0 |
cd /tmp
|
Scaricare l’ìultima versione stabile disponibile con il seguente comando:
|
0 |
wget https://files.froxlor.org/releases/froxlor-latest.tar.gz
|
Estrarre il contenuto del .tar con il comando:
|
0 |
sudo tar xvfz froxlor-latest.tar.gz -C /var/www/
|
Modificare le autorizzazioni con il comando:
|
0 |
sudo chown -R www-data:www-data /var/www/froxlor/
|
Una volta completati tutti i passaggi precedenti continua configurare il server Web Nginx.
Creare un file host virtuale Nginx per Froxlor con il comando:
|
0 |
sudo nano /etc/nginx/sites-available/froxlor.conf
|
Quindi copiare e incollare il blocco di contenuto sottostante nel blocco del server Nginx.
|
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
server {
listen 80;
listen [::]:80;
root /var/www/froxlor;
index index.php;
server_name froxlor.test.lab;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
|
Salvare e chiudere il file di configurazione.
NOTA BENE: sostituire froxlor.test.lab con il nome del server
Abilitare l’host virtuale e riavviare il server Nginx con i seguenti comandi:
|
0
1
2
|
sudo ln -s /etc/nginx/sites-available/froxlor.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx.service
sudo systemctl restart php8.3-fpm
|
CONFIGURAZIONE DI FROXFLOR DA INTERFACCIA WEB
Richiamare da un qualsiasi browser il seguente link:
http://FQDN-SERVER-O-IP
Cliccare Start Install
Verificare che la versione del PHP sia corretta quindi cliccare Start Installation
Inserire le informazioni relative al Database quindi cliccare Next
Definire la password dell’utente admin quindi inserire un indirizzo mail valido. Cliccare Next
Verificare che tutte le info siano corrette quindi cliccare Next
Selezionare I will manually configure the services…. per configurare i servizi a mano dopo aver fatto il login quindi cliccare Finish Setup
Inserire le credenziali di admin create poco fa quindi cliccare Login
Se è andato tutto a buon fine dovremmo visualizzare la Home Page di Froxlor
Cliccare Configure Now
In questa pagina è possibile visualizzare i diversi modelli di configurazione per ciascun servizio, riconfigurare servizi specifici se necessario o esportare la selezione corrente in un file JSON da utilizzare negli script CLI o su un altro server.
Questa sezione serve per definire quali servizi di sistema (come HTTP, DNS, FTP, SMTP, ecc.) Froxlor deve gestire e configurare. È una parte fondamentale del setup iniziale.
La pagina è suddivisa in diverse sezioni di configurazione, ognuna dedicata a un tipo di servizio:
1️⃣ HTTP (Webserver)
Permette di scegliere quale server web usare per gestire i siti hostati.
Opzioni disponibili:
- Don’t (re)configure → Froxlor non toccherà la configurazione del server web.
- Apache 2.4 → Configura Apache come web server principale.
- Lighttpd (deprecated) → Vecchio supporto per Lighttpd, non più raccomandato.
- nginx → Configura nginx come web server (raccomandato).
Le voci in rosso (con l’asterisco) sono quelle consigliate in base al tuo sistema.
2️⃣ DNS
Gestisce il server DNS che Froxlor può configurare.
Opzioni:
- Don’t (re)configure → Nessuna configurazione DNS.
- Bind9 nameserver → Usa Bind9 come server DNS.
- PowerDNS (standalone) → Configura PowerDNS in modalità standalone.
- PowerDNS via bind-backend → PowerDNS che usa Bind come backend.
3️⃣ SMTP
Configura il servizio di posta in uscita (Mail Transfer Agent).
Opzioni:
- Don’t (re)configure → Nessuna configurazione del servizio SMTP.
- Postfix with Dovecot → Installa e configura Postfix (MTA) e Dovecot (per l’autenticazione/IMAP/POP3).
4️⃣ MAIL
Gestisce il servizio di posta in entrata (per gli utenti).
Opzioni:
- Don’t (re)configure
- Dovecot with Postfix → Imposta Dovecot per la gestione delle caselle email.
5️⃣ ANTISPAM
Sistema di filtraggio spam per le email.
Opzioni:
- Don’t (re)configure
- Rspamd → Configura Rspamd come filtro antispam (più moderno ed efficiente).
6️⃣ FTP
Server FTP per trasferimento file dei clienti.
Opzioni:
- Don’t (re)configure
- ProFTPD → Server FTP classico, molto usato.
- Pure-FTPd → Alternativa leggera e veloce.
ProFTPD è generalmente consigliato da Froxlor.
7️⃣ SYSTEM
Servizi e componenti di sistema che supportano Froxlor.
Opzioni:
- Webalizer, goaccess, Awstats → Analizzatori di traffico web.
- libnss-extrausers → Libreria necessaria per gestire utenti e password fuori da /etc/passwd (utile in hosting condiviso).
- Logrotate → Gestione automatica dei log.
- PHP-FPM → Gestione dei processi PHP (consigliato per Nginx).
- Cronjob for Froxlor → Imposta i cron job che fanno funzionare i task automatici del pannello (fondamentale).
- FCGID → Alternativa a PHP-FPM (per Apache).
Funzioni extra della pagina
- Select recommended → Seleziona automaticamente i servizi consigliati in base alla distribuzione e alle impostazioni correnti.
- Export selected → Esporta la configurazione in un file JSON (utile per script CLI o altri server).
- Proceed → Applica la configurazione selezionata e passa allo step successivo del setup.
- Distribution: [nome] → Mostra la distribuzione Linux rilevata (in questo caso noble, probabilmente Ubuntu 24.04).
- Setup starten (in alto a destra) → Avvia il processo di configurazione guidata.
Nota blu in alto
“System not configured yet. Click here to go to configurations.”
Significa che Froxlor non è ancora configurato: devi completare questa pagina e avviare la configurazione per rendere operativo il pannello.
Per far prima è possibile cliccare su Select reccomended per selezionare tutti e solo i parametri obbligatori. Quindi Proceed
Copiare il comando quindi eseguire da console con l’utenza di root
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
|
Creating missing certificate /etc/ssl/froxlor_selfsigned.pem
--- Configuring: HTTP ---
Configuring 'nginx'
Installing required packages
Reading package lists...
Building dependency tree...
Reading state information...
nginx is already the newest version (1.24.0-2ubuntu7.5).
0 upgraded, 0 newly installed, 0 to remove and 20 not upgraded.
Creating file "/etc/nginx/nginx.conf"
Creating file "/etc/nginx/fastcgi_params"
--- Configuring: DNS ---
Skipping DNS configuration as desired
--- Configuring: SMTP ---
Skipping SMTP configuration as desired
--- Configuring: MAIL ---
Skipping MAIL configuration as desired
--- Configuring: ANTISPAM ---
Skipping ANTISPAM configuration as desired
--- Configuring: FTP ---
Configuring 'proftpd'
Installing required packages
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
libhashkit2t64 libhiredis1.1.0 libmemcached11t64 libmemcachedutil2t64 libpcre2-posix3 proftpd-doc
Suggested packages:
openbsd-inetd | inet-superserver proftpd-mod-ldap proftpd-mod-odbc proftpd-mod-pgsql proftpd-mod-sqlite proftpd-mod-geoip proftpd-mod-snmp
The following NEW packages will be installed:
libhashkit2t64 libhiredis1.1.0 libmemcached11t64 libmemcachedutil2t64 libpcre2-posix3 proftpd-core proftpd-doc proftpd-mod-crypto proftpd-mod-mysql proftpd-mod-wrap
0 upgraded, 10 newly installed, 0 to remove and 20 not upgraded.
Need to get 3,207 kB of archives.
After this operation, 10.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]
|
Premere Y per procedere
|
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
Creating file "/etc/proftpd/create-cert.sh"
....+.+.........+..+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....+...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.....+...............+.................................+..........+..............+............+.+..............+.+.....+....+.........+..+...+.........+.+..+....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
....+.....+......+....+...............+...+.....+.......+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*........+....+..+...+................+...........+.+..+......+.......+..............+....+..+..................+..........+.....+..........+.....................+........+......+.+..............+................+.........+.....+.+........+...+...+.......+..................+.........+............+..............+.........................+.................+.......+..+...+.......+......+..+...+...+....+........+.............+.........+......+......+...+.....+.+..+...+....+...+...+...........+...+.+............+............+...+..+......+......................+.....+.........+.............+.....+...+..........+...+.....+.+.....+....+....................+...............+.........+...+.........+......+....+........+.......+........................+..+...+.........+..................+.......+......+..+.............+......+........+.+.....+.......+...+.....+.+.........+..............+.............+...+..............+.+...........+.............+...+..+.......+......+...+............+..+.+.....+............+...+.+......+..............+..........+...+..+...+.+......+...........+....+...+..+...+.......+....................+.+.....+...............+...+.......+...+....................+....+......+.........+.....+................+...........+...+...............................+...........+......+....+...+...........+.+........+.............+..+...+...+....+...+.....+.......+.................+......+............+.+.....+.+..............+.+.....+.+..+...........................+.............+......+..+.......+...+.......................+..........+..+....+...+...+....................+...+....+..+.+.........+...+...+.................+.+......+...........+......................+..................+..+......+.+......+..+......+...........................+....+.....+...+..........+...........+......+.........+......+....+...........+.+..+..........+......+.................+.........+......+...+...................+...+..+.+......+.....+..........+...+.....................+............+.....+....+.........+..+..........+..+...+.......+..+...............+..........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-----
-----
Creating file "/etc/proftpd/proftpd.conf"
Creating file "/etc/proftpd/modules.conf"
Creating file "/etc/proftpd/sql.conf"
Creating file "/etc/proftpd/tls.conf"
Creating file "/etc/proftpd/conf.d/99-froxlor-ratelimit.conf"
--- Configuring: SYSTEM ---
Configuring 'goaccess'
Installing required packages
Reading package lists...
Building dependency tree...
Reading state information...
jq is already the newest version (1.7.1-3ubuntu0.24.04.1).
jq set to manually installed.
The following NEW packages will be installed:
goaccess
0 upgraded, 1 newly installed, 0 to remove and 20 not upgraded.
Need to get 396 kB of archives.
After this operation, 1,398 kB of additional disk space will be used.
Do you want to continue? [Y/n]
|
Premere Y per procedere
Se è andato tutto a buon fine dovremmo vedere il seguente output:
|
0 |
All services have been configured
|
Riavviare Nginx e FPM con i seguenti comandi:
|
0
1
|
sudo systemctl restart nginx.service
sudo systemctl restart php8.3-fpm
|
A questo punto richiamare Froxlor da browser
Dovremmo visualizzare la Dashboard di Froxlor come mostrato nell’immagine sovrastante
FUNZIONALITA’ E CONSIDERAZIONI FINALI
⚙️ Funzionalità principali di Froxlor
Pannello di controllo web per la gestione completa del server
Supporto per Nginx e Apache
Gestione domini e sottodomini
Configurazione automatica di virtual host
Gestione account FTP e database MySQL/MariaDB
Creazione e gestione caselle email, alias e autoresponder
Integrazione con Let’s Encrypt per certificati SSL gratuiti
Gestione risorse e limiti per clienti e rivenditori (quota disco, traffico, ecc.)
Interfaccia multi-utente (admin, reseller, cliente)
Statistiche di traffico e log accessibili dal pannello
Compatibilità con IPv4 e IPv6
API per automazione e integrazioni esterne
Gestione cron job e configurazioni PHP per singolo dominio
Considerazioni finali
Leggero e open source: ideale per chi cerca un pannello di controllo senza il peso di soluzioni più complesse come cPanel o Plesk.
Facile da configurare: perfetto per ambienti VPS o dedicati con Ubuntu e Debian.
Altamente personalizzabile: si adatta a diversi scenari (hosting personale, piccoli provider, test lab).
Sicurezza e stabilità: richiede una corretta configurazione di permessi, SSL e aggiornamenti regolari.
Comunità attiva e documentazione chiara: supporto disponibile tramite forum e wiki ufficiale.
Conclusione
Froxlor si conferma una soluzione solida e leggera per chi desidera gestire in modo completo un server web senza ricorrere a pannelli di controllo commerciali.
La sua interfaccia pulita, la compatibilità con Nginx e la gestione semplificata di domini, email e risorse lo rendono un alleato ideale per sviluppatori, sysadmin e piccoli provider di hosting.
Grazie alla sua natura open source e alla facilità di configurazione su distribuzioni come Ubuntu 24.04, Froxlor offre un equilibrio perfetto tra potenza, flessibilità e controllo diretto sul proprio ambiente server.
Inoltre, l’integrazione nativa con Let’s Encrypt e il supporto per più utenti lo rendono adatto anche a scenari multi-tenant o professionali.
In definitiva, se stai cercando un pannello di controllo affidabile, personalizzabile e gratuito, Froxlor è una scelta che unisce semplicità e funzionalità avanzate, offrendo tutti gli strumenti necessari per amministrare con efficienza il tuo hosting su Ubuntu.

0 commenti