Una volta installato apache, argomento gia trattato nel precedente post Installare apache 2 su Debian2
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
<VirtualHost [IP]:443>
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
</VirtualHost>
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 chiamando https://www.nostrosito.com
Per dubbi e chiarimenti utilizzate i commenti.








#1 by Bruno - ottobre 6th, 2009 at 00:45
Incredibile, pubblicato da 7 mesi e nemmeno un commento. Bhe, lo metto io : grazie, la guida è incredibilmente chiara e precisa.
Quando mi servirà la seguirò passo passo.
Per il tuo blog, senza promettere niente perché non ho un briciolo di tempo [da informatico quale sei mi puoi certamente capire...!], ma se trovo 2 minuti e mi viene in mente qualcosa di decente magari ti mando un articolo o due da pubblicare.
Grazie ancora per lo “sharing” e a presto!
Br1
#2 by Roberto - gennaio 31st, 2010 at 12:08
Bhe la guida c’è ma non ci sono riuscito, nemmeno dai primi comandi, apt-get sembra non esistere. Devo attivare https su apache in un macos snow leopard server, è notte, notte, notte. Chiunque sia in grado di farlo mi chiami. Ho una azienda bloccata su questo problema da mesi.
#3 by manuele - gennaio 31st, 2010 at 23:59
Ciao, la guida è specifica per ambiente linux distro Debian ecco perche apt-get non esiste :). La configurazione sotto osx è piu o meno simile. Hai gia un certificato?
#4 by silvia - febbraio 23rd, 2010 at 03:49
ciao , grazie per la tua guida semplice e diretta..
ho provato e avendo già tutto in funzione il più era già fatto.. tuttavia il mio certificato è di tipo [.cer]
l’ho copiato sotto la root di/ etc/apache2 e l’ho rinominato come root.cer
il certificato è di tipo chiave privata, con impostazioni personalizzate per la verifica della fiducia ..
ma non riesco a installarlo.. forse la mia inesperienza in apache.. ha fatto si che qualcosa non andasse..
la mia configurazione del server è completamente personalizzata ma per questo certificato volevo abilitare un virtual host con nome simile www2.mysite.com
1 chmod 600 è ok come indichi
2 Listen 443 è in ascolto (lo era già)
3 a2enmod ssl (Module ssl already enabled)
4 a2ensite vhssl –> qui mi blocco ::::: ERROR: Site vhssl does not exist!
5 VirtualHost [IP]:443 (qui mi blocco) mi dice che è errata
se puoi darmi qualche suggerimento . grazie
Silvia
ps: fatto anche questo ..
apt-get install openssl ssl-cert
Reading package lists… Done
Building dependency tree
Reading state information… Done
openssl is already the newest version.
ssl-cert is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.