2011-06-11 167 views
30

好夥計,我試圖在我的Mac上配置MAMP以用於開發目的。沒有運氣
http://www.emersonlackey.com/article/mamp-with-ssl-https http://www.webopius.com/content/355/getting-mamp-working-with-ssl-on-os-x爲SSL配置MAMP

:我已閱讀並嘗試以下說明。我可以用http或者127.0.0.1或localhost打但是https://localhosthttps://127.0.0.1都返回找不到主機的錯誤。

看着phpinfo,我看不到mod_ssl被加載。

有人用os x 10.6.7做過這個嗎?我不知道該從哪裏出發。

希望有人能幫忙。

感謝

------編輯開始------

以下是我已經對配置文件進行得到HTTPS工作的變化。請按照上面列出的內容獲取已創建的證書/密鑰和密碼(也可參見@dallas below)。

的httpd.conf

註釋掉IFDEF確保的LoadModule執行

#<IfDefine SSL> 
    LoadModule ssl_module modules/mod_ssl.so 
#</IfDefine> 

確保以下是文件中...

Listen 80 
ServerName localhost:80 

SSL .conf

添加以下....

<VirtualHost localhost:443> 
    DocumentRoot /Users/myname/Documents/DevProjects/WebdevProjects 
    ServerName localhost 
    SSLEngine on 
    SSLCertificateFile /Applications/MAMP/conf/ssl/server.crt 
    SSLCertificateKeyFile /Applications/MAMP/conf/ssl/server.key 
</VirtualHost> 

現有

<VirtualHost _default_:443> 

server.crt這和server.key面前的新創建的具體根據obove TUTS'鏈接。

註釋掉

#<IfDefine SSL> 

圍繞線35和周圍線245,使行結束標記...

Listen 443 
之間

,更新到新創建的文件,因爲所有的證書引用根據上面的VirtualHost定義。

+0

我也有ssl/mamp問題。我有一個自簽名證書,當我使用https請求我的許可時,但是當我接受時,我得到一個404錯誤。也許我使用錯誤的DocumentRoot作爲虛擬主機?我正在使用'/ Applications/MAMP/htdocs /',它應該是什麼? – you 2011-09-30 22:24:22

回答

2

我剛碰到同樣的問題,但能夠解決它。

我在跑步; Mac OS 10.6.7 MAMP 1.9.4

我只從webopius上讀了一篇很好的工作,但它錯過了一些東西。

我改變了httpd。CONF

Listen 80Listen 127.0.0.1:80

我還忘了在終端
cp server.key server.tmp
openssl rsa -in server.tmp -out server.key

,消除使用密鑰,如果你沒有在終端啓動Apache所需的密碼運行它,然後您無法輸入證書的密碼短語。

你可以做的是,運行這個命令來啓動Apache的MAMP,看看是否有任何錯誤彈出。

sudo /Applications/MAMP/Library/bin/apachectl start

好,認爲佔地約吧。

+1

默認情況下,HTTPS在端口443上運行,而不是80. – Mikaveli 2011-06-17 19:23:45

+0

感謝您回覆我的問題。我也設法讓https工作。我遇到的問題是虛擬服務器的定義。我將很快編輯我的帖子,以包括我爲防止其他人遇到同樣問題所做的更改。謝謝。 – djeetee 2011-06-21 13:33:31

1

我也遵循webopius說明,但無法加載SSL頁面。正如@djeetee所述,httpd.conf和ssl.conf中虛擬服務器的定義存在問題。該best guide我發現推薦做如下修改這些文件:

  1. 之前作出這些修改,確保你已經生成的密鑰/證書由webopius詳細情況和取得的基本編輯httpd.conf中,這樣的作爲註釋SSL IfDefine語句。
  2. 編輯ssl.conf中,刪除現有的虛擬主機聲明(約160線,運行到文件末尾),並用簡單的東西代替它:

    <VirtualHost *:443> 
        SSLEngine on 
        SSLCertificateFile /Applications/MAMP/conf/ssl/server.crt 
        SSLCertificateKeyFile /Applications/MAMP/conf/ssl/server.key 
    </VirtualHost> 
    

    在我而言,我只是啓用SSL針對特定的VirtualHost;我只好到的DocumentRoot 添加至定義,使其工作:

    DocumentRoot "/Applications/MAMP/htdocs/subfolder" 
    
  3. 編輯httpd.conf文件,再次,配置VirtualHosts有點不同於默認。

    NameVirtualHost *:80 
    NameVirtualHost *:443 
    <VirtualHost *:80> 
        DocumentRoot "/Applications/MAMP/htdocs" 
        ServerName localhost:80 
    </VirtualHost> 
    

    再次,在我來說,我有一個額外的虛擬主機在我的SSL動作的原委:

    <VirtualHost *> 
        DocumentRoot "/Applications/MAMP/htdocs/subfolder" 
        ServerName dev.subfolder.localhost 
    </VirtualHost> 
    

再次,檢查出Mr. Lackey's blog該帶你去通過更全面的說明整個過程;這些只是我在使用Webopius之後爲了安裝我的安裝而做的事情。

26

這對https很困難,這裏的方法很簡單。

打開MAMP Pro。

  1. 在服務器選項卡,確保你的HTTP端口爲80,HTTPS端口是443
  2. 點擊主機標籤
  3. 點擊加爲箭添加新的主機。
  4. 添加127.0.0。1作爲主機名
  5. 點擊SSL啓用
  6. 選擇目錄哪裏是你的htdocs或網站文件夾
  7. 單擊SSL選項卡
  8. 創建自簽名證書通過按鈕的下方。
  9. 然後,它會詢問保存位置保存後,將選擇證書自動。
  10. 重新啓動您的MAMP服務器。

