I am running MAMP locally on my laptop, and I like to test as much as I can locally. Unfortunately, since I work on e-commerce stuff (PHP), I normally force ssl in most of the checkout forms and it just fails on my laptop. Is there any easy configuration that I might be missing to allow "https" to run under MAMP? Please note, I know that I could configure Apache by hand, re-compile PHP, etc. but I'm just wondering if there's an easier way for a lazy programmer.
Thanks
First, make a duplicate of /Applications/MAMP.
Open /Applications/MAMP/conf/apache/httpd.conf
Below the line
# LoadModule foo_module modules/mod_foo.so
you add
LoadModule ssl_module modules/mod_ssl.so
Remove all lines <IfDefine SSL>
as well as </IfDefine SSL>
.
Open /Applications/MAMP/conf/apache/ssl.conf
Remove all lines <IfDefine SSL>
as well as </IfDefine SSL>
.
Find the line defining SSLCertificateFile
and SSLCertificateKeyFile
, set it to
SSLCertificateFile /Applications/MAMP/conf/apache/ssl/server.crt
SSLCertificateKeyFile /Applications/MAMP/conf/apache/ssl/server.key
Create a new folder /Applications/MAMP/conf/apache/ssl
Drop into the terminal an navigate to the new folder
cd /Applications/MAMP/conf/apache/ssl
Create a private key, giving a password
openssl genrsa -des3 -out server.key 1024
Remove the password
cp server.key server-pw.key
openssl rsa -in server-pw.key -out server.key
Create a certificate signing request, pressing return for default values
openssl req -new -key server.key -out server.csr
Create a certificate
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Restart your server. If you encounter any problems check the system log file. The first time you visit https://localhost/
you will be asked to accept the certificate.