MAMPにSSLをインストール

必要に迫られてMAMP(Ver. 1.7.1)にSSLをインストールしました。Pro版はこんなことする必要ないのかな。

MAMP 2.0にインストールしたら、若干違っていましたので、追記しました。(2011-08-17)
MAMPを2.0.3にバージョンアップしたので、訂正・追記しました。(2011-09-19)

■MAMPをバージョンアップする場合(MAMP 2.0以降)
1. アプリケーション内の「MAMP」フォルダをバックアップします。
2. 新しいMAMPをインストールします。
3. httpd.confやphp.ini等を変更している場合は、バックアップから入れ替えます。
4. このページの手順でSSLをインストールしている場合は、バックアップから「ssl_key」フォルダを新しいMAMPにコピーします。
「ssl_key」フォルダは、/Applications/MAMP/conf/apache/内です。
5.  SSLをインストールしている場合は、「/Applications/MAMP/conf/apache/extra/httpd-ssl.conf」をバックアップで上書きします。
6.  SSLをインストールしている場合は、「/Applications/MAMP/conf/apache/httpd.conf」内の以下の「#」を外します。3.でhttpd.confを入れ替えた場合は、不要。
# Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf

 

■SSLのインストール
以下を参照。
http://developer.apple.com/internet/serverside/modssl.html
手順にしたがって必要なファイルを作成します。「Configuring SSL」から順次、水色の四角形内をターミナルで実行して行きます。
Country Name等の入力については、「Apache用証明書の作成」が参考になります。
注意点:
1.最初にデスクトップに「KeyGen(任意)」フォルダを作成して、このフォルダ内で作業します。
2. server.csrファイル作成時の「Common Name」は「127.0.0.1」にします。
3. ca.crtファイル作成時の「Common Name」は自分の名前等にします。
4. sign.shは以下よりダウンロードして、「KeyGen」フォルダにコピーします。
最新のバージョンでOK。sign.shは、pkg.contribフォルダ内にあります。
http://www.modssl.org/

●「KeyGen」フォルダ内のファイルのコピー先
コピー先をMAMP内にします。参考ページは/etc/httpd/内。
1. /Applications/MAMP/conf/apache/内に「ssl_key(任意)」フォルダ作成
2. ターミナルで以下を実行
# sudo cp -r * /Applications/MAMP/conf/apache/ssl_key/
# cd /Applications/MAMP/conf/apache/ssl_key
# sudo cp server.key server.key.original
# sudo openssl rsa -in server.key.original -out server.key

■ssl.confの編集(MAMP 2.0は、httpd-ssl.conf)
参考ページではhttpd.confの編集ですが、MAMPの場合は「ssl.conf」ファイル(MAMP 2.0は以下参照)です。
/Appications/MAMP/conf/apache/ssl.conf

※MAMP 2.0では、以下です。
/Applications/MAMP/conf/apache/extra/httpd-ssl.conf
このファイルを使用するには、 /Applications/MAMP/conf/apache/httpd.conf内の以下の「#」を外します。
# Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf

以下の箇所を変更します。
1. DocumentRoot
DocumentRoot “/Applications/MAMP/htdocs”

※htdocsとは別のディレクトリ(secureの作成が必要)を使用する場合は以下のようにします。
DocumentRoot “/Applications/MAMP/secure”

※MAMPのコントロールパネルでDocumentRootを変更している場合は、そちら(httpd.conf)に合わせます。

2. ServerName
127.0.0.1に変更します。(localhostのままでもよいみたい)

ServerName 127.0.0.1:443
# 気になる場合は、httpd.confのSeverNameも変更する。

3. SSLCertificateFile
ディレクトリを変更します。
SSLCertificateFile /Applications/MAMP/conf/apache/ssl_key/server.crt

4. SSLCertificateKeyFile
ディレクトリを変更します。
SSLCertificateKeyFile /Applications/MAMP/conf/apache/ssl_key/server.key

■startApache.shを編集(MAMP 2.0では不要)
/Applications/MAMP/bin/startApache.shを以下のように編集します。
/Applications/MAMP/Library/bin/apachectl start

/Applications/MAMP/Library/bin/apachectl startssl

■Apacheのポート変更
MAMPを起動して、「環境設定」の「ポート」で「Apacheのポート」を80にします。
※MAMPのポートを80にする場合は、「システム環境設定」の「共有」にある「Web共有」はオフにすること。