Installazione e Configurazione Base di mkcert e mkcertWeb su Ubuntu Server 24.04

da | Feb 2, 2026

 

 

Configurare certificati SSL locali è spesso uno dei primi passi per garantire connessioni sicure durante lo sviluppo e il testing di applicazioni web.

Tuttavia ottenere certificati attendibili senza complicazioni può diventare un processo lungo e poco intuitivo.

In questo contesto mkcert si presenta come uno strumento semplice e potente, capace di generare certificati HTTPS validi a livello locale senza dover ricorrere a provider esterni.

In combinazione con mkcertWeb, un’interfaccia web pensata per facilitarne l’uso anche su server remoti, è possibile creare un ambiente di sviluppo sicuro e perfettamente funzionante in pochi minuti.

In questo articolo vedremo come installare e configurare mkcert e mkcertWeb su Ubuntu Server 24.04, partendo dai requisiti essenziali fino alla generazione del primo certificato.

L’obiettivo è guidarti passo dopo passo nella creazione di un setup affidabile, ripetibile e facilmente gestibile, ideale per sviluppatori, amministratori di sistema e chiunque desideri migliorare la sicurezza dei propri ambienti di lavoro.

PREREQUISITI

Ubuntu Server 24.04 LTS

Utente appartenente al gruppo sudo

Accesso shell/SSH funzionante

 

AGGIORNAMENTO DEL SISTEMA

Eseguire i comandi:

INSTALLAZIONE DI MKCERT

Installare mkcert con trust store locale con i seguenti comandi:

Dovremmo vedere il seguente output:

Created a new local CA
The local CA is now installed in the system trust store! ⚡️

Per verificare la versione di mkcert installata eseguire il comando:

Dovremmo visualizzare un outptu simile al seguente:

 

INSTALLAZIONE DI NODEJS

mkcertWeb richiede Node.js per poter funzionare.

Su Ubuntu 24.04 installare una LTS recente via NodeSource con i seguenti comandi:

Al termine dovremmo visualizzre un output simile al seguente:

 

PREPRAZIONE DELL’AMBIENBTE MKCERTWEB

Clonare mkcertWeb e preparare l’ambiente

Scegliere una directory /opt e posizionarsi con il comando:

Quindi clonare mkcertweb con il comando:

Attribuire le ACL con il comando:

Posisizionarsi nella cartella mkcertweb con il comando:

 

INSTALLAZIONE DELLE DIPENDENZE DI NODE

Installare NPM con il comando:

Dovremmo visualizzare il seguente output:

Nel caso aggiornare all’ultima major release come indicato nell’output sovrastante con il comando:

Dovremmo visualizzare il seguente output:

 

CONFIGURAZIONE DELLE VARIABILI DI AMBIENTE

Copiare il file di esempio .env con il comando:

Quindi editarlo con il comando:

Modificare i seguenti valori:

Salvare e chiudere il file di configurazione

 

TEST CON ESECUZIONE INTERATTIVA

Avviare HTTP con il comando:

In alternativa è possibile avviare HTTPS hot-reload per sviluppo con il comando:

Per impostazione predefinita l’app ascolta su PORT=3000 (HTTP) e se ENABLE_HTTPS=true, su HTTPS_PORT=3443.

Dovremmo visualizzare il seguente output:

ACCESSO A MKCERTWEB DA WEB GUI

A questo punto da un qualsiasi browser richiamare il link http://SERVER-MKCERTWEB:3000 oppure https://SERVER-MKCERTWEB:3443 e accedere con le credenziali definite precedentemente nel file .env

Cliccare Login

Se è andaton tutto a buon fine dovremmo visualizzare la Home di MKCertWEB

Da questa interfaccia è possibile eseguire le attività:

