Skip to content

Instantly share code, notes, and snippets.

@korell
Created October 31, 2017 13:59
Show Gist options
  • Save korell/f9937df562a4554556895566031b27cd to your computer and use it in GitHub Desktop.
Save korell/f9937df562a4554556895566031b27cd to your computer and use it in GitHub Desktop.
Comment générer et installer un certificat SSL en local ?

Générer le certificat et la clé liée

  1. Se placer dans le dossier ~Sites et créer un dossier certs
  2. Se placer dans le dossier certs
  3. Générer une passphrase qui va être utilisée tout au long de la procédure. La stocker dans un fichier texte par exemple. Elle sera supprimée à la fin de la procédure.
  4. Générer une clé (.key) qui permettra de signer le certificat avec la commande suivante : openssl genrsa -des3 -out server.key 1024
  5. Générer le fichier .crs (Cerficat Signing Request) avec la commande suivante : openssl req -new -key server.key -out server.csr. Renseigner les infos demandées (tout peut être laissé vide)
  6. Supprimer la passphrase de la clé : cp server.key server.key.org puis openssl rsa -in server.key.org -out server.key
  7. Générer le certificat en lui-même : openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Configurer le vhost

  1. ajouter ce bloc de déclaration dans le fichier du vhost du site (après le bloc *:80)
<VirtualHost *:443>
     DocumentRoot "/Users/user/Sites/mon-site"
     ServerName mon-site.dev
     ServerAlias *.mon-site.dev
     ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9056/Users/user/Sites/mon-site/$1

     SSLEngine On
     SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire

     SSLCertificateFile "/Users/user/Sites/certs/server.crt"
     SSLCertificateKeyFile "/Users/user/Sites/certs/server.key"

     <Directory "/Users/user/Sites/mon-site">
         Options -Indexes +FollowSymLinks +MultiViews
         Order allow,deny
         Allow from all
         AllowOverride All
         Require all granted
     </Directory>
 </VirtualHost>

Configurer le fichier global d'Apache

  1. Editer le fichier /usr/local/etc/apache2/2.4/httpd.conf
  2. Chercher la ligne Listen 80 et ajouter une ligne contenant Listen 443
  3. Activer le module SSL en décommentant la ligne LoadModule ssl_module libexec/mod_ssl.so

Redémarrage de Apache

Redémarrer Apache avec a2rs et tout doit fonctionner maintenant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment