views:

3492

answers:

9

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

+2  A: 

There doesn't seem to be an easier way, unless you're willing to buy MAMP Pro.

As far as I know, the only way to use SSL with MAMP is to configure mod_ssl for Apache. mod_ssl is bundled with MAMP, and I found configuration to be pretty straightforward. Note that you'll probably have to start Apache from the command line to use it:

/Applications/MAMP/bin/apache2/bin$ ./apachectl stop
/Applications/MAMP/bin/apache2/bin$ sudo ./apachectl startssl
David Crow
+6  A: 

You can modify the free version of MAMP to enable ssl by default very easily. Once you have setup all the SSL parts of apache and have it working so that calling apachectl startssl works, just edit the file

/Applications/MAMP/startApache.sh

in your favorite text editor and change the start argument to startssl and you will have the MAMP launcher starting apache in ssl mode for you.

Rodney Amato
A: 

would you be willing to post the full instructions from start to finish for setting up ssl on mamp so someone can test https pages? Id like to believe its as easy as you say, but after having failed at it a few times, I dont believe it easy to begin with.

A: 

Rodney's solution worked for me.

+6  A: 

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.

Moritz
A: 

I couldn't get this working -- I've tried all of the solutions listed here and MAMP seems to not start my Apache server. =(

A: 

It Works, what can i say. Thank you Mortiz thanks a lot......

penmanraysag
A: 

An easier solution can be found here: http://www.rockettheme.com/blog/coding/310-getting-ssl-to-work-with-mamp-pro

MAMP has support for SSL but it's hidden!!

Dee
A: 

The solution Dee pointed out (posted on May 20) worked perfectly first time (and it was quick and simple to do).

Thanks Dee

Steve