Installation SSL dans Wamp server: erreur dans httpd-ssl.conf

j'essaie de configurer ssl sur l'hôte local j'ai suivi le http://madurad.wordpress.com/2014/04/25/redirect-http-to-https-with-wamp-server/ et beaucoup d'autres mais incapables d'obtenir le succès. je suis resté dans la syntaxe de httpd-ssl.conf. mon serveur apache tombe en panne lorsque je mets le

<Directory "c:/wamp/www/"> 
   Options Indexes FollowSymLinks  
   AllowOverride all 
   Require all granted 
   SSLOptions +StdEnvVars
</Directory>

j'ai essayé beaucoup d'autres comme

<Directory "c:/wamp/www/"> 
   SSLOptions +StdEnvVars
</Directory>

qu'est-ce que la question ne peut pas obtenir....

15
demandé sur Ammar Hayder Khan 2014-10-07 16:45:33

7 réponses

comment configurer WAMPServer pour utiliser HTTPS SSL

*il ne s'agit pas d'un processus anodin. Ce tutoriel fera, espérons-le, travailler SSL pour vous. Cependant, le fait de le configurer correctement une fois qu'il fonctionne est totalement à vous.

lecture Supplémentaire pour tous ceux qui voyagent de cette route

Ok,

j'ai basé ce tutoriel sur la création d'un site appelé www.wamphelpers.dev So wherever you see that changement de nom pour le nom du site que vous essayez d'obtenir.

j'ai commencé par créer un site non sécurisé, in \wamp\www\wamphelpers

ajout d'un Hôte Virtuel pour ce site, dans \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "c:/wamp/www">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/wamphelpers"
    ServerName wamphelpers.dev
    ServerAlias www.wamphelpers.dev
    <Directory  "c:/wamp/www/wamphelpers">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

a ajouté son nom de domaine au C:\windows\system32\drivers\etc\hosts

certaines vérificateurs de virus bloquent l'accès au fichier HOSTS de sorte que vous pouvez avoir besoin de désactiver votre vérificateur de virus, ou de le configurer pour ne pas bloquer le fichier hosts temporairement.

127.0.0.1 wamphelpers.dev www.wamphelpers.dev
::1       wamphelpers.dev www.wamphelpers.dev

redémarrez maintenant dnscache comme suit à partir d'une commande windows lancée en utilisant 'Run as Administrator'

net stop dnscache
net start dnscache

a ensuite créé un script simple dans \wamp\www\wamphelpers\index.php

<?php
    echo 'Hello, this is the WAMPHELPERS.DEV site homepage';
?>

maintenant, pour activer les nouveaux serveurs virtuels que vous avez définis, éditez \wamp\bin\apache\apache{version}\conf\httpd.conf et trouvez cette ligne

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

et supprimer le # caractère de commentaire comme

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Enregistrer le fichier.

maintenant redémarrez Apache et assurez-vous que votre simple site hébergé virtuellement non sécurisé fonctionne avant de continuer.


La boîte à outils openssl. Openssl.exe, ssleay32.dll et libeay32.dll viennent avec, et sont situés dans, le C:\wamp\bin\apache\apachex.y.z\bin Cela devrait être tout ce dont vous avez besoin pour créer votre propre certificat signé !!

HOWEVER: ceux-ci n'ont pas fonctionné pour moi sur toutes les versions d'Apache que j'avais installé. J'ai toujours eu ce message d'erreur.

error message

où le numéro ordinal a changé en fonction du dossier de version d'apache dans lequel j'étais.

Si vous obtenez cette erreur ne vous inquiétez pas c'est ce que vous devez faire.

installez la dernière version de la boîte à outils OPENSSL

cela peut être obtenu à partir de ici

NOTE: N'utilisez pas le V1.1 version Pour l'instant, L'équipe PHP n'a pas encore compilé PHP avec ces nouveaux liens, donc restez sur la V1.0.? versions, jusqu'à ce qu'ils font.

choisissez la dernière version de 'Win32 OpenSSLv xxx Light' ou 'Win64 OpenSSLv xxx Light' pour correspondre à votre version installée de WAMPServer, car c'est tout ce dont vous avez besoin.

télécharger un .fichier exe que vous pouvez exécuter pour installer cette boîte à outils.

Il va posez la question suivante, je vous suggère de répondre comme ceci afin que vous ne finissiez pas installer quelque chose dans C:\windows\system32. Après tout, il s'agit d'une boîte à outils et elle change assez souvent. Il vaut mieux les séparer et ne pas les rendre globales.

openssl install suggestion

une fois que cela est installé ( dans n'importe quel dossier que vous avez spécifié dans l'installation), vous devriez être prêt à démarrer le processus de génération des clés et les certificats!


Générer des clés et des Certificats.

étape 1: générer une clé privée RSA

nous devons d'abord créer nous-mêmes un certificat. La normale (payé) processus consiste à créer votre certificat, puis le transmettre à l'autorité signataire. C'est pourquoi il en coûte de l'argent, comme ils doivent le faire, due dilligence, pour vérifier que vous êtes qui vous dites que vous êtes et ce site que vous allez utiliser le certificat sur est réelle et légitime.

la boîte à outils openssl est utilisée pour générer une clé privée RSA et CSR (demande de signature de certificat) à utiliser pour notre certificat. La première étape consiste à créer votre clé privée RSA. Cette clé est une clé RSA de 1024 bits qui est chiffrée en utilisant Triple-DES et stockée dans un format PEM afin qu'elle soit lisible en tant que texte ASCII.

ouvrir une fenêtre de commande (Boîte Dos) en utilisant [b]exécuter en tant Qu'administrateur [/b] Changer le répertoire à L'endroit où vous avez installé OpenSSL Trousse à outils ci-dessus. Dans mon cas, c'est

CD c:\apps\OpenSSL-Win32\bin

créer un dossier pour la sortie à mettre en place ( pour garder le dossier bin rangé ) j'ai utilisé site web

md website

Maintenant, entrez cette commande:

openssl genrsa -out website\server.key 2048

cela aurait dû créer un fichier dans le dossier du site Web appelé server.clé, sans la clé de phrase de passe, vérifiez qu'elle existe.

Étape 2: générer un CSR (demande de signature de certificat)

pendant la génération du CSR, plusieurs informations vous seront demandées. Ce sont les attributs X. 509 du certificat. Une des invites sera pour " Common Name (e.g. server FQDN or YOUR name) []:". il est important que ce champ soit rempli avec le nom de domaine entièrement qualifié du serveur à protéger par SSL. Donc, si le site web à protéger sera https://www.wamphelpers.dev, puis entrez www.wampheplers.dev à cette invite. J'ai utilisé wamphelper.dev mon ServerNameServerName wamphelpers.dev

n'entrez pas rien à la question suivante: Un défi de mot de passe []:] appuyez Simplement sur Entrée. Si vous entrez une phrase de passe ici lorsque vous venez pour démarrer Apache avec SSL configuré Apache ne démarre pas et donnera ce message d'erreur: -

[error] Init: SSLPassPhraseDialog builtin n'est pas supporté sur Win32

en gros, si vous saisissez un mot de passe, Apache est censé vous défier pour ce mot de passe chaque fois qu'il commence. Ce n'est évidemment pas aller pour rendre votre vie plus facile, mais principalement sur windows, il n'est pas réellement le travail, et provoquez le crash D'Apache quand il tente de demander la phrase de passe, avec l'erreur ci-dessus.

la commande pour générer le CSR est la suivante:

openssl req -new -key website\server.key -out website\server.csr


Example question and answers:
Country Name (2 letter code) [AU]:GB
State or Province Name (full name) [Some-State]: Hampshire
Locality Name (eg, city) []: Portsmouth
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Wamp Helpers Ltd
Organizational Unit Name (eg, section) []: Information Technology
Common Name (e.g. server FQDN or YOUR name) []: wamphelpers.dev
Email Address []: me@wamphelpers.dev

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ( leave blank just hit the enter key )
An optional company name []: ( leave blank just hit the enter key )

Étape 3: Production d'un certificat auto-signé

À ce stade, vous aurez besoin de générer un certificat auto-signé parce que vous ne prévoyez pas faire signer votre certificat par une AC, ou vous souhaitez tester votre nouvelle mise en œuvre SSL pendant que l'AC signe votre certificat.

PRE-WARNING Ce certificat générera une erreur dans le navigateur client à l'effet que le pouvoir de signature du certificat est inconnu et on ne lui fait pas confiance. C'est inévitable puisque nous signons le certificat nous-mêmes, mais bien sûr le réseau de confiance ne sait pas qui nous sommes. voir l'exemple plus loin dans ce document montrant comment dire à votre navigateur que vous faites confiance à ce certificat!--63-->