Generazione certificati

  • Permette di generare certificati SSL/TLS per più domini e indirizzi IP.
  • Possibilità di scegliere diversi formati in output: PEM, CRT, PFX (PKCS#12).
  • Supporto per wildcard (ad es. *.dominio.local) e per più names nell’unica generazione.

Download dei certificati

Dopo la generazione, è possibile scaricare i file del certificato e della chiave direttamente tramite browser.

Gestione dei certificati esistenti

  • Visualizzazione di tutti i certificati generati con informazioni quali nome soggetto, date di scadenza.
  • Azioni come eliminazione (“delete”), archiviazione o ripristino dei certificati.

Autenticazione & Sicurezza

  • Supporto per autenticazione di base (Basic Auth) + supporto per Single Sign-On via OpenID Connect (OIDC).
  • Protezione contro iniezione di comandi, traversal di percorso, rate limiting multipli, sanitizzazione input.

Monitoraggio e notifiche

  • Avvisi email automatici per certificati in scadenza, configurabili tramite SMTP.
  • Sistema di monitoraggio interno che verifica periodicamente i certificati in scadenza e segnala secondo “warning days” e “critical days”.

Servizio SCEP (opzionale)

  • Implementazione del protocollo SCEP (Simple Certificate Enrollment Protocol) per l’iscrizione automatica di dispositivi compatibili (iOS, macOS, Windows).
  • Interfaccia /scep.html per gestire le operazioni SCEP.

API pubbliche

End point API per controllo stato sistema (GET /api/status), generazione di certificati (POST /api/generate), elenco certificati (GET /api/certificates), download file (GET /download/:filename) ecc.

Note utili

L’interfaccia supporta tema chiaro/scuro e design reattivo (responsive).

È fornito un container Docker / docker-compose già pronto.

Tutta la configurazione è tramite variabili ambiente (.env) per porta, autenticazione, SMTP, monitoraggio, ecc.

 

CREAZIONE DELL’UTENZA DI SERVIZIO

Il repository include un’unità di esempio mkcert-web-ui.service.

Copiarla e abilitarla con i seguenti comandi

Creare un utente dedicato non privilegiato con il comando:

Creare la cartella mkcertweb con il comando:

Assegnare i permessi con il comando:

 

ESECUZIONE DI MKCERTWEB COME SERVIZIO SYSTEMD

Creare il file di servizio con il comando:

Incollare dentro il file il contenuto seguente:

Salvare e chiudere il file di configurazione

Ricaricare systemd e abilitare il servizio con i seguenti comandi:

Per verificare i log eseguire il comando:

 

TIPS AND TRICKS

Se il file di configurazione .env non dovesse funzionare correttamente ripulirlo dei commenti con il seguente comando:

 

CONSIDERAZIONI FINALI

✅ Pro di mkcertWeb

1. Interfaccia grafica intuitiva: mkcertWeb semplifica l’uso di mkcert fornendo una GUI fruibile via browser. Questo riduce la dipendenza dalla riga di comando ed è particolarmente utile per chi preferisce un approccio visuale.

2. Facilita la gestione dei certificati: Permette di generare, visualizzare ed esportare certificati in pochi clic, rendendo l’intero processo più rapido e organizzato, soprattutto su server remoti.

3. Accessibile da qualunque dispositivo: Essendo web-based, puoi accedere allo strumento da qualsiasi computer collegato alla rete interna, senza installare nulla in locale.

4. Ideale per team e ambienti condivisi: Più utenti possono connettersi allo stesso pannello web (protetto) e generare certificati evitando duplicazioni, errori o setup ripetuti.

5. Riduce la curva di apprendimento: mkcertWeb è utile per chi non ha familiarità con SSL/TLS, CA locali o mkcert stesso. L’interfaccia guida l’utente e riduce il rischio di comandi errati.

❌ Contro di mkcertWeb

1. Espone un’interfaccia web che va protetta: La presenza di un pannello web aumenta la superficie d’attacco. È necessario adottare contromisure (autenticazione, firewall, accesso limitato alla LAN) per evitare accessi non autorizzati.

2. Dipende da mkcert: mkcertWeb non funziona autonomamente: richiede mkcert installato e correttamente configurato sul server. È quindi un livello aggiuntivo da gestire.

3. Aggiornamenti e manutenzione aggiuntiva: Oltre a mkcert, occorre mantenere aggiornato anche mkcertWeb. In alcuni casi le versioni potrebbero non essere perfettamente allineate.

4. Non è pensato per ambienti di produzione: Come mkcert, anche mkcertWeb è progettato per sviluppo e testing. Non può sostituire CA professionali o certificazioni per domini pubblicamente raggiungibili.

5. Richiede attenzione ai permessi: Per gestire certificati e CA locali, l’applicazione ha bisogno di privilegi adeguati. Una configurazione non corretta potrebbe diventare un rischio di sicurezza.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D’Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi. Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare. Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
Categorie: Docker | MkCert | Ubuntu

Related Post

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione