bg-tutorials

Come installare un certificato SSL su Ubuntu Server (Apache)

In questo tutorial imparerai come installare un certificato SSL su Ubuntu con Apache.

Abbiamo anche registrato un video che ti guida attraverso l’intero processo. Se preferisci la versione testuale, continua a leggere qui sotto.

Genera un codice CSR

Inizieremo con la generazione del CSR (Certificate Signing Request). Un CSR è una richiesta inviata a un’Autorità di Certificazione per richiedere un certificato digitale. Hai due opzioni:

Invia il CSR all’Autorità di Certificazione durante il tuo ordine. Dopo che la CA lo avrà convalidato e avrà emesso il tuo certificato SSL, continua con l’installazione qui sotto.

Installa un certificato SSL su Ubuntu Server

Passo 1: Carica i file del certificato

Dopo la convalida, l’Autorità di Certificazione ti invia via email i file del certificato. Estrai l’archivio. Dovresti avere:

  • yourdomain.crt, il tuo certificato SSL principale.
  • yourdomain.ca-bundle, i certificati intermedi (il CA bundle).
  • yourdomain.key, la chiave privata generata insieme al CSR.

Carica il certificato e il CA bundle in /etc/ssl/ e la chiave privata in /etc/ssl/private/ (mantieni la chiave leggibile solo dall’utente root). Su Apache 2.4.8 e versioni successive (che include ogni release supportata di Ubuntu), unisci il certificato e il CA bundle in un unico file full-chain:

cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt

Passo 2: Abilita il modulo SSL e trova la configurazione del tuo sito

Abilita il modulo SSL di Apache (e il modulo headers, usato per HSTS nel Passo 3):

sudo a2enmod ssl
sudo a2enmod headers

Il file di configurazione del tuo sito si trova in /etc/apache2/sites-available/ (in genere yourdomain.conf). Modifica il file lì. I file in sites-enabled/ sono solo collegamenti simbolici. Se il sito non è ancora abilitato, abilitalo con:

sudo a2ensite yourdomain.conf

Nota: servi HTTP (porta 80) e HTTPS (porta 443) da blocchi VirtualHost separati. Quello HTTPS è dove vanno inserite le direttive SSL.

Passo 3: Configura il VirtualHost HTTPS

Configura il VirtualHost sulla porta 443. Un blocco completo e moderno appare così; regola i percorsi in base ai tuoi file:

<VirtualHost *:443>
    ServerName  www.yourdomain.com
    DocumentRoot /var/www/yourdomain

    SSLEngine on

    # Apache 2.4.8+ : certificato + CA bundle in un unico file full-chain
    SSLCertificateFile    /etc/ssl/yourdomain_fullchain.crt
    SSLCertificateKeyFile /etc/ssl/private/yourdomain.key

    # Rafforzamento TLS raccomandato (2026)
    SSLProtocol         -all +TLSv1.2 +TLSv1.3
    SSLHonorCipherOrder off

    # Abilita HSTS solo dopo aver confermato che HTTPS funziona
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</VirtualHost>
  • SSLCertificateFile: il tuo file full-chain (certificato + intermedi). Su Apache 2.4.8+ questo sostituisce la direttiva deprecata SSLCertificateChainFile.
  • SSLCertificateKeyFile: la chiave privata creata insieme al CSR.

Apache legacy (versioni precedenti alla 2.4.8): mantieni il certificato e la catena separati e aggiungi SSLCertificateChainFile /etc/ssl/yourdomain.ca-bundle, che punta al CA bundle, non al file del certificato.

Passo 4: Reindirizza da HTTP a HTTPS

Affinché i visitatori raggiungano sempre la versione sicura, aggiungi un VirtualHost sulla porta 80 che reindirizzi a HTTPS:

<VirtualHost *:80>
    ServerName www.yourdomain.com
    Redirect permanent / https://www.yourdomain.com/
</VirtualHost>

Passo 5: Verifica la configurazione

Esegui sempre un test prima di ricaricare; un errore di sintassi può mettere il sito offline:

sudo apache2ctl configtest

Dovresti vedere Syntax OK. Se ricevi un errore, rivedi i passaggi precedenti prima di continuare.

Passo 6: Ricarica Apache

Applica le modifiche ricaricando Apache (un ricaricamento attiva la nuova configurazione senza interrompere le connessioni):

sudo systemctl reload apache2

Congratulazioni, il tuo certificato SSL è ora installato sul tuo server Ubuntu. Per verificare il risultato e ottenere un report immediato sullo stato, usa il nostro SSL Checker.

Dove acquistare un certificato SSL per Ubuntu Server?

SSL Dragon è la tua fonte per tutte le tue esigenze SSL. Offriamo alcuni dei prezzi più bassi sul mercato in tutta la nostra gamma di prodotti SSL, e ci siamo alleati con i migliori marchi SSL del settore per una sicurezza solida e un supporto dedicato. Tutti i nostri certificati SSL sono compatibili con i server Ubuntu.

Domande Frequenti

Come faccio a sapere se un certificato SSL è installato su Ubuntu?

Connettiti al tuo sito con OpenSSL e leggi il certificato che restituisce:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Se un certificato è installato, questo comando stampa l’emittente e le date di validità. Puoi anche elencare i virtual host attivi di Apache con sudo apache2ctl -S, oppure semplicemente aprire il tuo sito in un browser e controllare il lucchetto.

Dove metto il certificato SSL in Ubuntu?

Per convenzione, i certificati vanno in /etc/ssl/certs/ (o /etc/ssl/) e le chiavi private in /etc/ssl/private/. Questi sono i percorsi predefiniti; puoi usare altre posizioni purché il tuo VirtualHost punti ad esse.

Dove si trova la configurazione del sito Apache su Ubuntu?

I file di configurazione del sito si trovano in /etc/apache2/sites-available/ (ad esempio yourdomain.conf), e i siti abilitati sono collegati tramite symlink in /etc/apache2/sites-enabled/. Abilita un sito con sudo a2ensite yourdomain.conf.

Devo unire il certificato e il CA bundle su Ubuntu?

Su Apache 2.4.8 e versioni successive (tutte le release di Ubuntu supportate), sì: concatena il tuo certificato e il CA bundle in un unico file e fai puntare SSLCertificateFile ad esso. La direttiva separata SSLCertificateChainFile è deprecata ed è necessaria solo su versioni più vecchie di Apache.

Conclusione

Installare un certificato SSL su Ubuntu con Apache si riduce a caricare i tuoi file, abilitare mod_ssl, configurare il VirtualHost HTTPS con il tuo certificato full-chain, testare con sudo apache2ctl configtest e ricaricare Apache. Hai bisogno prima di un certificato? Sfoglia i nostri certificati SSL.

Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!

Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10

Un'immagine dettagliata di un drago in volo
Scritto da

Scrittore di contenuti con esperienza, specializzato in certificati SSL. Trasforma intricati argomenti di cybersicurezza in contenuti chiari e coinvolgenti. Contribuisci a migliorare la sicurezza digitale attraverso narrazioni d'impatto.