Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Corsi, Tutorial e FAQ (https://www.hwupgrade.it/forum/forumdisplay.php?f=56)
-   -   [Tutorial] Apache + SSL in ambiente Windows (https://www.hwupgrade.it/forum/showthread.php?t=1206587)


udK 23-05-2006 12:14

[Tutorial] Apache + SSL in ambiente Windows
 
Per questioni di lavoro, 2 anni fa mi trovai costretto a dover implementare al webserver Apache2 il supporto per il protocollo https tramite OpenSSL in ambiente Windows.
Cercando in rete non trovai molte informazioni in merito; da qua l'idea di partire dalla fonte, prendere Apache2 e implementargli direttamente OpenSSL, da qui nacque ApacheSSL.

Senza dilungarmi troppo vediamo cosa ci occorre per far girare assieme al nostro Apache il sistema SSL.

1) Scaricare una delle versioni (Apache, Apache2.0 o Apache2.2) di ApacheSSL dal sito ufficiale.

2) Una volta scaricato ed estratto l'archivio copiare la cartella ApacheSSL in C:\

3) Aprire con l'editor preferito il file di configurazione, httpd.conf che si trova all'interno della cartella conf

4) Localizzare la riga #LoadModule ssl_module modules/mod_ssl.so e decommentarla togliendo il # iniziale.

5) Localizzare la riga Listen 80 e subito sotto aggiungere:
Listen 443

6) 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:

<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.

Fino a questo punto niente di complicato, ora arriva il momento di creare un certificato di prova.


Apriamo il prompt dei comandi, Start -> Esegui -> cmd [invio]
Spostiamoci nella cartella bin di ApacheSSL digitando cd C:\ApacheSSL\bin


Eseguiamo i seguenti 3 comandi:

openssl req -config openssl.cnf -new -out localhost.csr
openssl rsa -in privkey.pem -out localhost.key
openssl x509 -in localhost.csr -out localhost.cert -req -signkey localhost.key -days 365


Soffermiamoci un momento su questi 3 passaggi per spiegare cosa č stato fatto;

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.

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

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 files 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


L'ultimo passo č quello d'installare il servizio di ApacheSSL tra i vari del sistema.
Sempre dal prompt dei comandi, puntato in C:\ApacheSSL\bin eseguiamo:

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:
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 https://localhost:443

E' tutto!

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:
-------------
- Sito ufficiale di Apache (ASF) http://www.apache.org
- Sito ufficiale di OpenSSL http://www.openssl.org
- Sito ufficiale del progetto ApacheSSL http://apachessl.sf.net

Ikari80 09-10-2006 10:21

proprio la guida ke stavo cercando!! :eek:

ora la provo subito :D

Thankssssss

landfab 16-03-2007 15:38

Problemi generazione certificato
 
Ciao

sto seguendo la tua guida passo passo ma quando provo a dare il comando

openssl req -config openssl.cnf -new -out localhost.csr

mi dice

The system cannot execute the specified program.

Il sistema operativo č Windows 2003 server standard edition

Grazie in anticipo per la collaborazione!

landfab 16-03-2007 16:10

come non detto
 
La soluzione č installare il pacchetto dei binari per windows visual c++

Grazie lo stesso

ciao!

udK 16-03-2007 20:23

Quote:

Originariamente inviato da landfab (Messaggio 16376433)
La soluzione č installare il pacchetto dei binari per windows visual c++

Grazie lo stesso

ciao!

avevo messo un post in rilievo nel forum di www.apachessl.net proprio per questo problema;

ciao

djchandler 08-04-2007 10:32

APACHE SSL E WINDOW VISTA PROBLEMA HELP::
 
Inviato: 8 Aprile 2007 10:17 Oggetto: Window Vista e Apache ssl problema

--------------------------------------------------------------------------------

Ciao A tutti ,
ho provato ad installare apache ssl su window vista home basic.


di apache ho provato a mettere la versione 2.0 ma nulla:

nella versione 2.0 qunado devo dare nel prompt il comando apache.exe -k install una volta dato invio non succede proprio nulla

no si installa ritorna la riga di comando normale di promtp??

in apache ssl 2.2 invece dopo i comando di install mi da :
httpd.exe -k install :

--->failed to open the Win nt<service manager ....

Che faccio ??
il mio sistema operativo e window vista home basic.

mai successo una cosa del genere con xp (funzionava da dio apache) pero purtroppo ora ho sto sistema oerativo...

udK 08-04-2007 11:13

per installare ApacheSSL in Windows Vista devi aprire il prompt dei comandi in modalitā amministratore.

Start -> Tutti i programmi -> Accessori -> [click destro -> Esegui come amministratore] su Prompt dei comandi

una volta aperto il prompt segui la normale procedura di installazione in base alla tua versione di ApacheSSL.

ciao ;)

(ti ho risposto anche nell'altro forum)

regufo 15-05-2007 15:59

Non riesco ad installare APACHE su Windows Vita
 
Ciao ragazzi
Ho comprato da poco tempo un portatile nuovo ed ho dovuto tenere il sistema operativo che c'era installato, quindi "Vista".
Voglio installare il webserver Apache ed ho seguito i soliti passi.
1) logato come Administrator
2) eseguito l'installer
3) ho installato anche il modulo per PHP5

:muro:

Adesso sto utilizzando un tool che si chiama Radicore che deve accedere in scrittura ad un file e mi esce una schermata di errore "permessi non concessi"
A questo ho girato un po sul web ed ho visto che č necessario un virtual host, qualcuno di voi sa come devo fare per dare al mio Apache i permessi di scrittura, lattura, esecuzione e Dio ? č necessario questo Virtual Host ?:muro:

simoneilsolito 22-06-2007 10:42

problemi con comandi dal prompt
 
Ciao ,

ho anche io qualche problema nel creare un certificato di prova dal prompt dei comandi dopo aver modificato il file httpd.conf.

Infatti quando inserisco dal prompt dei comandi di DOS:

openssl req

mi esce la scritta:

Unable to load config info from /usr/local/ssl/openssl.cnf

e se provo a inserire la scritta:

config openssl.cnf

esce la scritta :

" config " non č riconosciuto come comando interno o esterno, un programma eseguibile o un file di batch

Quale potrebbe essere il problema secondo voi?

Grazie

Simone Solito

Spectrum7glr 19-02-2008 22:27

gironzolando in rete nel tentativo di installare apache col supporto ssl mi sono imbattoto in questa guida.

L'ho seguita e funziona bene, ma solo se provo ad accedere al mio "sito di prova" in locale....se provo con https da remoto (mi sono abbonato ad un servizio di dynamic dns) il browser (FFox) mi restitusce l'errore 12263. La cosa curiosa č che se faccio lo stesso con http tutto funziona a perfezione...qualcuno sa darmi qualche dritta?

sommojames 21-08-2008 14:36

@udK
 
Sei un mito, questa guida mi č stata utilissima per un esame che sto preparando :sofico:

Blackskull182 03-04-2012 11:41

Grazie per il 3d :)

Gregor 21-08-2012 11:04

Scusate, come posso sapere se chi mi fa da host mi permette le chiamate ad https://?


Tutti gli orari sono GMT +1. Ora sono le: 16:33.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.