MAMPでSSL(https通信)を使えるようにする手順

どうしても仕事で必要になり、メインパソコン(Mac)の開発環境(MAMP)でSSLを使えるように設定したので、その記録を残しておきます。

秘密鍵とサーバ証明書を作成

まず、秘密鍵を設置するためのフォルダを作成します。

今回は「/Applications/MAMP/conf/apache/」内に「keys」という名前のフォルダを作成しました。

ターミナルを起動して、上で作成した「keys」ディレクトリに移動します。

次に、下のコマンドで「秘密鍵」を作成します。

パスフレーズの入力を求められるので、適当な文字列を入力します。(あとで使うので忘れないように!)

「Verifying – Enter pass phrase:」と言われるので、確認のため同じパスフレーズを入力します。

これで、「secret-key.pem」が作成されたので、次に下のコマンドで「証明書署名要求(csr)」を作ります。

またパスフレーズを求められるので、最初に決めたモノを入力。

色々と聞かれますが、「Common Name」以外は省略(Enterのみ)して、「Common Name」には「localhost」を指定。

これで「csr.pem」が作成されたので、次にcrtファイルを作ります。

またパスフレーズを求められるので、上と同じモノを入力。

最後に「パスワードなし秘密鍵」を作成します。(MAMPでは、パスワードなしの秘密鍵の方が良いらしい。)

これで「secret-key-nopass.pem」が作成されます。

MAMPにSSL証明書を設定

まずMAMPの設定画面から、apacheのポート番号を「80」に設定。

次に「/Applications/MAMP/conf/apache/」の「httpd.conf」を開き、

を探して、以下の通り先頭の「#」を削除して有効化。

そして先ほど有効化したファイル「/Applications/MAMP/conf/apache/extra/httpd-ssl.conf」を開いて、以下の通り編集します。

上の部分を探して、2行目の「DocumentRoot」を実際の環境に合わせて修正。

次に、サーバ証明書のパスを変更するため、

の部分を、

に修正。

続いて、秘密鍵のパスを変更するため、

の部分を、

に修正。

以上ですべて完了です。

最終確認

最後に、MAMPを起動(起動中の場合は、サーバーを再起動)して、「https://localhost/MAMP/?language=Japanese」にアクセスできるか確認します。

(セキュリティの警告は無視して進めます。)

スタートページが問題なく表示されれば、SSLに関する設定は問題ないハズなので、あとはドキュメントルート下に設置した自分のプロジェクトの動作を確認して、正しく表示されればOKです。