Abilitare Modulo SSL su Apache

vediamo come installare e configurare il modulo SSL per gestire il protocollo HTTPS.

Per prima cosa dobbiamo installare openssl nel caso non fosse gia presente nella nostra installazione di Apache2.
apt-get install openssl ssl-cert

Ora generiamo, nel caso non l’avessimo, un certificato. Non essendo un ente autorizzato possiamo generare solo certifica self-signed i quali funzionano correttamente, ma generarno dei warning che verranno mostrati nel browser. Nel caso volessimo utilizzare un certifivato trusted dobbiamo rivolgerci ad una certification authority come (Es. Thawte).
Per generarlo, lanciamo il seguente comando e compiliamo i dati richiesti, annotando la password.
apache2-ssl-certificate

Nel caso in cui il comando precedente non fosse disponibile dobbiamo utilizzare il seguente
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem

Impostiamo i permessi sul file appena creato
chmod 600 /etc/apache2/apache.pem

Diciamo ad Apache2 che deve stare in ascolto anche sulla porta 443, aggiungendo al file /etc/apache2/ports.conf la seguente direttiva
Listen 443

Attiviamo il modulo ssl su Apache2 con il seguente comando
a2enmod ssl

Riavviamo il servizio si Apache2
/etc/init.d/apache2 restart

Creiamo un nuovo VirtualHost come con la stessa procedura usata nel post Installare apache 2 su Debian chiamando il file vhssl e configuriamolo come segue
ServerAdmin support@easymarketcrs.it
DocumentRoot /www/sito-test
ServerName nostrosito.com
ServerAlias www.nostrosito.com alias1.nostrosito.com alias2.nostrosito.com
ErrorLog /var/log/apache2/vh/test/revolution/error.log
CustomLog /var/log/apache2/vh/test/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem

Ho evidenziato le parti che differiscono dal VirtualHost senza SSL, cioe la porta (443) e le direttive che specificano il riferimenti al file del certificato.

Ora attiviamo il nostro nuovo VirtualHost e riavviamo il servizio Apache2
a2ensite vhssl
/etc/init.d/apache2 reload

Testiamo che tutto funzioni

ediamo come installare e configurare il modulo SSL per gestire il protocollo HTTPS.

Per prima cosa dobbiamo installare openssl nel caso non fosse gia presente nella nostra installazione di Apache2.
apt-get install openssl ssl-cert

Ora generiamo, nel caso non l’avessimo, un certificato. Non essendo un ente autorizzato possiamo generare solo certifica self-signed i quali funzionano correttamente, ma generarno dei warning che verranno mostrati nel browser. Nel caso volessimo utilizzare un certifivato trusted dobbiamo rivolgerci ad una certification authority come (Es. Thawte).
Per generarlo, lanciamo il seguente comando e compiliamo i dati richiesti, annotando la password.
apache2-ssl-certificate

Nel caso in cui il comando precedente non fosse disponibile dobbiamo utilizzare il seguente
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem

Impostiamo i permessi sul file appena creato
chmod 600 /etc/apache2/apache.pem

Diciamo ad Apache2 che deve stare in ascolto anche sulla porta 443, aggiungendo al file /etc/apache2/ports.conf la seguente direttiva
Listen 443

Attiviamo il modulo ssl su Apache2 con il seguente comando
a2enmod ssl

Riavviamo il servizio si Apache2
/etc/init.d/apache2 restart

Creiamo un nuovo VirtualHost come con la stessa procedura usata nel post Installare apache 2 su Debian chiamando il file vhssl e configuriamolo come segue
ServerAdmin support@easymarketcrs.it
DocumentRoot /www/sito-test
ServerName nostrosito.com
ServerAlias www.nostrosito.com alias1.nostrosito.com alias2.nostrosito.com
ErrorLog /var/log/apache2/vh/test/revolution/error.log
CustomLog /var/log/apache2/vh/test/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem

Ho evidenziato le parti che differiscono dal VirtualHost senza SSL, cioe la porta (443) e le direttive che specificano il riferimenti al file del certificato.

Ora attiviamo il nostro nuovo VirtualHost e riavviamo il servizio Apache2
a2ensite vhssl
/etc/init.d/apache2 reload

Testiamo che tutto funzioni.