WampServer

Apache, PHP, MySQL on Windows 

 
  • Accueil forum
  • Retour à WampServer
  • presentation
  • Download
  • Addons
  • Formations
  • Alter Way

 
Voir le sujet: Précédent•Suivant
Aller à : Liste des Forums•Liste des messages•Nouvelle discussion•Recherche•Connexion•Imprimer la vue
INSTALLER UNE (nouvelle) VERSION de Wampserver
Envoyé par: Otomatic (Modérateur)
Date: 09 November 2013 à 18:07

Installer une nouvelle version de Wampserver.

Attention : Ceci n'est valable QUE pour passer d'un vieille version de Wampserver 2.x à Wampserver 3.
Si vous avez déjà Wampserver 3 et que vous voulez changer de version, il existe des mise-à-jour Wampserver 3.
Si vous voulez ajouter des versions Apache, PHP, MySQL ou MariaDB à votre version actuelle de Wampserver 3, il existe des "addons".
Tout cela est disponible sur Sourceforge, mais bien mieux organisé sur http://wampserver.aviatechno.net/

Si, à partir de Wampserver 2.5, vous souhaitez passer à WampServer 3, lisez WAMPserver 3 - Tout ce que vous devez savoir où vous verrez que vous pouvez mettre à niveau WampServer 2.5 vers WampServer 3.0.3 directement in situ et ensuite appliquer la mise à jour WampServer 3.0.6 par-dessus WampServer 3.0.3 sans aucun problème et sans changer vos versions actives d'Apache, PHP et MySQL, ni changer vos VirtualHost existants.

Nota : Wampserver 2.5 est incompatible avec Windows XP toutes versions

Ce n'est pas un procédure avec des simples clics de souris. Il faut mettre les « mains dans le cambouis » et il y a beaucoup de choses qui peuvent vous faire trébucher ou même renoncer ; néanmoins, c'est tout-à-fait réalisable avec un peu de bon sens, quelques connaissances et un peu de temps !
Ne commencer ce processus que si vous avez au moins deux heures pour le faire (Quatres heures, voire plus pour les débutants), cela devrait aller, mais en fonction de votre niveau de compétence et des logiciels* utilisés, cela peut prendre plus de temps.

---- Avant de commencer quoi que ce soit, lisez la totalité au moins une fois
---- Ne JAMAIS installer une nouvelle version de Wampserver PAR-DESSUS l'ancienne
---- Cela peut vous sembler long et difficile mais vous pouvez procéder en plusieurs phases en pouvant remettre en fonctionnement sans pertes l'ancienne version entre les différentes phases de la procédure.(1)

=====================================================================
*Prérequis important au sujet de l'éditeur de texte utilisé : Pour modifier les fichiers, vous devez utiliser un éditeur de texte, mais pas n'importe lequel. En effet, certains éditeurs de texte, le Bloc-Notes (notepad.exe) de Windows par exemple, ne sont pas capables de visualiser correctement des fichiers comportant de retours à la ligne de type Unix*, d'autres recodent subrepticement ces retours à la ligne de type Unix en type Windows/DOS, d'autres encore changent le jeux de caractère utilisé ou ajoutent des entêtes ; Or, il est impératifs que les types de fin de ligne ou les jeux de caractères des fichiers de Wampserver ne soient pas altérés, sinon cela génèrera des impossibilités et des erreurs lors de son utilisation. C'est pourquoi je recommande fortement d'utiliser un éditeur de texte gratuit, performant et en français comme Notepad++ que vous trouverez à Notepad++ (Si vous utilisez un éditeur de texte comme UtraEdit, ça ne posera aucun problème).
* Les caractères indiquant les fins de lignes sont de trois types :
- Windows/DOS : CR - LF (Carriage Return - Line Feed) Deux octets 0x0D et 0x0A
- Unix : LF (Line Feed) Un octet 0x0A
- Mac : CR (Carriage Return) Un octet : 0x0D
=====================================================================

Tout ce processus est basé sur le fait qu'une installation de WampServer n'est fondamentalement qu'une copie de fichiers sur votre disque dur, avec un petit fichier d'adaptation afin qu'il sache ce que vous avez installé. Les seules choses qui sont liées au dossier dans lequel vous l'installez sont les deux ou trois services « wampapache », « wampmysqld » et « wampmariadb ». Donc, si on enlève ceux-ci - et il y a une option de menu pour le faire sur wampmanager - votre installation d'origine est quasiment éliminé. (Si vous n'avez pas supprimé les services via Wampserver, voir en bas de page, Note A, comment le faire via Windows).

