web-dev-qa-db-ja.com

SSL用のMAMPの構成

仲間のコーダー、開発目的のために、MacでSSLを使用してMAMPを構成しようとしています。私は次の指示を読んで試しました:
http://www.emersonlackey.com/article/mamp-with-ssl-httpshttp://www.webopius.com/content/355/getting -mamp-working-with-ssl-on-os-x

運がありません。 127.0.0.1またはhttpを使用するlocalhostで両方ともhttps://localhostおよびhttps://127.0.0.1 return Host not foundエラー。

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定義に従って、新しく作成されたファイルへのすべての証明書参照を更新します。

34
djeetee

MAMP 3または4を使用している場合、手順は若干異なります。 ProなしのMavericksにMAMP 3.0.5を新規インストールすることから始めて、私にとってはうまくいきました。

更新: この回答 で説明されているように、Apacheを修正した後もYosemiteで動作します.

更なる更新:コメントは、これが少なくともMAMP 4.2.1で機能することを示唆しています。

証明書を生成する

このパートはチュートリアルから直接進んでいるので、すでに行っている場合は、「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)を次の場所に移動します。

/ Applications/MAMP/conf/Apache /

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://localhostおよびhttps://localhostでドキュメントルートにアクセスできるはずです。

38
Robert

ここでのhttpsの非常に難しい方法は、簡単な方法です。

MAMP Proを開きます。

  1. [サーバー]タブで、HTTPポートが80でHTTPSポートが443であることを確認してください
  2. [ホスト]タブをクリックします
  3. 新しいホストを追加するには、プラス矢印をクリックします。
  4. ホスト名として127.0.0.1を追加
  5. [SSL有効]をクリックします
  6. ディレクトリを選択しますhtdocsまたはwebsitesフォルダはどこですか
  7. [SSL]タブをクリックします
  8. 下のボタンで自己署名証明書を作成します。
  9. その後、保存後に証明書の自動保存を選択して保存場所を要求します。
  10. MAMPサーバーを再起動します。

楽しい!!!!

Localhostでhttpsと入力すると、結果が表示されます。

25
Mandeep Gill

私はちょうど同じ問題に遭遇しましたが、それを修正することができました。

私は走っています。 Mac OS 10.6.7 MAMP 1.9.4

私はwebopiusからは良い仕事をしているだけですが、何かを見逃しました。

Httpd.confで変更しました

Listen 80 not Listen 127.0.0.1:80

また、ターミナルでこれを実行するのを忘れていました
cp server.key server.tmp
openssl rsa -in server.tmp -out server.key

これにより、キーを使用するために必要なパスワードが削除されます。ターミナルでApacheを起動しないと、証明書のパスフレーズを入力できません。

できることは、このコマンドを実行してMAMP用のApacheを起動し、エラーが発生するかどうかを確認することです。

Sudo /Applications/MAMP/Library/bin/apachectl start

わかりました、それはそれについてカバーすると思います。

2
dallas

MAMP 4を使用していて、まだSSLを機能させるのに苦労している場合。

これがどのように機能するかです。

ステップ1:証明書を生成する(ロバーツの指示に従う)

ステップ2:「LoadModule ssl_module modules/mod_ssl.so」のコメントが解除されていることを確認します。

ステップ3:80の代わりに「Listen 81」(引用符なし)を使用します(何かを使用していると思いますが、可能であれば、または単に81に​​固執する場合は、いくつかのポート番号でテストしてください)。

ステップ4:「ServerName localhost:81」を作成します(引用符なし)。

ステップ5: 'Include /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:これに対して2つの方法で行うことができます。「DocumentRoot」をプロジェクト/ウェブサイトのフォルダーにポイントするか、「DocumentRoot」をコメントアウトするだけです(コメントアウトすることを選択しました)。

ステップ10:「ServerName www.example.com:443」を「localhost:443」に変更します

ステップ11:オプション-「cgi-bin」は実際にはライブラリではなくMAMPフォルダーにあるため、ディレクトリパスが間違っている可能性がありますが、それをそのままにして、うまく機能しているようです。

MAMPを終了し、再度開き、サーバーを起動します。 http:// localhost:81 にアクセスし、SSLサイトの https:// localhost:44 にアクセスできるはずです。

私の指示が明確で、MAMPが機能することを願っています。幸運を

それでも動作しない場合は、ターミナルで「Sudo/Applications/MAMP/Library/bin/apachectl start」を使用して、どのエラーが発生するかを確認してください。

1
user629283

Webopiusの指示にも従いましたが、SSLページを読み込むことができませんでした。 @djeeteeが述べたように、httpd.confおよびssl.confの仮想サーバーの定義には問題があります。 ベストガイド これらのファイルに次のリビジョンを作成することをお勧めします。

  1. これらの編集を行う前に、webopiusの詳細に従ってキー/証明書を生成し、SSL IfDefineステートメントをコメントアウトするなど、httpd.confの基本的な編集を行ったことを確認してください。
  2. Ssl.confを編集し、既存のVirtualHost宣言(約160行、ファイルの最後まで実行)を削除して、単純なものに置き換えます。

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

    私の場合、特定のVirtualHostに対してのみSSLを有効にしていました。それを機能させるには、定義に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がありました。

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

繰り返しますが、 Mr。Lackeyのブログ をご覧ください。プロセス全体を説明するより包括的な説明があります。これらは、Webopiusを使用した後、インストールを復旧するために私がやったことです。

1
areynolds

また、httpd.confのこの行のコメントを外してください。

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

そうしないと、Apacheの起動時に含まれません。鉱山は何らかの理由でコメントアウトされました。

1
user603749