享受!!!!

類型:HTTPS與本地主機然後就可以看到結果。

下一頁

+1

這需要MAMP Pro需要許可證。 – Solubris 2012-09-07 12:33:18

+0

MAMP PRO的版本是什麼?我使用的是1.9.6.1,在我的服務器選項卡上沒有SSL端口,只有Apache和MySQL。添加主機時,即使在「高級」下也沒有「單擊SSL啓用」。 – 2013-08-16 22:23:02

+1

應該適用於MAMP v2.1.4 – kenorb 2013-08-20 15:00:36

1

還要確保您註釋掉在httpd.conf

# Secure (SSL/TLS) connections 
Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf 

這行,否則當你啓動Apache將不包括在內。礦被出於某種原因被註釋掉。

+0

從MAMP 3升級到MAMP 4後,我們需要做的就是讓SSL再次工作。 – user 2017-06-01 23:24:15

32

如果您使用MAMP 3個指令略有不同。 下面是我爲什麼工作,從全新安裝的小牛3.0.5小牛隊沒有專業版。

更新:如this answer中所述修復Apache之後仍然可以在優勝美地上使用。

進一步更新:仍然工作在埃爾卡皮坦。

生成證書

這部分是直接從教程,所以如果你已經做到了,你可以跳到「設置MAMP」。

使用終端在您的默認文件夾中生成私鑰:

cd ~ 
# generate a private key 
openssl genrsa -des3 -out server.key 2048 
# make up a passphrase and remember it, you’ll need it 3 more times. 

# generate certificate signing request 
openssl req -new -key server.key -out server.csr 
# same password 
# answer the questions, use "localhost" for your Common Name 
Country Name: US 
State Name: California 
Locality: My City 
Organization: My Company 
Organization Unit Name: # leave blank 
Common Name: localhost 
Email address: [email protected] 
A challenge password: # leave blank 
An optional company name: # leave blank 

# generate the certificate from the CSR for 5 years 
openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt 

# remove the password requirement from the server key 
cp server.key server.tmp 
openssl rsa -in server.tmp -out server.key 

設置MAMP 3.0.5

這裏就是以前版本的指令是有點過。文件名和位置已更改,並且conf文件中的某些命令不同。以下是全新安裝的MAMP 3.0.5的工作原理。

移動證書文件(server.key和server.crt這)到:

/應用程序/ MAMP/conf目錄/阿帕奇/

打開Apache的httpd.conf文件:

/Applications/MAMP/conf/apache/httpd.conf

# set your listen port to 80 (near the top of the file) 
Listen 80 

# set your ServerName to localhost:80 (default is 8888) 
ServerName localhost:80 

# uncomment the line that includes the secure (SSL/TLS) connection conf 
Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf 

保存並關閉。現在打開Apache的SSL的conf文件:

/Applications/MAMP/conf/apache/extra/httpd-ssl.conf

找到<VirtualHost>條目(大堵在文件的結尾開始<VirtualHost _default_:443></VirtualHost>結束),並與更換整個事情:

<VirtualHost *:443> 
     SSLEngine on 
     SSLCertificateFile /Applications/MAMP/conf/apache/server.crt 
     SSLCertificateKeyFile /Applications/MAMP/conf/apache/server.key 
</VirtualHost> 

保存並關閉。啓動你的MAMP服務器。您應該能夠訪問您的文檔根目錄http://localhosthttps://localhost

+1

工作,感謝您 – Vaquita 2015-06-05 08:35:58

+1

已確認從MAMP 3.2.1開始工作。非常感謝你。 – 2015-07-02 18:19:19

+1

工作二十五日2016 --osx 10.11.3 && MAMP 3.5感謝! – RobBenz 2016-02-16 18:18:25

1

如果你使用的是MAMP 4,並且你還在努力獲得ssl的工作。

這是我如何得到它的工作。

第1步:生成證書(按照羅伯茨指令)

第2步:確認 '的LoadModule ssl_module模塊/ mod_ssl.so' 取消了註釋。步驟3:我使用'Listen 81'(不含引號)而不是80(我認爲有些東西正在使用它,但是如果可以的話,或者只是堅持81就可以在某些端口號上進行測試)。

第4步:使'ServerName localhost:81'(不含引號)。

步驟5:取消 '包含/Applications/MAMP/conf/apache/extra/httpd-ssl.conf'

第6步:確認 'server.crt這' 和 'server.key' 是在正確的地方(如果你遵循Roberts指令,這應該是正確的)

步驟7:打開httpd-ssl.conf文件(按照包含指向的路徑)將'Listen 443'更改爲'Listen *: 443'

第8步:查找<VirtualHost _default_:443>將其更改爲<VirtualHost *:443>

第9步:您可以在兩個方面做到這一點,您可以將'DocumentRoot'指向您的項目/網站的文件夾,或者您可以將'DocumentRoot'註釋掉(我選擇將其註釋掉) 。

第10步:改變 '服務器名稱www.example.com:443' 到 '本地主機:443'

步驟11:可選 - 因爲 '的cgi-bin' 實際上是在MAMP目錄路徑也許錯了文件夾不是圖書館,但我離開了這一切,似乎爲我工作得很好。

退出MAMP,重新打開並啓動服務器。你應該能夠訪問http://localhost:81併到達SSL站點https://localhost:443

我希望我的指導很清楚,你的MAMP的作品。祝你好運

P.s如果它仍然不能正常工作,請在終端中使用'sudo/Applications/MAMP/Library/bin/apachectl start'來查看你得到的錯誤。