-
BLOG
知る。残す。伝える。
とにかくMAMPでSSL(https://)で見れるようにしたかったししなければならなかったのです。
Mac Mojave
MAMP 5.1
Homebrewでopensslをインストールしておく
(1)秘密鍵〜SSL証明書作成
(2)MAMP Apacheの設定
(3)https://hoge.localhostにアクセスしてみる
とにかくコマンドをかく。
$ cd /Applications/MAMP/conf/apache/
$ mkdir myssl
$ cd myssl
$ openssl genrsa 2024 > server.key //秘密鍵作成
$ openssl req -new -key server.key > server.csr //証明書署名要求作成(CSR)
→ここで質問がいくつか出てくるが1箇所以外全部エンター(省略)。
その1箇所:Common Nameは「localhost」と入力$ openssl x509 -req -days 3650 -signkey server.key < server.csr > server.crt //SSL サーバ証明書作成
$ openssl x509 -text < server.crt //SSL サーバ証明書を確認
・mysslというディレクトリ名はどんな名前でもいい
・本来は公開鍵も作成が必要だが -key オプションで秘密鍵を指定すれば自動的に公開鍵を取りだしてくれるから公開鍵を作成しなくていい
・-days 3650 は有効期限オプション(3650日 = 10年)
・-text オプションで、内容を確認できる
・server.csrとかserver.crtなどのファイル名は自由でOKだが、MAMPのデフォルトでこの名前が使用されているので、この名前にしておいた方があとで設定が楽(後述のApacheの設定にて)
ここまでで、mysslディレクトリに
server.key、server.csr、server.crtが作成されている
# Secure (SSL/TLS) connections
#Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf
# Secure (SSL/TLS) connections
Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf //有効化
まずは3箇所変更
# General setup for the virtual host
DocumentRoot “/Applications/MAMP/Library/htdocs”
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog “/Applications/MAMP/Library/logs/error_log”
TransferLog “/Applications/MAMP/Library/logs/access_log”
# General setup for the virtual host
DocumentRoot “/Applications/MAMP/htdocs”
ServerName localhost
ServerAdmin you@example.com
ErrorLog “/Applications/MAMP/Library/logs/error_log”
TransferLog “/Applications/MAMP/Library/logs/access_log”
SSLCertificateFile “/Applications/MAMP/conf/apache/server.crt”
SSLCertificateFile “/Applications/MAMP/conf/apache/myssl/server.crt”
SSLCertificateKeyFile “/Applications/MAMP/conf/apache/server.key”
SSLCertificateKeyFile “/Applications/MAMP/conf/apache/myssl/server.key”
2箇所に追記
##
## SSL Virtual Host Context
##NameVirtualHost *:443 //追加
<VirtualHost _default_:443>
//httpd-ssl.confの一番最後に丸々追加
<VirtualHost *:443>
DocumentRoot “/Applications/MAMP/htdocs/hoge” //hogeはプロジェクトディレクトリ名
ServerName hoge.localhost //hogeは自由
SSLEngine on
SSLCertificateFile /Applications/MAMP/conf/apache/myssl/server.crt
SSLCertificateKeyFile /Applications/MAMP/conf/apache/myssl/server.key
</VirtualHost>
$ /Applications/MAMP/Library/bin/apachectl configtest
Syntax OKと出たらOKなのでMAMP を再起動
https://hoge.localhostにアクセス
Chrome「この接続ではプライバシーが保護されません」と警告が表示されるが「詳細」を押して、ページにアクセスする。
するとhttps://hoge.localhostが無事表示されるようになる
鍋は最高の食べ物
© Copyright 2024 NIAR All rights reserved.