Testing HTTPS files with MAMP

jgreenawalt picture jgreenawalt · Sep 3, 2008 · Viewed 15.2k times · Source

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

Answer

Riley picture Riley · Nov 25, 2009

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.