openssl x509 -req -days 365 -in website\server.csr -signkey website\server.key -out website\server.crt


Example output:
Loading 'screen' into random state - done
Signature ok
subject=/C=GB/ST=Hampshire/L=Portsmouth/O=WampHelpers Ltd/OU=Information Technology/CN=www.wamphelpers.dev/emailAddress=riggsfolly@wamphelpers.dev
Getting Private key

Etape 4: Installation de la clé privée et du certificat

créez ces 2 répertoires sous la version D'Apache que vous utilisez.

md c:\wamp\bin\apache\apachex.y.z\conf\ssl.key
md c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt

et copiez le fichier que nous venons de générer comme suit:

copy website\server.crt c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt
copy website\server.key c:\wamp\bin\apache\apachex.y.z\conf\ssl.key

Etape 5: configurer Apache pour activer SSL

éditer httpd.conf, vérifiez que cette ligne est sans commentaire

LoadModule authn_socache_module modules/mod_authn_socache.so

LoadModule ssl_module modules/mod_ssl.so

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

supprimer le commentaire '#' de cette ligne aussi

Include conf/extra/httpd-ssl.conf

puis déplacez cette ligne après ce bloc .... comme

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

Etape 6: configurer PHP pour activer SSL

éditez votre php.ini (utilisez les menus wampmanager pour éditer le bon )

supprimer le commentaire ';' de cette ligne

extension=php_openssl.dll

Étape 7: configurer vos sites sécurisés virtuel Accueil

Yup pour tous ceux qui sont des serveurs virtuels que nay sayers, maintenant vous ne pouvez pas éviter le processus.

Edit \wamp\bin\apache\apachex.y.z\conf\extra\httpd-ssl.conf

ce fichier est publié par Apache et contient une localisation de fichier par défaut. Nous pouvons laisser la plupart de ce fichier comme il est, mais nous avons besoin de configurer l'hôte virtuel ici pour correspondre à notre emplacement réel de sites et quelques autres choses si:

trouver ces lignes

DocumentRoot "c:/Apache2/htdocs"
ServerName www.example.com:443
ServerAdmin admin@example.com
ErrorLog "c:/Apache2/logs/error.log"
TransferLog "c:/Apache2/logs/access.log"

et les changer

DocumentRoot "c:/wamp/www/wamphelpers"
ServerName wamphelpers.dev:443
ErrorLog "c:/wamp/logs/ssl_error.log"
TransferLog "c:/wamp/logs/ssl_access.log"

Trouver

SSLCertificateFile "c:/Apache2/conf/server.crt"

et changez

SSLCertificateFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.crt/server.crt"

Trouver

SSLCertificateKeyFile "c:/Apache2/conf/server.key"

et changez

SSLCertificateKeyFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.key/server.key"

Trouver

<Directory "c:/Apache2/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

et changez

Syntaxe Apache 2.2

<Directory "c:/wamp/www/wamphelpers">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 localhost ::1
</Directory>

Syntaxe Apache 2.4

<Directory "c:/wamp/www/wamphelpers">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require local
</Directory>

Trouver

SSLSessionCache        "shmcb:c:/Apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

et le changer

SSLSessionCache        "shmcb:c:/wamp/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

Trouver

CustomLog "c:/Apache24/logs/ssl_request.log" \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

et changez

CustomLog "c:/wamp/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

regardez essentiellement le fichier conf et toute commande qui n'est pas commentée, mais qui fait référence à un fichier ou à un dossier. doit être modifié pour faire référence à la structure du dossier WampServer et non 'C:/Apache2....'

assurez-vous Maintenant que tous les fichiers que nous avons modifiés sont sauvegardés et redémarrez Apache en utilisant les menus wampmanager.

premier test que le non protégé le site fonctionne toujours.

alors essayez d'utiliser votre nouveau site protégé en ajoutant le 'https: / /' à l'avant du nom de domaine i.e. https://www.wamphelpers.dev sans les simples guillemets bien sûr.

si Apache ne redémarre pas vous avez probablement épeautre quelque chose de mal. Tester les configs comme suit: -

Ouvrir une fenêtre de commande

cd \wamp\bin\apache\apachex.y.z\bin
httpd -t

Cela permettra d'analyser tous les fichiers de configuration et devrait vous donner un nom de fichier et un numéro de ligne où l'erreur a été trouvé.

