Guide Rapide Linux - CERTIFICATO SSL GRATIS PER IL TUO SITO
Con questo articolo che parla di Server Linux, voglio spiegare come creare un certificato SSL gratuitamente per il tuo sito internet utilizzando Certbot - Let's Encrypt. Prima di procedere è necessario che nel vostro Server Linux abbiate installato Nginx WebServer.
Sito internet in Server Linux
Supponiamo di aver già inserito il nostro sito web (per semplicità in html) all'interno del nostro server linux.
Nel nostro esempio il file del sito si chiama "index.htm" ed è stato inserito dentro la path "/opt/website_temp"
Creazione del file di configurazione di Nginx
Ora creiamo all'interno della cartella il file di configurazione nginx configurado l'ascolto su porta 80 ovvero un normale http://
- cd /opt/website_temp
- sudo nano website.nginx.conf
e al suo interno ci inserisco questo
server{
listen 80;
server_name test.chattoio.it;
location / {
root /opt/website_temp/;
index index.htm;
}
}
Adesso abbiamo creato la configurazione al Server Nginx per girare le chiamate al sito index.htm che arrivano dal web tramite DNS test.chattoio.it
P.S. Questo è solo un esempio; MAI inserire il file di configurazione dentro la cartella pubblica, un hacker potrebbe scaricarlo senza problemi
Aggiunta del file di configurazione Nginx del sito al file di configurazione principale
- sudo nano /etc/nginx/nginx.conf
e aggiungo al suo interno questo comando:
include /opt/website_temp/website.nginx.conf;
una volta salvata la modifica riavvio nginx
- sudo service nginx restart
Testiamo se il nostro sito si vede da browser
Ora apriamo il nostro browser preferito e digitiamo l'indirizzo DNS che abbiamo appena configurato in Nginx; Nel nostro caso test.chattoio.it
Come possiamo vedere nella figura seguente si è aperto il nostro sito, ma con il normale "http://" in effetti se guardiamo bene Chrome ci suggerisce che il sito non è sicuro
Installazione di Certbot
Installiamo ora Certbot, il programma che ci consentirà di installare certificati SSL firmati Let's Encrypt con questi comandi
- sudo apt-get update
- sudo apt-get install software-properties-common
- sudo add-apt-repository ppa:certbot/certbot
- sudo apt-get update
- sudo apt-get install python-certbot-nginx
Una volta installato tutti i pacchetti andremo a creare il certificato SSL in forma automatica con questo comando:
- sudo certbot --nginx
Ci verrà richiesto di editare a quale sito creare il certificato, nel nostro caso sceglieremo il 2 ovvero "test.chattoio.it"
Alla richiesta di configurare l'nginx seleziono 1 "No redirect - Make no further changes to the webserver configuration" e il certificato è creato
Riavvio Nginx
Nginx è stato configurato da certbot, pertanto servirà riavviarlo:
- sudo service nginx restart
Rivediamo il nostro sito con SSL
ora riapriamo il nostro browser e inseriamo:
- https://test.chattoio.it
e il nostro sito è configurato per l'ascolto https:
N.B. Con questa procedura abbiamo aggiunto ANCHE l'ascolto su porta https, ma la porta 80 http è ancora normalmente funzionante. Se volete far sì che tutte le chiamate passino su SSL dovete cliccare 2 nella configurazione precedentemente descritta o modificate il file di nginx aggiungendo un return 301 sulla porta 80