Premièrement Sauvegardez toutes vos bases de données au format SQL (L'exportation sous PhpMyAdmin est un des moyens de le faire), Ce sont vos bases de données et non pas celles qui font partie de MySQL. Enregistrer les sauvegardes dans un endroit sûr et facilement disponible.
Les bases de données faisant partie de MySQL sont 'mysql', 'information_schema' et 'performance_schema'. Ne pas les sauvegarder, sauf si vous savez ce que vous faites et vous savez que vous en avez besoin.
Vous n'avez pas besoin de la base de données appelée « test » à moins que vous l'ayez utilisé pour quelque chose que vous voulez garder.

Si vos bases de données sont de taille petite à moyenne, vous pouvez utiliser phpMyAdmin pour faire les sauvegardes.
Si elles sont trop grosses et que phpMyAdmin ne parvient pas à les exporter (normalement en raison d'une limite de max_runtime PHP), vous pourrez sauvegarder en utilisant mysqldump.exe en ligne de commande MySQL. Voir l'aide [dev.mysql.com] à ce sujet.
Il est également possible de modifier l'alias PhpMyAdmin pour augmenter les limites de temps et la taille maximum : Voir [forum.wampserver.com]

Si tous vos sites se connectent à leurs bases de données à l'aide de 'localhost', 'root' et '' (un mot de passe vide) il n'y a rien d'autre à faire. (Néanmoins, ce n'est pas une bonne idée)
Si vous avez défini un mot de passe root et l'utilisation ('localhost', 'root' et 'un_mot_de_passe') il suffit de se rappeler ce mot de passe afin que vous puissiez le recréer sur la nouvelle version de MySQL.
Si vous avez fait les choses correctement et créé des utilisateurs et mots de passe MySQL spécifiques pour chacun de vos sites se connectant aux bases de données, vous allez avoir à noter ces utilisateurs et mots de passe associès pour les recréer après avoir restauré vos bases de données sur la nouvelle version de MySQL.
Vous pouvez également utiliser phpMyAdmin pour exporter chacun de vos noms d'utilisateurs et les mots de passe associés, les enregistrer, puis ré-appliquer à la nouvelle version de MySQL.

Toujours avant d'installer le nouveau Wampserver

Les seules « choses » qui sont installés par WampServer sont les services Apache, MySQL et MariaDB. Nous allons donc les supprimer.
Démarrer WampServer
Icône wampmanager -> Arrêter les services
Icône wampmanager -> MySQL -> Service -> Supprimer le service
Icône wampmanager -> MariaDB -> Service -> Supprimer le service
Icône wampmanager -> Apache -> Service -> Supprimer le service
Maintenant on va quitter wampmanager.
Clic-Droit Icône wampmanager -> Fermer

Renommer le dossier Wamp en ce que vous voulez, par exemple wamp_old. C'est votre sauvegarde.
C'est pourquoi il ne faut JAMAIS installer une nouvelle version de Wampserver par-dessus l'ancienne.

-+- Fin des sauvegardes et de la préparation d'installation de la nouvelle version -+-
-+-+-+-+- En ayant procédé de cette manière vous ne perdrez rien +-+-+-+-


Maintenant, nous allons installer la nouvelle version de Wampserver, on y va...
Le vrai support 64 bit n'est effectif qu'à partir de PHP 7 et, bien sûr avec un Wampserver 64 bit sur un Windows 64 bit.
Téléchargez et installez le nouveau Wampserver, vous pouvez installer sur n'importe quel lecteur C:, D:, E:, etc., mais à la racine du lecteur soit C:\wamp, mais surtout Ne pas installer dans C:\Program Files\ ou C:\Program Files (x86)\ ou dans tout autre dossier dont le chemin comporte un espace. N'oublions pas que Apache et PHP viennent du monde Unix et qu'ils supporte mal les noms de dossiers avec des espaces, celui-ci étant un séparateur de paramètres.
Mon installation de Wampserver est dans J:\wamp - Vous verrez plusieurs fois ce chemin qu'il vous faudra rectifier en fonction de votre installation.

Maintenant nous allons vérifier que la nouvelle installation de Wampserver est fonctionnelle :
Lancer Wampserver et après quelques instants, l'icône dans la zone de notification de la barre des tâches DOIT être VERTE

- 1 - Depuis l'icône lancer localhost, la page d'accueil de Wampserver doit s'afficher dans le navigateur par défaut.
- 2 - Sur cette page d'accueil, cliquez sur PhpMyAdmin.
Après installation de Wampserver, MySQL (Donc PhpMyAdmin) est configuré de telle sorte que l'utilisateur "root" sans mot de passe puisse accèder à l'écran PhpMyAdmin. Mais, si l'utilisateur n'est pas "root" (sans guillemets et tout en minuscules), il n'aura aucun privilège, ne pourra donc pas mettre ou modifier un mot de passe et ne pourra pas créer de base de données. Il est donc absolument impératif de vous connecter à PhpMyAdmin en tant qu'utilisateur "root" (Sans guillemets et tout en minuscules).

Si vous avez un problème, rappelez-vous que cette nouvelle installation ne dispose pas des adaptations de configuration que vous aviez faites pour la version précédente. Il va alors falloir comparer l'ancienne configuration avec la nouvelle et apporter les plus et les moins qui vous sont nécessaires.
Rappelez-vous aussi que vous venez de changer de version d'Apache, de PHP et de MySQL et que les configurations par défaut après installation ne sont pas forcèment celles qui vous sont nécessaires et qu'il vous faut les comparer.
Ne JAMAIS copier les anciens fichiers de configuration par dessus les nouveaux - des options ont été ajoutées ou supprimées entre les versions. En procédant de la sorte, vous vous exposez à des problèmes insolubles
C'est une des raisons pour lesquelles nous n'avons pas supprimé l'ancienne installation Wampserver. L'autre raison étant que cela permet, en cas de problème insoluble (ou en cas d'application de la procédure en plusieurs étapes), de revenir rapidement et sûrement à l'ancienne version.(1)

Pour rappel, les BONS fichiers à modifier sont ceux qui sont accessibles par l'icône Wampserver
- Icône -> Apache -> httpd.conf
- Icône -> PHP -> php.ini
- Icône -> MySQL -> my.ini
- Icône -> MariaDB -> my.ini
De même pour les fichiers de log qui pourraient contenir les éventuelles erreurs.
Pour information :
- J:\wamp\bin\apache\Apache2.4.x\bin\php.ini
Fichier de configuration de la version de PHP active
- J:\wamp\bin\php\php5.6.x\php.ini
Fichier de configuration de PHP utilisé par la ligne de commande (CLI), donc par les scripts PHP internes à Wampmanager.
- J:\wamp\bin\php\php5.6.x\phpForApache.ini
Fichier de configuration de PHP chargé ou sauvegardé lors des basculements de versions de PHP

Lorsque vous effectuez les omparaisons de configuration entre l'ancienne version et nouvelle, ayez présent à l'esprit que certaines extensions peuvent être maintenant intégrées dans le « corps » de PHP et donc, ne plus exister comme extensions à charger.

Vous pouvez également avoir quelques « surprises » avec MySQL et le fichier my.ini.
Des options ont été changées, d'autres supprimées ou ajoutées. Par exemple vous pourriez être amené à activer certains paramètres.

Seulement après que la nouvelle version est totalement fonctionnelle, vous pourrez importer (ou créer) vos utilisateurs MySQL et restaurer (importer) vos bases de données.

Rappelez-vous aussi que si vous venez d'une très vieille version de MySQL, ce processus de restauration peut ne pas être totalement fonctionnel, et il faut s'attendre à devoir « bidouiller » quelques trucs. C'est assez inhabituel, mais ça peut arriver.

Pour transférer vos sites locaux sur la nouvelle version :
Copier tous VOS dossiers de wamp_old\www\* dans wamp\www\
Copier et non déplacer, pour garder la sauvegarde intacte.
Je signale que l'on peut éviter la copie des dossiers des sites locaux en utilisant des VirtualHost et en localisant ceux-ci en dehors de l'arborescence de Wampserver.

Mettre en place les hôtes virtuels (Virtuals Hosts)
Pour ce cas on peut recopier l'ancien fichier wamp_old\bin\apache\Apache2.x.y\conf\extra\httpd-vhosts.conf par dessus le nouveau wamp\bin\apache\Apache2.x.y\conf\extra\httpd-vhosts.conf tout en remplaçant les éventuelles anciennes directives Order.. Allow from... d'Apache 2.2 par les nouvelles Require d'Apache 2.4
Ne pas oublier également de décommenter la ligne Include conf/extra/httpd-vhosts.conf' du nouveau fichier httpd.conf.
Si vous n'avez jamais utilisé les Virtuals Hosts, ce serait l'occasion de la faire : Le besoin de VirtualHost. De plus, pour toute utilisation de CMS ou d'application web et afin d'éviter les problèmes futurs, il faut créer un VirtualHost AVANT d'installer le CMS : Pourquoi faut-il créer un VirtualHost AVANT d'installer un CMS

À partir du moment ou la nouvelle version de wampserver est totalement fonctionnelle et répond à vos besoins et parce que l'une des meilleures fonctionnalités de WampServer est la possibilité de basculer entre plusieurs versions d'Apache, MySQL et PHP, on peut - éventuellement - remettre les anciennes versions d'Apache, PHP et MySQL. De nombreux addons Apache, PHP, MySQL ou MariaDB sont disponibles

Comme c'est peut-être la première fois que vous avez installé Apache 2.4 : TOUTES les versions de PHP ne sont PAS COMPATIBLES avec Apache 2.4. Il est impératif que les versions de PHP aient été compilées avec VC9 ou plus, ce qui exclut d'office toutes les versions PHP 5.2.x. PHP 5.3 a été compilé VC9 à partir de PHP 5.3.0, mais certaines anciennes versions de Wampserver comprenaient des version PHP 5.3.x encore compilées VC6.

Si vous tourner sous Apache 2.4 et que vous voulez basculer sur une version de PHP qui n'a pas le fichier 'php5apache2_4.dll', vous verrez une icône « Attention » devant le numéro de version de PHP dans le menu de Wampserver et il sera impossible de basculer sur cette version de PHP.

Et, si rien ne fonctionne correctement ou si vous voulez effectuer la procédure en plusieurs étapes, voir ci-dessous :

(1) Pour revenir - même temporairement, le temps de la mise au point de la nouvelle version - à l'ancienne version :
Démarrer la nouvelle version, même si l’icône n'est pas verte
- Icône -> Arrêter les services
- Icône -> MySQL -> Service -> Supprimer le service
- Icône -> Apache -> Service -> Supprimer le service
- Icône -> MariaDB -> Service -> Supprimer le service
Clic-Droit sur l'icône -> Fermer

Renommer le dossier wamp en wamp_new
Renommer le dossier wamp_old en wamp
(Rappelez-vous, c'est votre sauvegarde)

Lancer Wampserver (Bien sûr, l'icône sera rouge !)
- Icône -> MySQL -> Service -> Installer le service
- Icône -> Apache -> Service -> Installer le service
- Icône -> Démarrer les services
Et vous retrouvez le même état qu'avant avoir démarrer cette procédure.
N'oubliez pas de vider le cache du navigateur (CTRL + F5) pour éviter d'obtenir des « drôles » de trucs qui pourraient survenir avec les basculements entre les applications.

Et vous procédez de manière inverse pour arrêter l'ancienne version et remettre la nouvelle.

-- Note A -- - Supprimer les services via Windows.
Pour supprimer un service :
Démarrer, Exécuter, Tapez : "SC DELETE <nom du service>"
Ou ouvrir une fenêtre de commande En tant qu'administrateur et tapez la commande ci-dessus dans cette fenêtre. Il est impératif que les commandes de suppression des services soient effectuées en tant qu'administrateur, sinon, les suppressions n'auront pas lieu.
Donc, pour Wampserver ce sera :
SC DELETE wampapache (ou wampapache64 si 64 bits)
SC DELETE wampmysqld (ou wampmysqld64 si 64 bits)
SC DELETE wampmariadb (ou wampmariadb64 si 64 bits)



Modifie 10 fois. Derniere modification le 04/07/2018 à 17:23 par Otomatic.

Options: Répondre•Citer ce Message
Configurer Wampserver pour https SSL en local
Envoyé par: Otomatic (Modérateur)
Date: 29 April 2020 à 14:32

Configurer Wampserver pour https SSL en local
Maintenant intégré dans Wampserver à partir de la version 3.3.2

-- Procédure expliquée pour wampserver installé dans e:\wamp64 et pour apache 2.4.57
Modifiez les chemins et version en fonction de votre installation
Procédure compilée à partir de comparaisons et d'essais de diverses documentations et explications dont celles d'Artemus24 sur son site [www.jcz.fr]
Ce n'est peut-être pas la meilleure méthode et il y a sans doute des redondances et/ou des trucs en trop, mais :
Cette procédure fonctionne et a été essayée pour Apache 2.4.37 à 2.4.57 64 bit

-- Wampserver doit être arrêté, donc les services stoppés.

-- Modification du fichier e:\wamp64\bin\apache\apache2.4.57\conf\httpd.conf
Decommenter :
#Include conf/extra/httpd-ssl.conf
pour obtenir :
Include conf/extra/httpd-ssl.conf
Pour activer https SSL, il faut dans httpd.conf charger les deux modules :
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
On n'activera le chargement de ces modules qu'après avoir effectuer toute la procédure de création des clés et s'être assuré que les VirtualHost fonctionnent correctement en httpd port 80.
En effet, comme on peut le lire dans les commentaires du fichier httpd-ssl.conf :
# Lorsque nous utilisons SSL, nous devons écouter le port HTTP standard et le port HTTPS.

-- Remplacement du fichier e:\wamp64\bin\apache\apache2.4.57\conf\extra\httpd-ssl.conf
Pour obtenir des informations, lire les commentaires du fichier d'origine.
Par la suite, vous pourrez relire les informations qui seront toujours dans le fichier original :
e:\wamp64\bin\apache\apache2.4.57\conf\original\extra\httpd-ssl.conf
qui n'aura pas été modifié.

Remplacer tout le contenu du fichier e:\wamp64\bin\apache\apache2.4.57\conf\extra\httpd-ssl.conf par :
#
# This is the Apache server configuration file providing SSL support.
# When we also provide SSL we have to listen to the
# standard HTTP port and to the HTTPS port
#
Listen 0.0.0.0:443 https
Listen [::0]:443 https

# Where the certificates are
Define CERTIFS ${INSTALL_DIR}/bin/Certs

Protocols h2 h2c http/1.1
<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=31536000; preload"
</IfModule>
SSLSessionCache shmcb:${INSTALL_DIR}/tmp/ssl_gcache_data(512000)
SSLOptions +StrictRequire +StdEnvVars -ExportCertData
# SSL Protocol support:
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCompression Off
SSLHonorCipherOrder On
# SSL Cipher Suite:
SSLCipherSuite SSL ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384
# Encryptions TLSv1.3
SSLCipherSuite TLSv1.3 TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384
SSLOpenSSLConfCmd ECDHParameters secp521r1
SSLOpenSSLConfCmd Curves sect571r1:sect571k1:secp521r1:sect409k1:sect409r1:secp384r1

##
## SSL Virtual Host Context
Define SERVERNAMEVHOSTSSL MYSITE_ServerName
Define DOCUMENTROOTVHOSTSSL MYSITE_DocumentRoot
<VirtualHost *:443>
	ServerName ${SERVERNAMEVHOSTSSL}
  DocumentRoot "${DOCUMENTROOTVHOSTSSL}"
	SSLEngine on
	SSLCertificateFile      "${CERTIFS}/Site/${SERVERNAMEVHOSTSSL}.crt"
	SSLCertificateKeyFile   "${CERTIFS}/Site/${SERVERNAMEVHOSTSSL}.key"
	<Directory "${DOCUMENTROOTVHOSTSSL}/">
		Options +Indexes +Includes +FollowSymLinks +MultiViews
		AllowOverride all
		Require local
	</Directory>
	CustomLog "${INSTALL_DIR}/logs/custom.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
# End of SSL Virtual Host Context - To be repeated for another SSL VirtualHost

# Do not remove these lines UnDefine
UnDefine SERVERNAMEVHOSTSSL
UnDefine DOCUMENTROOTVHOSTSSL
Le VirtualHost doit déjà exister et être valide en http port 80, donc exister dans le fichier :
e:\wamp64\bin\apache\apache2.4.57\conf\extra\httpd-vhosts.conf
Il faudra modifier toutes les lignes où il y a MYSITE pour y mettre vos propres données, par exemple :
Define SERVERNAMEVHOSTSSL wampserver.aviatechno
Define DOCUMENTROOTVHOSTSSL G:\www\wampserver
Define ADMINVHOSTSSL wampserver@otomatic.net

-- Remplacer tout le contenu du fichier e:\wamp64\bin\apache\apache2.4.53\conf\openssl.cnf
par
#============ openssl.cnf =============#
[ca]
default_ca       = CA_default

[CA_default]
dir              = ../../../Certs
cacerts_dir      = $dir/Cacerts
certificate      = $cacerts_dir/Certificat.crt
new_certs_dir    = $dir/Newcerts
private_dir      = $cacerts_dir
private_key      = $private_dir/Certificat.key
RANDFILE         = $private_dir/Certificat.rnd
other_dir        = $dir/Other
database         = $other_dir/index.txt
serial           = $other_dir/serial.txt
default_crl_days = 14610
default_days     = 14610
default_md       = sha512
x509_extensions  = usr_cert
name_opt         = ca_default
cert_opt         = ca_default
preserve         = no
policy           = policy_match

[policy_match]
countryName            = match
stateOrProvinceName    = match
localityName           = match
organizationName       = optional
organizationalUnitName = optional
commonName             = supplied
emailAddress           = optional

[usr_cert]
basicConstraints       = CA:FALSE
nsCertType             = client
keyUsage               = nonRepudiation, digitalSignature, keyEncipherment
nsComment              = "OpenSSL Generated Certificate"
subjectKeyIdentifier   = hash
authorityKeyIdentifier = keyid,issuer

[ocsp]
basicConstraints       = CA:FALSE
subjectKeyIdentifier   = hash
authorityKeyIdentifier = keyid,issuer
keyUsage               = critical, digitalSignature
extendedKeyUsage       = critical, OCSPSigning

[req]
default_bits        = 4096
default_keyfile     = ../../../Certs/Cacerts/Certificat.pem
encrypt_key         = no
default_md          = sha512
string_mask         = utf8only
prompt              = no
utf8                = yes
distinguished_name  = req_distinguished_name
req_extensions      = v3_req
x509_extensions     = v3_ca

[req_distinguished_name]
countryName_default            = FR
stateOrProvinceName_default    = Paris
localityName_default           = Paris
0.organizationName_default     = Otomatic & Cie
organizationalUnitName_default = Wampserver
commonName                     = Common Name (eg, your website’s domain name)
commonName_max                 = 64
emailAddress_default           = otomatic@otomatic.net
emailAddress_max               = 40

[v3_req]
basicConstraints = CA:FALSE
keyUsage         = nonRepudiation, digitalSignature, keyEncipherment

[v3_ca]
# Extensions to use when signing a CA
basicConstraints       = critical, CA:true
keyUsage               = keyCertSign, cRLSign
nsCertType             = sslCA, emailCA
nsComment              = "SSL ROOT CA"
subjectKeyIdentifier   = hash
authorityKeyIdentifier = keyid:always,issuer:always
subjectAltName         = @alt_names

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

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

Ouvrir une fenêtre de commande "en tant qu'administrateur"
Et dans cette fenêtre taper les lignes suivantes.
Vous pouvez effectuer des copier/coller par blocs de plusieurs lignes, sans oublier une ligne vide à la fin du bloc, sinon la dernière commande du bloc ne serait pas exécutée.
Il ne faut jamais fermer la fenêtre de commande avant la fin complète de la procédure, sinon les variables d'environnement précédemment déclarées par set seraient perdues.
Rem Variables d'installation de Wampserver
Rem À modifier suivant votre installation
set installdir=e:\wamp64
set apachever=2.4.57
Rem
Rem Vérification et création éventuelle des dossiers
cd /D %installdir%\bin
Rem Suppression des certificats éventuellement présents
if exist Certs rmdir /S /Q Certs
if not exist Certs md Certs
cd Certs
if not exist Other md Other
if not exist Cacerts md Cacerts
if not exist Server md Server
if not exist Site md Site
Rem Informations à créer
copy nul .\Other\Index.txt
@echo 01> .\Other\Serial.txt
Rem MyPass peut être remplacé par votre propre mot de passe (4 à 20 caractères)
@echo MyPass> .\Other\Password.txt
set /P PASSWORD= <.\Other\Password.txt
Rem
cd..

Rem
Rem On est dans le dossier %installdir%\bin
Rem On va dans apache utilisé/bin
cd apache\apache%apachever%\bin
Rem Déclaration des variables - Impératif
set OPENSSL_CONF=%installdir%\bin\apache\apache%apachever%\conf\openssl.cnf
set DIRCERTS=%installdir%\bin\Certs
Rem +-+-+-+-+ Création du certificat auto-signé +-+-+-+-+
Rem 1- Génération d'un nombre aléatoire. (La graîne 1358 peut être remplacée)
openssl rand -out %DIRCERTS%/Cacerts/Certificat.rnd -base64 1358
Rem 2- Clé RSA privée.
openssl genrsa -out %DIRCERTS%/Cacerts/Certificat.key -rand %DIRCERTS%/Cacerts/Certificat.rnd 4096
Rem 3- Demande de signature.
Rem /C=FR : Pays -- /ST=Paris : État ou région -- /L=Paris : Ville
Rem /O=Otomatic & Cie : Organisation -- /CN=Otomatic & Cie : Division
openssl req -new -sha256 -key %DIRCERTS%/Cacerts/Certificat.key -out %DIRCERTS%/Cacerts/Certificat.csr -subj "/C=FR/ST=Paris/L=Paris/O=Otomatic & Cie/CN=Otomatic & Cie"
Rem 4- Certificat auto-signé.
openssl x509 -req -days 1830 -sha256 -in %DIRCERTS%/Cacerts/Certificat.csr -signkey %DIRCERTS%/Cacerts/Certificat.key -out %DIRCERTS%/Cacerts/Certificat.crt
openssl x509 -in %DIRCERTS%/Cacerts/Certificat.crt -outform der -out %DIRCERTS%/Cacerts/Certificat.der
openssl x509 -in %DIRCERTS%/Cacerts/Certificat.crt -outform pem -out %DIRCERTS%/Cacerts/Certificat.pem
Rem 5- Extraction clé publique Plaintext Block Chaining
openssl rsa -in %DIRCERTS%/Cacerts/Certificat.key -pubout -out %DIRCERTS%/Cacerts/Certificat.pbc
Rem +-+-+-+-+ Fin de la création du certificat auto-signé +-+-+-+-+

Rem +-+-+-+-+ Certificats et clés serveur pour un site local +-+-+-+-+
Rem 6- ServerName du site local pour lequel on veut les clés
set SERVLOCAL=aviatechno
Rem 7- Nombre aléatoire (Graîne différente)
if exist %DIRCERTS%\Server\Server.rnd del %DIRCERTS%\Server\Server.rnd
openssl rand -out %DIRCERTS%/Server/Server.rnd -base64 1677
Rem 8- Clé RSA privée.
if exist %DIRCERTS%\Server\Server.key del %DIRCERTS%\Server\Server.key
openssl genrsa -out %DIRCERTS%\Server\Server.key -rand %DIRCERTS%\Server\Server.rnd 4096
Rem 9- Demande de signature pour certificat
Rem /C=FR : Pays -- /ST=Paris : État ou région -- /L=Paris : Ville
Rem /O=Otomatic & Cie : Organisation -- /CN=nom du site local
if exist %DIRCERTS%\Server\Server.csr del %DIRCERTS%\Server\Server.csr
openssl req -new -sha256 -key %DIRCERTS%/Server/Server.key -out %DIRCERTS%/Server/Server.csr -subj "/C=FR/ST=Paris/L=Paris/O=Otomatic & Cie/OU=Wampserver/CN=%SERVLOCAL%"
Rem 10- Demande de signature pour certificat serveur.
if exist %DIRCERTS%\Server\Server.crt del %DIRCERTS%\Server\Server.crt
openssl x509 -req -days 4383 -sha256 -in %DIRCERTS%/Server/Server.csr -CA %DIRCERTS%/Cacerts/Certificat.crt -CAkey %DIRCERTS%/Cacerts/Certificat.key -CAcreateserial -out %DIRCERTS%/Server/Server.crt
openssl x509 -outform der -in %DIRCERTS%/Server/Server.crt -out %DIRCERTS%/Server/Server.der
openssl x509 -inform DER -outform PEM -in %DIRCERTS%/Server/Server.der -out %DIRCERTS%/Server/Server.pem
openssl crl2pkcs7 -nocrl -certfile %DIRCERTS%/Cacerts/Certificat.crt -certfile %DIRCERTS%/Server/Server.crt -out %DIRCERTS%/Server/%SERVLOCAL%.p7b
if exist %DIRCERTS%\Server\%SERVLOCAL%.pfx del %DIRCERTS%\Server\%SERVLOCAL%.pfx
openssl pkcs12 -export -nodes -in %DIRCERTS%/Cacerts/Certificat.crt -inkey %DIRCERTS%/Server/Server.key-out %DIRCERTS%/Server/%SERVLOCAL%.pfx -descert -name "%SERVLOCAL%" -password pass:%PASSWORD%
Rem
Rem 11- Certificat client.
Rem Nota : Un mot de passe sera demandé sauf si option finale -password pass:MyPass
openssl pkcs12 -nodes -export -in %DIRCERTS%/Server/Server.crt -inkey %DIRCERTS%/Server/Server.key -out %DIRCERTS%/Site/%SERVLOCAL%.pfx -clcerts -descert -name "Client %SERVLOCAL% Certificate" -password pass:%PASSWORD%
Rem 12- Copies des clés
copy /Y %DIRCERTS%\Server\Server.crt %DIRCERTS%\Site\%SERVLOCAL%.crt
copy /Y %DIRCERTS%\Server\Server.key %DIRCERTS%\Site\%SERVLOCAL%.key

Arrivé là, si vous avez bien modifié le fichier conf\extra\httpd-ssl.conf pour y mettre les bons chemins de votre site local à passer en https, vous pouvez valider le chargement des deux modules Apache :
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
vous pouvez lancer Wampserver et vérifier que tout va bien (icône verte) et éventuellement (icône rouge), utiliser l'outil de vérification de la syntaxe httpd.conf.

- Pour ajouter un autre site local, refaire uniquement les lignes de commande de Rem 6 à Rem 12 en changeant le ServerName SERVLOCAL
La fenêtre de commande doit être positionnée sur le dossier wamp/bin/apache/apache2.4.53/bin/ et il est impératif de créer les variables d'environnement (Changez chemin et version si nécessaire) avant de lancer les commandes Rem 6 à Rem 12
set installdir=e:\wamp64
set apachever=2.4.57
set OPENSSL_CONF=%installdir%\bin\apache\apache%apachever%\conf\openssl.cnf
set DIRCERTS=%installdir%\bin\Certs
cd /D %installdir%\bin\apache\apache%apachever%\bin
set /P PASSWORD= <..\..\..\Certs\Other\Password.txt

Où ranger les divers certificats :
Ce ne semble pas obligatoire. Le mode https fonctionne correctement avec les navigateurs Firefox, Opera, Chrome et Edge sans que les certificats aient été rangés comme ci-dessous !

--- Le certificat "Certs\Cacerts\Certificat.crt" est à ranger :
-- Windows, dans le gestionnaire de Certificats (Lancé par "certmgr.msc"winking smiley :
dans "Autorités de certification racine de confiance" :
- Clic-Droit sur "Autorités de certification racine de confiance" -> Toutes les tâches -> Importer -> Parcourir
pour aller chercher Certs\Cacerts\Certificat.crt
-- Firefox, Outils -> Paramètres -> Vie privée et sécurité
- Certificats -> Afficher les certificats.
- Magasin "Autorités" puis Importer

--- Le(s) certificat(s) client ou Site avec le suffixe ".pfx ou .p12".
Il contient le certificat, son intermédiaire et la clé privée.
-- Windows, dans le gestionnaire de Certificats (certmgr.msc), magasin "Personnel".
-- Firefox, dans le magasin "Vos certificats".
Le mot de passe sera demandé.

Je ne parle que du navigateur Firefox puisqu'à ma connaissance, c'est le seul qui gère lui-même les certificats, les autres utilisant les certificats de Windows.

Forcer https pour un ou plusieurs VistualHost
Pour forcer un VirtualHost à être lancé en https, il suffit de rajouter une directive de réécriture dans sa structure <VirtualHost *:80> dans le fichier httpd-vhosts.conf.
<VirtualHost *:80>
  ServerName monsite
  <IfModule ssl_module>
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ 'https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]'
  </IfModule>
  DocumentRoot "G:/www/mondossier"
  <Directory "G:/www/mondossier/">
  ....
Nota : ne pas mettre les apostrophes autour de 'https://%HTTP.....]'. Elles sont là pour éviter la transformation en lien cliquable.



Modifie 16 fois. Derniere modification le 26/10/2023 à 11:33 par Otomatic.

Options: Répondre•Citer ce Message


Aller à : Liste des Forums•Liste des messages•Recherche•Connexion
Cette discussion a été fermée

design by jidePowered by Alter Way get firefoxget PHP