réparez - le et réessayez.

le premier accès à votre site générera une page de message de ce genre. Cela utilise FireFox, d'autres seront légèrement différent, mais le concept est le même.

enter image description here

c'est parce que votre certificat n'est pas signé par une autorité de confiance, pas de panique, c'est supposé se produire.

cliquez sur, 'je comprends le risque' et cela vous montrera un bouton en disant "Ajouter une Exception" Appuyez sur le bouton Ajouter une Exception, après avoir vérifié que les détails du site des certificats sont bien les vôtres., et vous ne verrez plus ce message à moins que vous ne supprimiez la liste des exceptions.

BIG NOTE Depuis Apache v2.2.12 et OpenSSL v0.9.Il est maintenant possible de sécuriser plus d'un site par instance Apache. Ce tutoriel ne couvre pas ce processus. Voir ici pour plus d' détails:

Ici

et

et

et comme je l'ai dit au début, maintenant vous devez faire quelques recherches sur toutes les options disponibles dans la config SSL et faire fonctionner la chose comme vous voulez plutôt que d'utiliser la valeur par défaut.

67
répondu RiggsFolly 2017-07-31 16:16:13

il est nécessaire d'activer le module LoadModule socache_shmcb_module modules/mod_socache_shmcb.donc dans le fichier httpd.conf dans wampserver 2.5. Si ce n'apache lance le message suivant:

AH00526: erreur de syntaxe à la ligne 75 de C:/wamp/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: SSLSessionCache: le cache de session' shmcb ' n'est pas supporté (noms connus:). Peut-être que vous avez besoin de charger le module socache approprié (mod_socache_shmcb?).

5
répondu Juan Diego Trujillo Perez 2015-11-24 22:24:31

@RiggsFolly: quelques petites erreurs/fautes de frappe/ajouts dans votre tutoriel. Ci-dessous est utilisé en combinaison avec wampserver 2.5 64bits (Apache 2.4.9 et PHP 5.5.12) sur Windows 7 SP1 64bits:

-httpd-vhosts.conf est situé dans extra / httpd-vhosts.conf

-lorsque vous essayez de modifier votre fichier hosts assurez-vous de désactiver tout virusscanner. Certains bloquent l'accès au fichier hosts.

-assurez-vous d'ouvrir votre éditeur de texte en tant qu'administrateur lors de l'édition de votre fichier hosts ou bien vous obtenez une erreur en essayant de sauver.

- n'oubliez pas de supprimer # au début de la ligne hôte s'il y en a

- si vous utilisez WAMPServer 64bit assurez-vous de télécharger la version 64bit D'OpenSSL

-l'étape openssl genrsa-out site web\server.clé de 2048 crée un serveur.fichier clé et pas un privkey.pem!

-le fichier \wamp\bin\apache\apachex.y.z\conf\httpd-ssl.conf est situé à l'adresse \wamp\bin\apache\apachex.y.z\conf\extra\httpd-ssl.conf (peut-être que cela dépend the WAMPServer version)

- j'ai dû utiliser différents ports pour http (80 - >8080) et https(443->444) car ces ports étaient utilisés par je pense Skype. Lorsque vous utilisez différents ports, assurez-vous de les utiliser partout où vous voyez 80 ou 443 dans ce tutoriel

- j'ai aussi dû activer socache_shmcb_module. Le "httpd-t" l'a également mentionné.

2
répondu Jan 2015-02-25 09:58:13

Si vous avez l'erreur à quelque chose comme ceci:

Cannot load modules/mod_ssl.so into server: The specified module could not be found.
  1. Vous pouvez essayer de rechercher libeay32.dll dans votre dossier wamp, vous le trouverez probablement dans {Dossier wamp} / bin/php/php{version 7}/

  2. Copie libeay32.dll et ssleay32.dll et coller dans {wamp dossier}/bin/apache/apache{version 2.x}/bin/ ET {wamp dossier}/bin/php/php{version 5.x}. Assurez-vous de sauvegarder tout ce que vous placez.

  3. Exécuter httpd-t et tester la syntaxe

NOTE: je crois que c'est dû à l'erreur dans la partie openssl d'apache pour wamp 3.0.6. Heureusement, dans le dossier php7, ces dlls sont compatibles avec apache et php5.

2
répondu Anson Woody 2016-09-18 14:51:13

