Windows + Apache + SSL

Tutti gli iscritti al forum possono inviare qui articoli sviluppati di proprio pugno, progetti interessanti, programmi di propria creazione. (Forum moderato)

Moderatore: Staff forum IlSoftware.it

Avatar utente
Cucciolo
Active Software Plus
Active Software Plus
Messaggi: 687
Iscritto il: 25 apr 2003 18:21
Contatta:

Windows + Apache + SSL

Messaggioda Cucciolo » 28 lug 2007 13:28

INSTALLAZIONE DI APACHE

- Scaricare una delle versioni di ApacheSSL (http://www.apachessl.net) dal sito ufficiale.
- Una volta scaricato ed estratto l'archivio copiare la cartella ApacheSSL in C:\
- Aprire con l'editor preferito il file di configurazione, httpd.conf che si trova all'interno della cartella conf
- Localizzare la riga #LoadModule ssl_module modules/mod_ssl.so e decommentarla togliendo il # iniziale.
- Localizzare la riga Listen 80 e subito sotto aggiungere:

Codice: Seleziona tutto

Listen 443
- Creare 2 virtual host, uno per le connessioni su porta standard (80) e l'altro per le connessioni protette sulla porta 443, a fine del file httpd.conf aggiungiamo:

Codice: Seleziona tutto

<VirtualHost localhost:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot C:\ApacheSSL\htdocs
</VirtualHost>

<VirtualHost localhost:443>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot C:\ApacheSSL\htdocs
SSLEngine On
SSLCertificateFile conf/ssl/localhost.cert
SSLCertificateKeyFile conf/ssl/localhost.key
</VirtualHost>
Salviamo e chiudiamo.


CREAZIONE DEL CERTIFICATO DI PROVA

Apriamo il prompt dei comandi

Codice: Seleziona tutto

Start -> Esegui -> cmd
Spostiamoci nella cartella bin di ApacheSSL digitando

Codice: Seleziona tutto

cd C:\ApacheSSL\bin
Eseguiamo i seguenti 3 comandi:

Codice: Seleziona tutto

openssl req -config openssl.cnf -new -out localhost.csr
Questo crea una richiesta di certificazione del certificato e ne crea una vostra chiave privata che fa riferimento al nome del vostro dominio e del certificato stesso, pertanto se alla richiesta del browser il nome del certificato e il nome del vostro dominio non corrispondono il browser vi darà un messaggio di avviso: Il nome del certificato di protezione non è valido o non corrisponde al nome del sito.

Codice: Seleziona tutto

openssl rsa -in privkey.pem -out localhost.key
Questo passaggio legge dal file di input la chiave privata per scriverla in localhost.key mediante RSA

Codice: Seleziona tutto

openssl x509 -in localhost.csr -out localhost.cert -req -signkey localhost.key -days 365
Questo ultimo passaggio genera un certificato auto firmato che potete usare per le prove. Il certificato ha una validità di 365 giorni, se volete prolungarne la durata incrementate il numero dei giorni in base alle vostre esigenze.

I file creati che saranno necessari sono localhost.key e localhost.cert che si trovano in C:\ApacheSSL\bin. Creiamo nella directory C:\ApacheSSL\conf una cartella chiamata ssl e succesivamente ci copieremo all'interno i files localhost.key e localhost.cert


INSTALLAZIONE DEL SERVIZIO APACHE

Dal prompt dei comandi, puntato in C:\ApacheSSL\bin eseguiamo:

Codice: Seleziona tutto

apache.exe -k install (per Apache e Apache 2.0)
httpd.exe -k install (per Apache 2.2)
Se tutto è andato bene il prompt vi deve restituire una scritta come questa:

Codice: Seleziona tutto

[i]Installing the ApacheSSL service
The ApacheSSL service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
Ora aprite il monitor (ApacheMonitor.exe, solo per Apache 2+) di ApacheSSL e fate lo start, se tutto è andato bene dovreste avere una server signature simile:
ApacheSSL/2.2.x (win) mod_ssl/2.2.2 OpenSSL/0.9.8b

Per testare la connessione sotto SSL vi basta puntare il browser su

Codice: Seleziona tutto

https://localhost:443
Note:
Se utilizzate Internet Explorer 7 e tentate di aprire una connessione su https://localhost:443 IE non ne sarà molto felice, vi dirà che il certificato non è valido e sicuro ecc ecc, vi basta cliccare su:
Continue to this website (not recommended).
per continuare senza problemi ma nella barra degli vi verrà mostrata la scritta "Certificate Error".


RIFERIMENTI

http://web.apachessl.net/
~Cucciolo~
Per trattare te stesso usa la testa, per trattare gli altri usa il tuo cuore.
Una essere umano muore solo quando viene dimenticato - Iruruko - One Piece
...sognare non costa nulla...

Non cliccare qui!!

SeThCoHeN
Senior Software Plus
Senior Software Plus
Messaggi: 11698
Iscritto il: 02 ott 2004 18:12
Località: Reggio Calabria

Messaggioda SeThCoHeN » 28 lug 2007 16:26

utilissima guida, bravo Cucciolo
Immagine

SeThCoHeN
Senior Software Plus
Senior Software Plus
Messaggi: 11698
Iscritto il: 02 ott 2004 18:12
Località: Reggio Calabria

Messaggioda SeThCoHeN » 28 lug 2007 16:27

bravo cucciolo, ottima guida
Immagine

Avatar utente
Cucciolo
Active Software Plus
Active Software Plus
Messaggi: 687
Iscritto il: 25 apr 2003 18:21
Contatta:

Messaggioda Cucciolo » 06 set 2007 11:08

per convertire il certificato in formato DER (binario)

Codice: Seleziona tutto

openssl x509 -in localhost.cert -out localhost.der -outform DER
~Cucciolo~
Per trattare te stesso usa la testa, per trattare gli altri usa il tuo cuore.
Una essere umano muore solo quando viene dimenticato - Iruruko - One Piece
...sognare non costa nulla...

Non cliccare qui!!

sp1der
Messaggi: 1
Iscritto il: 29 apr 2009 13:42

Re: Windows + Apache + SSL

Messaggioda sp1der » 29 apr 2009 13:45

Grazie per la guida!
Come faccio a fare un redirect di tutte le richieste che arrivano in http, in https?
Ora i miei utenti accedono a http://miosito.it" onclick="window.open(this.href);return false;, io vorrei fare in modo che automaticamente vengano rediretti verso https://miosito.it" onclick="window.open(this.href);return false;


Grazie!

Avatar utente
Cucciolo
Active Software Plus
Active Software Plus
Messaggi: 687
Iscritto il: 25 apr 2003 18:21
Contatta:

Re: Windows + Apache + SSL

Messaggioda Cucciolo » 01 mag 2009 19:23

nello head delle pagine che hai sul server http (porta 80), devi mettere questo codice:

Codice: Seleziona tutto

<meta http-equiv="Refresh" content="5"; url=https://www.miosito.it/">
se vuoi il redirect immediato, al posto di content="5" metti content="0"
~Cucciolo~
Per trattare te stesso usa la testa, per trattare gli altri usa il tuo cuore.
Una essere umano muore solo quando viene dimenticato - Iruruko - One Piece
...sognare non costa nulla...

Non cliccare qui!!

switch
Messaggi: 1
Iscritto il: 03 giu 2009 15:12

Re: Windows + Apache + SSL

Messaggioda switch » 03 giu 2009 15:13

Grazie utilissima guida!!

La homepage del progetto cmq è apachessl.sf.net non apachessl.net :wink: