web-dev-qa-db-fra.com

Configuration de MAMP pour SSL

Ok codeurs, j'essaye de configurer MAMP avec SSL sur mon mac à des fins de développement. J'ai lu et essayé les instructions suivantes:
http://www.emersonlackey.com/article/mamp-with-ssl-httpshttp://www.webopius.com/content/355/getting -mamp-working-with-ssl-on-os-x

sans chance. Je peux frapper soit 127.0.0.1 ou localhost avec http mais les deux https://localhost et https://127.0.0.1 return Erreur Host not found.

en regardant phpinfo, je ne vois pas le chargement de mod_ssl.

quelqu'un at-il fait cela avec OS X 10.6.7? je ne sais pas ou aller d'ici.

j'espère que quelqu'un peut aider.

merci

------ modifier le début ------

voici les modifications que j'ai apportées aux fichiers de configuration pour que https fonctionne. Veuillez suivre les instructions ci-dessus pour obtenir le certificat/clé créé et le mot de passe supprimé (comme également mentionné par @ dallas ci-dessous ).

httpd.conf

Commentez l'ifdef pour vous assurer que LoadModule est exécuté

#<IfDefine SSL>
    LoadModule ssl_module modules/mod_ssl.so
#</IfDefine>

assurez-vous que ce qui suit est dans le fichier ...

Listen 80
ServerName localhost:80

ssl.conf

Ajoutez ce qui suit ....

<VirtualHost localhost:443>
    DocumentRoot /Users/myname/Documents/DevProjects/WebdevProjects
    ServerName localhost
    SSLEngine on
    SSLCertificateFile /Applications/MAMP/conf/ssl/server.crt
    SSLCertificateKeyFile /Applications/MAMP/conf/ssl/server.key
</VirtualHost>

avant l'existant

<VirtualHost _default_:443>

server.crt et server.key sont les nouveaux créés selon les liens des tuts ci-dessus.

Commenter

#<IfDefine SSL> 

autour de la ligne 35 et sa balise de fermeture autour de la ligne 245 pour activer la ligne ...

Listen 443

entre les deux, mettez à jour toutes les références de certificat aux fichiers nouvellement créés selon la définition de VirtualHost ci-dessus.

34
djeetee

Si vous utilisez MAMP 3 ou 4 les instructions sont légèrement différentes. Voici ce qui a fonctionné pour moi, à partir d'une nouvelle installation de MAMP 3.0.5 sur Mavericks sans Pro.

Mise à jour: fonctionne toujours sur Yosemite après la correction d'Apache comme décrit dans cette réponse .

Mise à jour supplémentaire: les commentaires suggèrent que cela fonctionne toujours au moins via MAMP 4.2.1 .

Générez le certificat

Cette partie est directement issue des tutoriels, donc si vous l'avez déjà fait, vous pouvez passer à "Configurer MAMP".

Utilisez le terminal pour générer une clé privée dans votre dossier par défaut:

cd ~
# generate a private key
openssl genrsa -des3 -out server.key 2048
# make up a passphrase and remember it, you’ll need it 3 more times.

# generate certificate signing request
openssl req -new -key server.key -out server.csr
# same password
# answer the questions, use "localhost" for your Common Name
Country Name: US
State Name: California
Locality: My City
Organization: My Company
Organization Unit Name: # leave blank
Common Name: localhost
Email address: [email protected]
A challenge password: # leave blank
An optional company name: # leave blank

# generate the certificate from the CSR for 5 years
openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt

# remove the password requirement from the server key
cp server.key server.tmp
openssl rsa -in server.tmp -out server.key

Configurer MAMP 3.0.5

Voici où les instructions des versions précédentes sont un peu décalées. Les noms de fichiers et les emplacements ont changé et certaines des commandes dans les fichiers conf sont différentes. Ce qui suit a fonctionné pour moi sur une nouvelle installation de MAMP 3.0.5.

Déplacez les fichiers de certificat (server.key et server.crt) vers:

/ Applications/MAMP/conf/Apache /

Ouvrez le fichier httpd.conf d'Apache:

/Applications/MAMP/conf/Apache/httpd.conf

# set your listen port to 80 (near the top of the file)
Listen 80

# set your ServerName to localhost:80 (default is 8888)
ServerName localhost:80

# uncomment the line that includes the secure (SSL/TLS) connection conf
Include /Applications/MAMP/conf/Apache/extra/httpd-ssl.conf

Enregistrez-le et fermez. Ouvrez maintenant le fichier ssl conf d'Apache:

/Applications/MAMP/conf/Apache/extra/httpd-ssl.conf

Trouvez le <VirtualHost> entrée (gros bloc à la fin du fichier commençant par <VirtualHost _default_:443> et se terminant par </VirtualHost>) et remplacez le tout par:

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /Applications/MAMP/conf/Apache/server.crt
        SSLCertificateKeyFile /Applications/MAMP/conf/Apache/server.key
</VirtualHost>

Sauver et fermer. Démarrez votre serveur MAMP. Vous devriez pouvoir accéder à la racine de votre document à http://localhost et https://localhost.

38
Robert

C'est un moyen très difficile pour https ici est un moyen simple.

Ouvrez MAMP Pro.

  1. Dans l'onglet Serveur, assurez-vous que votre port HTTP est 80 et que le port HTTPS est 443
  2. Cliquez sur l'onglet Hôtes
  3. Cliquez sur la flèche plus pour ajouter un nouvel hôte.
  4. Ajouter 127.0.0.1 comme nom d'hôte
  5. Cliquez sur SSL activé
  6. Sélectionnez le répertoire Où se trouve votre dossier htdocs ou sites Web
  7. Cliquez sur l'onglet SSL
  8. Créez un certificat auto-signé par le bouton ci-dessous.
  9. Ensuite, il vous demandera de sauvegarder l'emplacement après l'enregistrement, il sélectionnera le certificat automatique.
  10. Redémarrez votre serveur MAMP.

Prendre plaisir!!!!

Tapez: https avec localhost alors vous pouvez voir le résultat.

Prochain

25
Mandeep Gill

Je viens de rencontrer le même problème mais j'ai pu le résoudre.

Je suis entrain de courir; Mac OS 10.6.7 MAMP 1.9.4

Je n'ai lu que le tut de webopius qui fait du bon travail mais il a raté quelque chose.

J'ai changé dans le httpd.conf

Listen 80 ne pas Listen 127.0.0.1:80

J'ai également oublié d'exécuter ceci dans le terminal
cp server.key server.tmp
openssl rsa -in server.tmp -out server.key

Cela supprime le mot de passe nécessaire pour utiliser la clé, qui si vous ne démarrez pas Apache dans le terminal, vous ne pouvez pas entrer la phrase de passe pour le certificat.

Ce que vous pouvez faire, c'est d'exécuter cette commande pour démarrer Apache pour MAMP et voir si des erreurs apparaissent.

Sudo /Applications/MAMP/Library/bin/apachectl start

D'accord, pensez que cela en parle.

2
dallas

Si vous utilisez MAMP 4 et que vous avez toujours du mal à faire fonctionner SSL.

Voici comment je l'ai fait fonctionner.

Étape 1: Générez le certificat (suivez les instructions Roberts)

Étape 2: assurez-vous que "LoadModule ssl_module modules/mod_ssl.so" n'a pas été commenté.

Étape 3: J'utilise 'Listen 81' (sans guillemets) au lieu de 80 (je pense que quelque chose l'utilise mais testez-le sur certains numéros de port si vous le pouvez ou respectez simplement le 81).

Étape 4: définissez "ServerName localhost: 81" (sans guillemets).

Étape 5: Décommentez "Inclure /Applications/MAMP/conf/Apache/extra/httpd-ssl.conf"

Étape 6: Assurez-vous que le 'server.crt' et le 'server.key' sont au bon endroit (cela devrait être correct si vous suivez les instructions de Roberts)

Étape 7: Ouvrez le fichier httpd-ssl.conf (suivez le chemin indiqué par l'inclusion) Remplacez "Listen 443" par "Listen *: 443"

Étape 8: recherchez <VirtualHost _default_:443> changez-le en <VirtualHost *:443>

Étape 9: Vous pouvez le faire de deux manières sur celui-ci, vous pouvez pointer le `` DocumentRoot '' vers le dossier de votre projet/site Web ou vous pouvez simplement commenter le `` DocumentRoot '' (j'ai choisi de le commenter).

Étape 10: remplacez "ServerName www.example.com:443" par "localhost: 443"

Étape 11: Facultatif - Le chemin du répertoire peut être incorrect car le "cgi-bin" est en fait dans le dossier MAMP et non dans la bibliothèque, mais j'ai laissé cela seul et cela semble bien fonctionner pour moi.

Quittez MAMP, rouvrez-le et démarrez le serveur. Vous devriez pouvoir accéder à http: // localhost: 81 et accéder au site ssl son https: // localhost: 44 .

J'espère que mes instructions étaient claires et que votre MAMP fonctionne. Bonne chance

Si cela ne fonctionne toujours pas, utilisez 'Sudo/Applications/MAMP/Library/bin/apachectl start' dans le terminal pour voir quelle erreur vous obtenez.

1
user629283

J'ai également suivi les instructions Webopius, mais je n'ai pas pu charger les pages SSL. Comme mentionné par @djeetee, la définition du serveur virtuel dans httpd.conf et ssl.conf est problématique. Le meilleur guide J'ai trouvé recommandé d'apporter les révisions suivantes à ces fichiers:

  1. Avant d'effectuer ces modifications, assurez-vous que vous avez généré la clé/certificat comme détaillé par webopius et effectué les modifications de base sur httpd.conf, par exemple en commentant les instructions SSL IfDefine.
  2. Modifiez ssl.conf, supprimez la déclaration VirtualHost existante (environ 160 lignes, s'exécute à la fin du fichier) et remplacez-la par quelque chose de simple:

    <VirtualHost *:443>
      SSLEngine on
      SSLCertificateFile /Applications/MAMP/conf/ssl/server.crt
      SSLCertificateKeyFile /Applications/MAMP/conf/ssl/server.key
    </VirtualHost>
    

    Dans mon cas, je n'activais SSL que pour un VirtualHost spécifique; J'ai dû ajouter un DocumentRoot à la définition pour le faire fonctionner:

    DocumentRoot "/Applications/MAMP/htdocs/subfolder"
    
  3. Editez httpd.conf, encore une fois, en configurant les VirtualHosts un peu différemment de la valeur par défaut.

    NameVirtualHost *:80
    NameVirtualHost *:443
    <VirtualHost *:80>
      DocumentRoot "/Applications/MAMP/htdocs"
      ServerName localhost:80
    </VirtualHost>
    

    Encore une fois, dans mon cas, j'avais un VirtualHost supplémentaire où se déroulait mon action SSL:

    <VirtualHost *>
      DocumentRoot "/Applications/MAMP/htdocs/subfolder"
      ServerName dev.subfolder.localhost
    </VirtualHost>
    

Encore une fois, consultez le blog de M. Lackey pour des instructions plus complètes qui vous guideront tout au long du processus; ce sont juste les choses que j'ai faites pour sauver mon installation après avoir utilisé Webopius.

1
areynolds

Assurez-vous également de décommenter cette ligne dans httpd.conf

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

Sinon, il ne sera pas inclus au démarrage d'Apache. Le mien a été commenté pour une raison quelconque.

1
user603749