@RiggsFolly: certificat Auto-signé avec la clé pourrait être facilement généré par exemple ici... http://www.selfsignedcertificate.com/, pour que je puisse démarrer le tutoriel à partir de l'étape 4 (j'avais aussi standard :80 virtual server tournant).

en tout cas certaines choses mentionnées étaient déjà activées dans l'installation de WAMP par défaut (je suppose que cela change d'une version à l'autre), mais le reste m'a beaucoup aidé. Et en fait une chose manquait... J'ai également eu à décommenter la ligne suivante dans "httpd.conf"

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
1
répondu Pěna 2014-11-25 09:03:14

Si vous avez l'erreur :

impossible de charger les modules / mod_ssl.so into server: le système d'exploitation ne peut pas exécuter %1

Ensuite, vous devez :

  1. Installer Win32 OpenSSL ici http://slproweb.com/products/Win32OpenSSL.html
  2. Copier / coller libeay32.dll, ssleay32.dll dans votre dossier WAMP PHP bin (C:\wamp64\bin\php\php5.6.19)--12-->
  3. redémarrez apache

Note: testé sur Wamp server 3

1
répondu Tsounabe 2016-07-20 15:44:13

Avant tout:

1).Arrêter WAMP et passer à C:\wamp\scripts\config.inc.php déplacer à partir de la matrice de libeay32.dll,ssleay32.dll, lignes 133, 139

2).Installez OpenSSL à partir du site officiel,faites attention sur la version de votre OS x64 ou non.

invite de Commande:

3).cd C:\wamp\bin\apache\apache2.4.23\bin

4). openssl req -new > localhost.csr

5). openssl rsa -in privkey.pem -out localhost.key

6). openssl x509 -in localhost.csr -out localhost.crt -req -signkey localhost.key -days 365 -sha256 -extfile v3.ext

mise à Jour: de Chrome 58 nous aurons besoin de fournir Subject Alternative Name. Ce nom que nous pouvons obtenir à partir du fichier d'extension v3.ext:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = 127.0.0.1
DNS.2 = localhost

Très important dans le Nom Commun pour insérer 'localhost'

7).Attrapez localhost.clé et localhost.crt et de les mettre à l' C:\wamp\bin\apache\apache2.4.23\conf\key (assurez-vous,avant de créer de répertoire approprié)

Configuration:

8).activer C:\wamp\bin\apache\apache2.4.23\bin\php.ini et

C:\wamp\bin\php\php5.6.25\php.iniextension=php_openssl.dll

9).passez à l' C:\wamp\bin\apache\apache2.4.23\conf\httpd.conf et sans complaisance:

LoadModule ssl_module modules/mod_ssl.so,

Include conf/extra/httpd-ssl.conf,

Include conf/extra/httpd-vhosts.conf,

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 

10). passez à l' C:\wamp\bin\apache\apache2.4.23\conf\extra\httpd-ssl.conf

et apporter des modifications :

SSLSessionCache "shmcb:c:/wamp/bin/apache/apache2.4.23/logs/ssl_scache(512000)",

SSLSessionCacheTimeout 300,

VirtualHost _default_:443,

DocumentRoot "c:/wamp/www/",

ServerName localhost:443,

ErrorLog "c:/wamp/bin/apache/apache2.4.23/logs/ssl_error.log"

, (créer un fichier si ce n' il existe)

TransferLog "c:/wamp/bin/apache/apache2.4.23/logs/access.log",

SSLCertificateFile "c:/wamp/bin/apache/apache2.4.23/conf/key/localhost.crt",

SSLCertificateKeyFile "c:/wamp/bin/apache/apache2.4.23/conf/key/localhost.key",

<Directory "c:/wamp/www/">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require local
</Directory>

,

  CustomLog "c:/wamp/bin/apache/apache2.4.23/logs/ssl_request.log"

traitement des certificats:

11).appuyez sur Win+R et insérez " certmgr.msc',l'importation servercert.crt en "Racine de Confiance Certifié Autorités'

12). Vérifiez votre serveur dans l'invite de commande 'httpd-t' doit être 'syntaxe OK'

13). Lancez Wamp et procédez au lien https://localhost

je suis espérons que cela aidera

Remarque: lire cet article sur Mozilla comportement :

https://blog.mozilla.org/security/2014/09/23/phasing-out-certificates-with-sha-1-based-signature-algorithms/
1
répondu Kirill Shur 2017-07-12 09:27:21