2008-09-03 97 views
16

我在笔记本电脑上本地运行MAMP,并且我喜欢尽可能在本地进行测试。不幸的是,由于我从事电子商务(PHP)工作,我通常在大多数结账表单中强制使用SSL,并且在我的笔记本电脑上失败。是否有任何简单的配置,我可能会错过允许“https”在MAMP下运行?请注意,我知道我可以用手动配置Apache,重新编译PHP等,但我只是想知道对于懒惰的程序员是否有更简单的方法。使用MAMP测试HTTPS文件

感谢

+2

已更新为MAMP v2 http://soundsplausible.com/2012/01/14/enable-https-in-mamp-2-0-5/ – 2012-01-15 17:31:26

+0

此处为SSL配置MAMP 3.0.5的说明:http:/ /stackoverflow.com/a/25468843/149097 – Robert 2014-08-24 05:46:14

回答

10

注:startssl如果不再MAMP 2+版本后的支持。你必须更新配置文件(httpd.conf)来启用ssl。

您可以修改MAMP的免费版本,以便在默认情况下很容易地启用ssl。一旦你已经安装的所有的Apache的SSL部分,并有工作,这样调用的apachectl startssl如果奏效,那么在你最喜欢的文本编辑器编辑文件

/Applications/MAMP/startApache.sh 

,改变开始参数startssl如果和你将会有MAMP启动器为你启动ssl模式的apache。

2

似乎有没有成为一个更简单的方法,unless you're willing to buy MAMP Pro

据我所知,与MAMP一起使用SSL的唯一方法是configure mod_ssl for Apache。 mod_ssl与MAMP捆绑在一起,我发现配置非常简单。请注意,您可能要通过命令行启动Apache使用它:

/Applications/MAMP/bin/apache2/bin$ ./apachectl stop 
/Applications/MAMP/bin/apache2/bin$ sudo ./apachectl startssl 
+0

第一个链接已死,您能修复或删除吗?谢谢。 – Kev 2012-05-18 13:19:33

22

首先,复制/ Applications/MAMP。

打开/Applications/MAMP/conf/apache/httpd.conf
线下
# LoadModule foo_module modules/mod_foo.so
添加
LoadModule ssl_module modules/mod_ssl.so
删除所有行<IfDefine SSL>以及</IfDefine SSL>

打开/Applications/MAMP/conf/apache/ssl.conf
删除全部行<IfDefine SSL>以及</IfDefine SSL>
查找限定SSLCertificateFileSSLCertificateKeyFile线,其设置为
SSLCertificateFile /Applications/MAMP/conf/apache/ssl/server.crt SSLCertificateKeyFile /Applications/MAMP/conf/apache/ssl/server.key

创建新文件夹/应用/ MAMP/CONF /阿帕奇/ SSL
掉落到终端的导航到新文件夹
cd /Applications/MAMP/conf/apache/ssl
创建一个私有密钥,给人一种密码
openssl genrsa -des3 -out server.key 1024
删除密码
cp server.key server-pw.key
openssl rsa -in server-pw.key -out server.key
创建一个证书签名请求,默认值
openssl req -new -key server.key -out server.csr
按回车键创建证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

重新启动服务器。如果遇到任何问题,请检查系统日志文件。您第一次访问https://localhost/时,您将被要求接受证书。