To set up SSL on a virtual host on MAMP you would need to edit the apache configuration files which are located on the /Applications/MAMP/conf folder, and to create a self-signed certificate.
Locate the file /Applications/MAMP/conf/apache/httpd.conf and open it with a text editor.
Then proceed to uncomment the following line:
Now we generate the certificate files.
Open a Terminal window, and go the apache configuration folder.
We start by generating the private key file "server.key"
openssl genrsa -des3 -out server.key 2048
The command will request us to enter a password.
Then, generate the certificate signing request
openssl req -new -key server.key -out server.csr
After that, we generate the certificate
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
And at last we remove its password
cp server.key server.tmp openssl rsa -in server.tmp -out server.key
Edit the file /Applications/MAMP/conf/apache/extra/http-ssl.conf.
Find the following line.
And replace it with these lines.
Listen 8890 NameVirtualHost *:8890 SSLStrictSNIVHostCheck off
Also find the following tag.
And replace it with this.
Find the following lines.
DocumentRoot "/Applications/MAMP/Library/htdocs" ServerName www.example.com:443 ServerAdmin email@example.com ErrorLog "/Applications/MAMP/Library/logs/error_log" TransferLog "/Applications/MAMP/Library/logs/access_log"
And replace them with these lines.
DocumentRoot "/Applications/MAMP/htdocs" ServerName localhost:8890 ServerAdmin firstname.lastname@example.org ErrorLog "/Applications/MAMP/logs/error_log" TransferLog "/Applications/MAMP/logs/access_log"
Finally, at the bottom of the file, add the VirtualHost entries for the sites you want to use https://
<VirtualHost *:8890> DocumentRoot "/Applications/MAMP/htdocs/mydomain.dev/public_html" ServerName mydomain.dev <Directory "/Applications/MAMP/htdocs/mydomain.dev/public_html"> Options FollowSymLinks AllowOverride All </Directory> </VirtualHost>
Now, restart your MAMP server, and you can open your local secure site, on the 8890 port.