Skip to content

Abilitazione di SSL

Cosa serve

Puoi trovare tutto in questa cartella Google Drive , o usare i link qui di seguito.

Abilitazione di SSL

Abilitiamo i moduli in questione:

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so

E attiviamo le opzioni di default:

Include conf/extra/httpd-ssl.conf

Generazione dei certificati

  1. Creiamo nell'installazione di Apache una cartella conf/cert, in cui mettere gli script batch e i certificati generati.
  2. Per ogni dominio locale, generiamo il certificato adatto.

    Ad esempio, per localhost:

    generate_certificate1 localhost
    

    Se il dominio ha 2 livelli, come sitoweb.local, faremo così:

    generate_certificate2 sitoweb local
    
  3. Aggiorniamo i VIrtual Host con la configurazione per SSL:
    <VirtualHost *:80>
    	ServerName sitoweb.local
    	DocumentRoot c:/tools/apache/htdocs/sitoweb.local
    
    	<Files ~ "\.(php|phtml)$">
    		SetHandler "proxy:fcgi://127.0.0.1:9072#"
    	</Files>
    
    	<Directory c:/tools/apache/htdocs/sitoweb.local>
    		AllowOverride all
    		Options Indexes FollowSymLinks MultiViews
    		Require all granted
    	</Directory>
    
    	ErrorLog "logs/sitoweb.local-error.log"
    </VirtualHost>
    
    <VirtualHost *:443>
    	ServerName sitoweb.local
    	DocumentRoot c:/tools/apache/htdocs/sitoweb.local
    
    	<Files ~ "\.(php|phtml)$">
    		SetHandler "proxy:fcgi://127.0.0.1:9072#"
    	</Files>
    
    	SSLEngine on
    	SSLCertificateFile "${SRVROOT}/conf/cert/sitoweb.local.crt"
    	SSLCertificateKeyFile "${SRVROOT}/conf/cert/sitoweb.local.key"
    
    	<Directory c:/tools/apache/htdocs/sitoweb.local>
    		Options All
    		AllowOverride All
    		Require all granted
    	</Directory>
    </VirtualHost>
    

Script batch

Riporto qui sotto il codice dei due script generate_certificate1.bat e generate_certificate2.bat, da usare a seconda che tu voglia un dominio a 1 livello oppure a 2 livelli.

Un livello, ad esempio: localhost

openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes ^
  -keyout %1.key -out %1.crt -subj "/CN=%1" ^
  -addext "subjectAltName=DNS:%1,IP:127.0.0.1"

Due livelli, ad esempio: miosito local

	openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes ^
	-keyout %1.%2.key -out %1.%2.crt -subj "/CN=%1.%2" ^
	-addext "subjectAltName=DNS:%1.%2,IP:127.0.0.1"