bg-tutorials

Come installare un certificato SSL su un server Debian

Questa guida spiega come installare un certificato SSL su un server Debian con Apache.

Come generare il CSR per un server Debian?

Prima dell’installazione, il primo compito è generare un codice CSR (Certificate Signing Request). Questa è la procedura standard quando si richiede un certificato SSL. Il CSR contiene i dettagli rilevanti sul tuo dominio e sulla tua organizzazione che l’Autorità di Certificazione deve verificare prima di emettere il certificato.

Hai due opzioni:

  1. Genera il CSR automaticamente utilizzando il nostro CSR Generator.
  2. Segui il nostro tutorial passo dopo passo su come creare il CSR su Debian.

Copia l’intero contenuto del CSR e invialo all’Autorità di Certificazione durante l’ordine. A seconda del tipo di convalida, dovresti ricevere il tuo certificato SSL entro pochi minuti oppure, per i certificati a convalida più elevata, entro pochi giorni. Una volta che la CA lo emette, procedi con l’installazione descritta di seguito.

Passo 1: carica il certificato e la chiave privata sul server

Posiziona i file nelle posizioni standard di Debian. Conserva la chiave privata in /etc/ssl/private/ con permessi rigorosi e combina il certificato e gli intermedi in un unico file full-chain in /etc/ssl/certs/:

# Private key (set strict permissions)
sudo install -m 600 yourdomain.key /etc/ssl/private/yourdomain.key

# Concatenate the server certificate + intermediate(s) into one full-chain file
cat yourdomain.crt intermediate1.crt intermediate2.crt | sudo tee /etc/ssl/certs/yourdomain-fullchain.pem >/dev/null

Se la tua CA ha fornito la catena come un unico file ca-bundle invece di intermedi separati, usa quel file al posto di intermediate1.crt intermediate2.crt sopra.

Su Apache 2.4.8 e versioni successive, questo unico file full-chain è tutto ciò di cui hai bisogno per SSLCertificateFile. La vecchia direttiva SSLCertificateChainFile è deprecata e non è più necessaria.

Passo 2: abilita il modulo SSL

Abilita il modulo SSL di Apache (e il modulo headers, utilizzato per l’HSTS al Passo 3):

sudo a2enmod ssl
sudo a2enmod headers

Passo 3: crea il tuo VirtualHost HTTPS

Crea un nuovo file di configurazione del sito in /etc/apache2/sites-available/:

sudo nano /etc/apache2/sites-available/yourdomain-ssl.conf

Incolla il seguente VirtualHost sulla porta 443 e adatta i percorsi e i nomi di dominio alla tua configurazione:

<VirtualHost *:443>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com

    DocumentRoot /var/www/yourdomain

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/yourdomain-fullchain.pem
    SSLCertificateKeyFile /etc/ssl/private/yourdomain.key

    # Recommended TLS hardening (2026)
    SSLProtocol         -all +TLSv1.2 +TLSv1.3
    SSLHonorCipherOrder off

    # HSTS: uncomment the line below only AFTER you confirm HTTPS works on the
    # domain and every subdomain (includeSubDomains applies to all of them).
    # Reversing HSTS in visitors' browsers is slow, so enable it deliberately.
    # Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

    # Optional: enable HTTP/2
    # Protocols h2 http/1.1

    <Directory /var/www/yourdomain>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog  ${APACHE_LOG_DIR}/yourdomain-ssl-error.log
    CustomLog ${APACHE_LOG_DIR}/yourdomain-ssl-access.log combined
</VirtualHost>
  • SSLCertificateFile, il tuo file full-chain (certificato + intermedi). Su Apache 2.4.8+ questo sostituisce la deprecata SSLCertificateChainFile.
  • SSLCertificateKeyFile, la chiave privata creata insieme al CSR.

Passo 4: forza il reindirizzamento da HTTP a HTTPS

Affinché i visitatori raggiungano sempre la versione sicura, crea un VirtualHost separato sulla porta 80 che reindirizza tutto il traffico HTTP verso HTTPS:

sudo nano /etc/apache2/sites-available/yourdomain-redirect.conf

Quindi incolla quanto segue:

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

Passo 5: abilita le configurazioni del tuo sito

Abilita il nuovo sito HTTPS (e il reindirizzamento, se lo hai creato). I file in sites-enabled/ sono semplicemente collegamenti simbolici a sites-available/:

sudo a2ensite yourdomain-ssl

# If you created the redirect
sudo a2ensite yourdomain-redirect

Passo 6: testa la configurazione

Testa sempre la configurazione prima di ricaricarla, perché 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 7: ricarica il server Apache

Applica le modifiche ricaricando Apache. Un ricaricamento attiva la nuova configurazione senza interrompere le connessioni esistenti:

sudo systemctl reload apache2

Hai configurato con successo il tuo certificato SSL sul tuo server Debian. Puoi sempre verificare lo stato della tua installazione SSL con il nostro SSL Checker.

Dove acquistare un certificato SSL per un server Debian?

Il posto migliore dove acquistare un certificato SSL per Debian è SSL Dragon. Offriamo prezzi competitivi, sconti regolari e ottime offerte su tutta la nostra gamma di prodotti SSL. Abbiamo selezionato con cura i migliori marchi SSL sul mercato per offrire al tuo sito web una crittografia solida. Tutti i nostri certificati SSL sono compatibili con Debian.

Domande frequenti

Dove vengono memorizzati i certificati SSL in Debian?

Per convenzione, i certificati vanno in /etc/ssl/certs/ e le chiavi private in /etc/ssl/private/ (mantieni la chiave leggibile solo da root). Questi sono valori predefiniti; puoi usare altre posizioni purché il tuo VirtualHost punti a esse.

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

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

Dove si trova la configurazione del sito Apache su Debian?

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

Ho bisogno di un certificato SSL su Debian?

Sì. Senza un certificato SSL, i browser contrassegnano il tuo sito come “Non sicuro” e il traffico tra i tuoi utenti e il tuo server non è crittografato. Un certificato SSL crittografa quella connessione ed è di fatto obbligatorio per qualsiasi sito web in produzione.

Conclusione

Installare un certificato SSL su Debian con Apache si riduce a caricare i tuoi file, abilitare mod_ssl, configurare il VirtualHost HTTPS con il tuo certificato full-chain, aggiungere un reindirizzamento HTTP→HTTPS, 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.