Accedi
Accedi

Come installare e configurare SSH su Ubuntu 22.04

Come installare e configurare SSH su Ubuntu 22.04
Hostman Team
Redattore tecnico
Sistema: Ubuntu Protocollo SSH
04.07.2025
Reading time: 6 min

SSH è un protocollo di rete che consente una connessione sicura tra un client e un server. Tutta la comunicazione è crittografata, impedendo il furto di dati trasmessi sulla rete e altri attacchi remoti.

Supponiamo che tu abbia ordinato un server cloud da Hostman. Avrai bisogno di SSH installato e configurato per poterti connettere e amministrare il server.

La guida qui sotto descrive come installare e configurare SSH su Ubuntu 22.04.

Prerequisiti

Before proceeding with the installation and configuration of the Secure Shell service, ensure the following requirements are met:

  • Competenze sulla riga di comando Linux 

Una buona conoscenza dei comandi base di Linux come sudo, apt, nano e systemctl è essenziale per configurare il servizio. Questi comandi saranno utilizzati spesso durante il processo. È importante sentirsi a proprio agio nell'ambiente a riga di comando per gestire il servizio in modo efficace.

  • Accesso root o sudo per l'installazione 

Sono richiesti privilegi amministrativi (root) per installare e configurare il server. Gli utenti devono avere accesso sudo o essere connessi come root. Senza questi privilegi non è possibile procedere.

  • Connessione Internet per scaricare i pacchetti 

È necessaria una connessione Internet stabile per installare il server OpenSSH e eventuali pacchetti aggiuntivi. Senza una connessione funzionante, il sistema non può recuperare i componenti richiesti.

  • Configurazione del firewall per consentire l'accesso 

Se sul sistema è attivo un firewall come ufw, è possibile che blocchi l'accesso remoto. È essenziale configurarlo per consentire le connessioni in ingresso. Usa ufw o un altro strumento per assicurarti che la porta 22 sia aperta.

  • Accesso al sistema (locale o remoto) 

Devi avere accesso fisico al computer per configurare il servizio in locale oppure deve essere accessibile da remoto tramite indirizzo IP. Assicurati che il sistema sia correttamente connesso alla rete.

Non dimenticare che puoi distribuire il tuo server cloud in modo rapido ed economico con il nostro servizio di VPS Hosting.

Passaggio 1: Preparare Ubuntu

La prima cosa da fare prima di installare SSH su Ubuntu è aggiornare tutti i pacchetti apt. Usa il comando: 

sudo apt update && sudo apt upgrade

Passaggio 2: Installare SSH su Ubuntu

OpenSSH non è installato di default, quindi procediamo con l'installazione manuale: 

sudo apt install openssh-server

L'installazione dei componenti necessari avrà inizio. Rispondi "Sì" a tutte le richieste del sistema.

Una volta terminata l'installazione, passa allo step successivo per avviare il servizio.

Passaggio 3: Avviare SSH

Ora attiva il servizio appena installato: 

sudo systemctl enable --now ssh

In caso di successo, riceverai un messaggio di conferma. 

Il parametro --now avvia il servizio e lo abilita all'avvio del sistema.

Per verificare che il servizio sia attivo e funzionante:

sudo systemctl status ssh

L'output dovrebbe includere la riga Active: active (running), che conferma l'avvio corretto del servizio.

Per disattivare il servizio:

sudo systemctl disable ssh

Ciò disabilita il servizio e ne impedisce l'avvio automatico.

Passaggio 4: Configurare il firewall

Prima di connetterti al server via SSH, controlla che il firewall sia configurato correttamente.

Se UFW è installato, usa questo comando:

sudo ufw status

Dovresti vedere che il traffico SSH è consentito. In caso contrario, autorizzalo con: 

sudo ufw allow ssh

Passaggio 5: Connettersi al server

Dopo aver completato i passaggi precedenti, puoi accedere al server via SSH.

Avrai bisogno dell'indirizzo IP o del nome di dominio del server e del nome utente. Nel terminale, digita:

ssh nomeutente@IP_indirizzo

Oppure:

ssh nomeutente@dominio

Importante: Per una connessione riuscita, SSH deve essere installato e configurato sia sul server remoto sia sul computer client.

Passaggio 6 (opzionale): Creare una coppia di chiavi per un'autenticazione sicura

Per maggiore sicurezza, puoi configurare una coppia di chiavi al posto della sola password. Per generare la chiave usa: 

ssh-keygen

Passaggio 7: Configurare SSH

Dopo i primi cinque passaggi, puoi già accedere da remoto al server. Tuttavia, puoi migliorare la sicurezza cambiando la porta predefinita o passando all'autenticazione tramite chiave. Queste modifiche richiedono la modifica del file di configurazione sshd_config (posizione: /etc/ssh).

Prima di modificare, crea una copia di backup:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial

In caso di errore, potrai ripristinare la versione originale.

Dopo aver creato il backup, puoi procedere alla modifica del file di configurazione. Apri il file con l'editor nano:

sudo nano /etc/ssh/sshd_config

Nel file, modifica la porta con un numero più sicuro. È consigliabile scegliere un valore dalla gamma dinamica delle porte (49152 - 65535) e usare numeri diversi per maggiore sicurezza. Ad esempio, cambiamo il valore della porta in 49532. Per farlo, rimuovi il commento dalla riga corrispondente nel file e modifica il numero come mostrato nello screenshot qui sotto.

4fd580df 7710 49f3 Ba88 5f79663f289e

Passa all'autenticazione tramite chiave rimuovendo il commento dalla riga relativa e impostando il valore su "Yes".

B78f6db1 010f 48a7 A5ff Ce4e6f665691

Impedisci anche l'accesso diretto come utente root modificando l'apposita riga.

B06df4a0 5d22 4c7a Ba90 47fabd8d0bf5

Altre impostazioni consigliate per aumentare la sicurezza:

  • UseDNS: controlla la corrispondenza tra hostname e IP. Imposta "Yes" per abilitarlo.

  • PermitEmptyPasswords: impedisce le password vuote se impostato su "No".

  • MaxAuthTries: limita i tentativi falliti di accesso.

  • AllowUsers e AllowGroups: definiscono gli utenti e i gruppi autorizzati:

# AllowUsers Utente1 Utente2 Utente3
# AllowGroups Gruppo1 Gruppo2 Gruppo3
  • LoginGraceTime: definisce il tempo concesso per l'autenticazione. Si consiglia di ridurre questo valore di quattro volte.

  • ClientAliveInterval: tempo massimo di inattività prima della disconnessione.

Dopo aver salvato le modifiche, chiudi nano.

Riavvia il servizio per applicare i cambiamenti:

sudo systemctl restart ssh

Se hai modificato la porta, usa il nuovo numero per connetterti:

ssh -p numero_porta nomeutente@IP_indirizzo

Oppure:

ssh -p numero_porta nomeutente@dominio

Risoluzione dei problemi di connessione

  • Assicurati che il servizio sia attivo:
sudo systemctl status ssh
  • Riavvialo se necessario:
sudo systemctl restart ssh
  • Controlla che il firewall consenta il traffico sulla porta 22:
sudo ufw allow 22
  • Verifica che il sistema sia raggiungibile:
ping <indirizzo-ip-server>

Disattivare il servizio

Se per qualsiasi motivo desideri disattivare l'accesso remoto, segui questi passaggi:

  1. Arresta il servizio 

Per interrompere temporaneamente l'accettazione delle connessioni: 

sudo systemctl stop ssh
  1. Disabilita l'avvio automatico 

Per impedire l'avvio del servizio al riavvio del sistema: 

sudo systemctl disable ssh
  1. Verifica che il servizio sia inattivo 

Controlla che il servizio non sia in esecuzione: 

sudo systemctl status ssh
  1. Disinstalla il server 

Se il servizio non è più necessario, rimuovilo insieme ai file di configurazione associati: 

sudo apt remove openssh-server

Conclusione

Questo articolo fornisce una guida passo passo per installare e configurare SSH su Ubuntu 22.04, incluse le modifiche al file di configurazione per migliorare la sicurezza. Ci auguriamo che questa guida ti aiuti a configurare una connessione remota sicura al tuo server Ubuntu.

Per saperne di più sulle chiavi SSH clicca qui.

Sistema: Ubuntu Protocollo SSH
04.07.2025
Reading time: 6 min

Simili

Sistema: Ubuntu

Configurazione di un server DNS BIND

Configurazione di un server DNS BIND Il DNS (Domain Name System) è un sistema in cui tutti i nomi di dominio dei server sono organizzati secondo una gerarchia specifica. Perché ne abbiamo bisogno? Immagina di dover connetterti a un dispositivo con l’indirizzo IP 91.206.179.207. Potresti inserire questo indirizzo nella riga di comando per ottenere le informazioni necessarie, ma ricordare molte combinazioni numeriche di questo tipo è molto difficile. Per questo motivo sono stati creati server speciali per convertire i nomi di dominio in indirizzi IP. Così, ad esempio, quando inserisci hostman.com nella barra di ricerca del browser, i dati della richiesta vengono inviati a un server DNS, che cerca una corrispondenza nel proprio database. Il server DNS invia quindi l’indirizzo IP necessario al tuo dispositivo e solo allora il browser accede direttamente alla risorsa. Configurare un DNS proprio consente una configurazione del sistema più flessibile e precisa ed evita la dipendenza da terze parti. In questo articolo vedremo come configurare il DNS utilizzando il nameserver BIND su Ubuntu. Terminologia Zona: Una parte della gerarchia DNS ospitata su un server DNS. Definisce i confini entro i quali un server o un gruppo di server è responsabile. Server root: Server DNS che contengono informazioni sui domini di primo livello (.ru, .com, ecc.). Dominio: Una parte nominata della gerarchia DNS, un nodo specifico che può includere altri nodi. Gli indirizzi DNS si leggono da destra a sinistra e iniziano con un punto, con i domini separati anch’essi da punti. Ad esempio, il dominio poddomen.domen.ru va letto come .ru.domen.poddomen. Di solito, il nome di dominio riflette la struttura della gerarchia DNS, ma il punto finale viene omesso. FQDN (Fully Qualified Domain Name): Nome di dominio completo che include i nomi di tutti i domini padre. Record di risorsa (Resource Record): Un’unità di memorizzazione delle informazioni, ovvero un record che collega un nome a informazioni di servizio. È composto da: Nome (NAME): Il nome o l’indirizzo IP proprietario della zona Time to Live (TTL): Il tempo durante il quale un record viene conservato nella cache DNS prima di essere eliminato Classe (CLASS): Tipo di rete, di solito IN (Internet) Tipo (TYPE): Lo scopo del record Dati (DATA): Informazioni aggiuntive Record di risorsa comuni Record A: Associa un nome host a un indirizzo IPv4. Ogni interfaccia di rete può avere un solo record A. website.com.              520    IN     A      91.206.179.207 Record AAAA: Uguale al record A, ma per IPv6. CNAME: Record di nome canonico, un alias di un nome reale utilizzato per il reindirizzamento. MX: Specifica gli host di posta per il dominio. Il campo NAME contiene il dominio di destinazione e il campo DATA contiene la priorità e l’host che riceve la posta. website.com.             17790   IN      MX      10 mx.website.com. website.com.             17790   IN      MX      20 mx2.website.com. NS: Indica il server DNS che gestisce il dominio. PTR: Associa un indirizzo IP a un nome di dominio, necessario per la risoluzione inversa. SOA: Descrive le impostazioni principali della zona. SRV: Contiene gli indirizzi dei server che forniscono servizi interni al dominio, come Jabber. Requisiti Per seguire le istruzioni di questo articolo, sono necessari almeno due server Ubuntu nello stesso data center. Qualsiasi di questi server può essere ordinato da Hostman. Utilizzeremo due server Ubuntu 20.04 come server DNS primario e secondario, rispettivamente ns1 e ns2. Inoltre, ci saranno server aggiuntivi che utilizzeranno i server configurati. È necessario disporre dei privilegi di superutente su ciascun server. Installazione di BIND sui server DNS Useremo bind9 come server DNS. Installare il pacchetto bind9 dal repository Linux: sudo apt update && sudo apt upgrade -y sudo apt install bind9 Si consiglia inoltre di installare strumenti di monitoraggio di rete: sudo apt install dnsutils Dopo l’installazione, avviare il servizio bind9: sudo service bind9 start Il file di configurazione principale del server è /etc/bind/named.conf. Descrive le impostazioni generali ed è solitamente suddiviso in più file per comodità. named.conf.options Questo file contiene i parametri generali del server: options {        dnssec-validation auto;        auth-nxdomain no;        directory "/var/cache/bind";        recursion no; # disabilita le query ricorsive verso il nameserver        listen-on {                     172.16.0.0/16;                     127.0.0.0/8;           };        forwarders {            172.16.0.1;            8.8.8.8;         }; }; Per verificare che tutto sia stato inserito correttamente, utilizzare l’utilità named-checkconf: sudo named-checkconf Se non ci sono errori, il server BIND inizierà a funzionare. Server DNS primario Il server DNS primario memorizza la copia principale del file di zona. Tutte le zone saranno archiviate nella directory /etc/bind/master-zones. Creare la directory: sudo mkdir /etc/bind/master-zones Creare un file per descrivere la zona: sudo touch /etc/bind/master-zones/test.example.com.local.zone Aggiungere quindi i record SOA, NS e A: $ttl 3600 $ORIGIN test.example.com. test.example.com.               IN              SOA  (      ns.test.example.com.    abuse.test.example.com.                                 2022041201                                10800                                1200                                604800                                3600   ) @                               IN              NS              ns.test.example.com. @                               IN              NS              ns2.test.example.com. @                               IN              A                172.16.101.3 ns                              IN               A                172.16.0.5 ns2                             IN              A                172.16.0.6 Eseguire quindi il controllo con l’utilità named-checkzone: sudo named-checkzone test.example.com. /etc/bind/master-zones/test.example.com.local.zone named.conf.local Questo è un altro file incluso nella configurazione principale del server. In esso specifichiamo le zone locali: zone "test.example.com." {                type master;                file "/etc/bind/master-zones/test.example.com.local.zone"; }; Dopo aver inserito i dati necessari, verificare la configurazione e riavviare bind9 (l’opzione -z controlla i file di zona): sudo named-checkconf sudo named-checkconf -z sudo service bind9 restart sudo service bind9 status Configurazione delle view Le view consentono una gestione flessibile della risoluzione dei nomi da diverse sottoreti. Specificare nel file /etc/bind/named.conf: include "/etc/bind/named.conf.options"; acl "local" { 172.16.0.0/16; }; view "local" {                include "/etc/bind/named.conf.local";                match-clients { local; }; }; Riavviare bind9: sudo service bind9 restart Dopo il riavvio del server, è possibile richiedere il record SOA del server 172.16.0.5 da un altro computer della rete locale: dig @172.16.0.5 -t SOA test.example.com A questo punto, la configurazione del server DNS primario è completa. Conclusione In questa guida abbiamo configurato il DNS su un server Ubuntu utilizzando il pacchetto bind9. Dopo aver seguito tutti i passaggi, i due server DNS configurati possono essere utilizzati per la risoluzione dei nomi nella rete. Per utilizzare i server DNS personalizzati, configurare gli altri server affinché utilizzino 172.16.0.5 e 172.16.0.6 come server DNS. Questa configurazione può fungere da base per ulteriori miglioramenti, come la configurazione di un server di posta elettronica.
20 February 2026 · 9 min to read
Piattaforma Docker

Docker Compose: Guida Completa all’Installazione e all’Utilizzo

Docker Compose ha cambiato radicalmente il modo in cui gli sviluppatori affrontano le applicazioni containerizzate, in particolare quando devono coordinare servizi che dipendono gli uni dagli altri. Questo strumento sostituisce la gestione manuale dei container con un flusso di lavoro strutturato basato su YAML, consentendo ai team di definire intere architetture applicative in un unico file di configurazione. Negli ambienti Ubuntu, ciò si traduce in distribuzioni riproducibili, scalabilità semplificata e riduzione dell’overhead operativo. Questa guida offre una prospettiva aggiornata sull’installazione e sull’utilizzo di Docker Compose, fornendo approfondimenti pratici sulla sua implementazione reale. Prerequisiti Prima di iniziare questo tutorial, assicurati di avere quanto segue: Distribuire un’istanza di server cloud Ubuntu su Hostman. Disporre di un account utente con privilegi sudo o accesso root, necessari per installare pacchetti e gestire Docker. Avere Docker installato e in esecuzione sul server, poiché Docker Compose funziona sopra Docker Engine. Perché Docker Compose è importante Le applicazioni moderne spesso includono componenti interconnessi come API, database e livelli di caching. Gestire questi elementi singolarmente tramite comandi Docker diventa rapidamente complesso man mano che l’architettura cresce. Docker Compose risolve questo problema permettendo agli sviluppatori di dichiarare tutti i servizi, le reti e i requisiti di storage in un file docker-compose.yml. Questo approccio garantisce coerenza tra gli ambienti, sia che si lavori su una macchina Ubuntu locale sia su un server cloud. Ad esempio, considera un’applicazione web composta da un backend Node.js, un database PostgreSQL e una cache Redis. Senza Docker Compose, ogni componente richiederebbe un comando docker run separato con parametri di rete precisi. Con Compose, queste relazioni vengono definite una sola volta, consentendo l’avvio e l’arresto dell’intero stack con un singolo comando. Installazione di Docker Compose Segui i passaggi seguenti per installare Docker Compose sul tuo sistema Ubuntu. Passaggio 1: verificare che Docker Engine sia installato e in esecuzione Docker Compose funziona come un’estensione di Docker, quindi verifica lo stato del servizio: sudo systemctl status docker Se non è attivo, avvialo con: sudo systemctl start docker Passaggio 2: aggiornare i pacchetti di sistema Aggiorna l’elenco dei pacchetti per assicurarti di avere accesso alle versioni più recenti del software: sudo apt-get update Passaggio 3: installare le utility di base Per garantire una comunicazione sicura con i repository Docker, sono necessari i seguenti pacchetti: sudo apt-get install ca-certificates curl Passaggio 4: configurare la chiave GPG di Docker Autentica i pacchetti Docker aggiungendo la relativa chiave crittografica: sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc Questo passaggio garantisce che i pacchetti non siano stati alterati durante il download. Passaggio 5: aggiungere il repository Docker Aggiungi il repository Docker in base alla versione di Ubuntu in uso: echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Il comando rileva automaticamente la versione del sistema tramite VERSION_CODENAME. Passaggio 6: installare il plugin Docker Compose Aggiorna i repository e installa l’estensione Compose: sudo apt update sudo apt-get install docker-compose-plugin Passaggio 7: verificare l’installazione Conferma che Docker Compose sia stato installato correttamente: docker compose version Esempio di output: Docker Compose version v2.33.0 Creare un progetto Docker Compose pratico Per dimostrare le funzionalità di Docker Compose, distribuiamo un server web utilizzando Nginx. 1. Inizializzare la directory del progetto Crea un’area di lavoro dedicata: mkdir ~/compose-demo && cd ~/compose-demo 2. Definire i servizi in docker-compose.yml Crea il file di configurazione: nano docker-compose.yml Inserisci il seguente contenuto: services:   web:     image: nginx:alpine     ports:       - "8080:80"     volumes:       - ./app:/usr/share/nginx/html Spiegazione: services: elemento radice che dichiara i container web: nome personalizzato del servizio image: utilizza l’immagine Nginx basata su Alpine per un ingombro ridotto ports: mappa la porta 8080 dell’host sulla porta 80 del container volumes: sincronizza la directory locale app con la root web del container 3. Creare il contenuto web Costruisci la struttura HTML: mkdir app nano app/index.html Aggiungi il seguente codice HTML: <!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8">   <title>Docker Compose Test</title> </head> <body>   <h1>Hello from Docker Compose!</h1> </body> </html> Orchestrazione dei container: dall’avvio all’arresto 1. Avviare i servizi in modalità detached docker compose up -d Docker Compose scaricherà automaticamente l’immagine Nginx se mancante e configurerà la rete. 2. Verificare lo stato dei container docker compose ps -a 3. Accedere all’applicazione web Visita http://localhost:8080 in locale oppure http://<SERVER_IP>:8080 sui server remoti. La pagina di test dovrebbe visualizzare correttamente il contenuto HTML. 4. Diagnosticare i problemi tramite i log In caso di problemi, ispeziona i log del container: docker compose logs web 5. Arresto e pulizia corretti Arresta temporaneamente i container: docker compose stop Rimuovi tutte le risorse del progetto: docker compose down Riferimento comandi: oltre le operazioni di base I seguenti comandi migliorano la gestione dei container: docker compose up --build – Ricostruisce le immagini prima dell’avvio docker compose pause – Mette in pausa i container senza terminarli docker compose top – Mostra i processi in esecuzione nei container docker compose config – Valida e visualizza la configurazione finale docker compose exec – Esegue comandi nei container attivi(ad esempio, docker compose exec web nginx -t per testare la configurazione di Nginx) Conclusione Docker Compose trasforma l’orchestrazione di applicazioni multi-container da un’attività manuale e complessa a un processo strutturato, ripetibile ed efficiente. Seguendo i passaggi descritti — installazione di Docker Compose, definizione dei servizi in YAML e utilizzo dei comandi essenziali — è possibile gestire applicazioni complesse con sicurezza e controllo.
15 January 2026 · 6 min to read
Linguaggio di scripting PHP

Come installare PHP e PHP-FPM su Ubuntu 24.04

In questa guida descriviamo come installare PHP e PHP-FPM su Ubuntu 24.04. PHP, acronimo di Hypertext Preprocessor, è un linguaggio ampiamente utilizzato e open source, principalmente per lo sviluppo web. PHP-FPM è l’implementazione FastCGI consigliata per PHP, particolarmente utile per siti web ad alto traffico. Al termine di questa guida, il tuo server sarà pronto per eseguire PHP. Prima di iniziare, consulta il nostro tutorial su come creare un server su Ubuntu. Prerequisiti Prima di iniziare, assicurati di avere: Ubuntu 24.04 LTS installato sul server Un account utente con privilegi sudo Conoscenze di base sull'uso del terminale Una connessione Internet stabile per scaricare i pacchetti necessari Per assicurarti che il sistema sia aggiornato, esegui i seguenti comandi: sudo apt updatesudo apt upgrade Installare Apache Installa il server web Apache con il comando: sudo apt install apache2 Installare PHP Inizia installando il pacchetto PHP su Ubuntu 24.04. Apri un terminale sul tuo sistema Ubuntu. Questa operazione include anche i moduli comuni: sudo apt install php Questo comando installa il pacchetto principale di PHP, l'interfaccia a riga di comando e le librerie comuni. Verifica che l’installazione sia andata a buon fine con: php -v Installare le estensioni PHP Le estensioni PHP aggiungono funzionalità specifiche. Installa alcune estensioni comuni con: sudo apt install php-curl php-mbstring php-xml Descrizioni rapide: php-mysql: consente la connessione a database MySQL php-gd: permette la manipolazione delle immagini php-curl: consente la comunicazione con altri server php-mbstring: supporta le stringhe multibyte php-xml: supporta il formato XML php-zip: supporta i file ZIP Puoi installare altre estensioni a seconda delle esigenze del tuo progetto. Per cercarle: apt-cache search php- Installare e configurare PHP-FPM PHP-FPM è fondamentale per gestire siti web con molto traffico. Per installarlo e configurarlo: Installa il pacchetto: sudo apt install php-fpm Avvia il servizio PHP-FPM (il numero di versione può variare): sudo systemctl start php8.3-fpm Abilita PHP-FPM all'avvio: sudo systemctl enable php8.3-fpm Verifica che PHP-FPM sia attivo: systemctl status php8.3-fpm Dovresti visualizzare uno stato "Active (running)", il che conferma che PHP-FPM è in esecuzione correttamente. Verificare PHP e PHP-FPM Per assicurarti che PHP e PHP-FPM funzionino correttamente, crea un file di test e servilo tramite il server web, in questo caso Apache: Genera un file di info PHP. Per mostrare le impostazioni PHP con la funzione phpinfo(): mkdir -p /var/www/htmlecho "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php Configura Apache per PHP-FPM. Rendi Apache compatibile con PHP-FPM modificando il file di configurazione di Apache (di solito /etc/apache2/sites-available/000-default.conf) e aggiungendo: <FilesMatch \.php$>   SetHandler "proxy:unix:/var/run/php/php8.3-fpm.sock|fcgi://localhost/"</FilesMatch> Ricorda di adattare il numero di versione di PHP e il percorso del socket alle impostazioni del tuo server. Attiva PHP e PHP-FPM. Abilita PHP e PHP-FPM con i seguenti comandi: sudo apt install libapache2-mod-phpsudo a2enmod proxy_fcgi setenvif Riavvia Apache. Applica le modifiche riavviando Apache: sudo systemctl restart apache2 Accedi alla pagina di info PHP. Apri il browser e visita: http://[indirizzo_ip_del_server]/info.php Sostituisci [indirizzo_ip_del_server] con l’IP del server o il nome di dominio. Vedrai i dettagli della tua installazione PHP. Installare più versioni di PHP Per alcuni progetti potresti aver bisogno di eseguire applicazioni diverse, ciascuna con requisiti PHP differenti. Ecco come gestire e utilizzare più versioni di PHP su Ubuntu 24.04: Aggiungi il repository PHP: sudo apt install software-properties-commonsudo add-apt-repository ppa:ondrej/php && sudo apt update Installa le versioni PHP desiderate: sudo apt install php8.1 php8.1-fpm Imposta la versione PHP da usare con update-alternatives: sudo update-alternatives --set php /usr/bin/php8.1 Se utilizzi più versioni PHP, assicurati che il tuo web server punti al socket PHP-FPM corretto per ciascun sito o applicazione. Sicurezza di PHP e PHP-FPM: Best practice Come sviluppatore web, conosci l'importanza di integrare PHP e PHP-FPM in applicazioni sicure e robuste. Ecco alcune misure di sicurezza fondamentali da adottare: 1. Mantieni aggiornati PHP e PHP-FPM Assicurati che PHP e PHP-FPM siano sempre aggiornati. Gli aggiornamenti regolari correggono vulnerabilità note e migliorano la sicurezza complessiva del sistema. 2. Configura PHP in modo sicuro Disattiva le funzioni potenzialmente pericolose nel file php.ini, come exec, shell_exec ed eval. Limita l'accesso ai file usando la direttiva open_basedir. Imposta display_errors su Off in ambienti di produzione per evitare fughe di informazioni. Limita la dimensione degli upload e il tempo di esecuzione degli script. Fai girare PHP con un utente dedicato a bassa privilegi. 3. Usa un sistema sicuro per la segnalazione degli errori In produzione, imposta display_errors su Off e log_errors su On, per registrare gli errori in modo sicuro senza mostrarli agli utenti. 4. Valida gli input Valida sempre i dati ricevuti dagli utenti. Utilizza query preparate per proteggerti da attacchi SQL injection. 5. Proteggi la configurazione di PHP-FPM PHP-FPM dovrebbe essere eseguito da un utente dedicato con permessi minimi. Limita l'accesso al socket o alla porta di comunicazione solo all'applicazione web. 6. Abilita open_basedir Utilizza open_basedir per limitare l'accesso di PHP a directory specifiche, prevenendo accessi indesiderati a file di sistema. 7. Usa HTTPS Assicurati che il tuo sito utilizzi solo connessioni HTTPS, proteggendo così tutte le comunicazioni dagli attacchi più comuni. Conclusione Con questa guida, hai installato con successo PHP e PHP-FPM su Ubuntu 24.04. Il tuo server è ora pronto per eseguire applicazioni web dinamiche. Ricorda di mantenere il sistema e i pacchetti aggiornati per garantire sicurezza e prestazioni ottimali. Se ti è stata utile questa guida, dai un’occhiata ai nostri Cloud Server per migliorare il tuo workflow nel cloud!
10 July 2025 · 5 min to read

Hai domande,
commenti o dubbi?

I nostri professionisti sono disponibili per assisterti in ogni momento,
che tu abbia bisogno di aiuto o non sappia da dove iniziare.
Inviaci un'email
Hostman's Support