In questo articolo abbiamo visto come generare un certificato CSR da fornire ad un’autority per l’ottenimento di un certificato SSL da applicare ad un nostro sito.
Ipotizziamo pertanto di aver ottenuto in mail da parte dell’autority il classico file ZIP contenente il certificato SSL e il certificato di intermediazione.
Per procedere all’installazione, è sufficiente caricare questi due certificati in una cartella del server ad esempio in /root . E’ ovviamente importante che questa cartella abbia i permessi CHMOD 775 .
Accertiamoci quindi che Apache abbia installato il modulo SSL con:
a2enmod ssl
e quindi riavviamo il servizio con
/etc/init.d/apache2 restart
Successivamente possiamo passare ad editare il file con le direttive del nostro sito ad esempio:
nano /etc/apache2/sites-enabled/sito_da_proteggere
in quest’ultimo editiamo le direttive aggiungendo
<VirtualHost *:443> DocumentRoot /var/www/ SSLEngine on SSLCertificateFile /root/certificato.crt SSLCertificateKeyFile /root/sito_da_proteggere.key SSLCertificateChainFile /root/DigiCertCA.crt </VirtualHost>
Il primo parametro serve a mettere in ascolto apache sulla porta 443 e non più sulla porta 80
SSLEngine on Abilita la funzione SSL
SSLCertificateFile indica il path del file del certificato SSL inviato dall’autority
SSLCertificateKeyFile indica il file contenente la chiave generata questo articolo .
SSLCertificateChainFile indica il path del file contenente il file di Intermediazione.
Fatto questo, salviamo e riavviamo apache.
Problemi che possono sorgere:
Errore di Apache
durante il riavvio di apache, lo stesso può restituire il messaggio di errore di
apache2: Could not reliably determine the server's fully qualified domain name, using [IP SERVER] for ServerName
Sarà quindi sufficiente editare il file
nano /etc/apache2/httpd.conf
e inserire all’interno l’istruzione
ServerName [IP DEL SERVER]
Forzare il redirect su HTTPS
Per redirigere gli accessi dal protocollo HTTP a quello HTTPS bisogna modificare il file:
nano /etc/apache2/sites-enabled/sito_da_proteggere
e aggiungere
<VirtualHost *:80> ServerName esempiosito.com/ Redirect / https://esempiosito.com/ </VirtualHost>
<VirtualHost *:443> DocumentRoot /var/www/ SSLEngine on SSLCertificateFile /root/certificato.crt SSLCertificateKeyFile /root/sito_da_proteggere.key SSLCertificateChainFile /root/DigiCertCA.crt </VirtualHost>