MAMPのSSL対応 / PHPのバージョン変更方法
実務でしばらくMAMPを使っていたので、MAMPのインストール&初期設定+αをしてみるのその後設定した諸々です。
基本的には上記の記事での設定は、すでに済んでいるものとします。
SSL設定
バーチャルホストでのSSLはあまり情報がまとまってなかったので、備忘録も兼ねてます。
参考にさせていただいたページは一番下に。
以下の手順で鍵をつくります。いわゆるオレオレ証明書です。
keysのディレクトリを作ります。
$ mkdir /Applications/MAMP/conf/apache/keys
作ったkeysのディレクトリに移動します。
$ cd /Applications/MAMP/conf/apache/keys/
ローカル認証局の秘密鍵を作る
$ openssl genrsa -des3 -out local-ca.key 2048
パスフレーズを聞かれるので入力。メモしてください。
ローカル認証局の証明書を作る
$ openssl req -x509 -new -nodes -key local-ca.key -sha256 -days 1825 -out local-ca.pem
先ほどメモったパスフレーズを入力。
「Common Name」のところだけ「localhost」と入力して、残りはEnterで大丈夫です。
Enter pass phrase for local-ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (eg, fully qualified host name) []:localhost
Email Address []:
これでlocal-ca.pemというローカル認証局の証明書ができました。
サーバの秘密鍵を作る
$ openssl genrsa -out server.key 2048
証明書署名要求(CSR)を作る
$ openssl req -new -key server.key -out server.csr
Extension Fileを作る
以下の内容でv3.extというファイルを作成します。
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
サーバ証明書を作る
$ openssl x509 -req -in server.csr -CA local-ca.pem -CAkey local-ca.key -CAcreateserial -out server.crt -days 1825 -sha256 -extfile v3.ext
これで設定に必要な2つのファイル作成が完了しました。
- server.crt
- server.key
参考サイトでは、この後キーチェーンアクセスに証明書を追加して、セキュリティの警告画面が出ない様にするみたいなんですが、私の場合はキーチェーンアクセスに追加しても出続けてるので、この項目は飛ばします。
気になる方は、参考サイトさんで手順通りにどうぞ。
警告画面が出ても「詳細設定」からアクセスはできるはずです。
MAMPでの設定
httpd.confの設定
MAMPのアプリケーションフォルダ内、「httpd.conf」を修正し、SSLの設定を有効にします。
Applications > MAMP > conf > apache
# 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
httpd-ssl.confの設定
httpd-ssl.confの設定をします。
Applications > MAMP > conf > apache > extra > httpd-ssl.conf
この2つを書き換えます。
SSLCertificateFile "/Applications/MAMP/conf/apache/server.crt"
SSLCertificateKeyFile "/Applications/MAMP/conf/apache/server.key"
以下の様に、先ほど作った証明書のディレクトリに書き換えます
SSLCertificateFile "/Applications/MAMP/conf/apache/keys/server.crt"
SSLCertificateKeyFile "/Applications/MAMP/conf/apache/keys/server.key"
httpd-vhosts.confの設定
バーチャルホストでのSSL設定です。
Applications > MAMP > conf > apache > extra > httpd-vhosts.conf
設定してあるバーチャルホストを以下の様に書き換えます。
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/hoge"
ServerName hoge
</VirtualHost>
↓
<VirtualHost *:443>
ServerAdmin admin@localhost
DocumentRoot "/Applications/MAMP/htdocs/hoge"
ServerName hoge
SSLEngine on
SSLCertificateFile /Applications/MAMP/conf/apache/keys/server.crt
SSLCertificateKeyFile /Applications/MAMP/conf/apache/keys/server.key
</VirtualHost>
ここまで設定できたらMAMPサーバーを再起動します。
これで、https://〜でアクセスできるようになるはずです。
PHPのバージョン変更方法
段階的なリニューアルの際に、古い環境を再現する必要がありまして、
そのような場合のPHPのバージョンの下げ方です。
初期設定では、以下のように近いバージョンの2種類しか選べません。
この選択肢を変更するには、Applications > MAMP > bin > php のフォルダ内の各バージョンphpフォルダの名前を変更します。
表示させたいバージョン以外にアンダースコアをつけておきます。
ここまで設定したら、MAMPを再起動します。
その後、もう一度MAMPを立ち上げ、上部のメニューバーより MAMP > PreferencesからPHPのタブを開くと
このように選択肢が変わっているはずです。
引用・参考
Author And Source
この問題について(MAMPのSSL対応 / PHPのバージョン変更方法), 我々は、より多くの情報をここで見つけました https://qiita.com/shiki_neki/items/1bb6762c0e54df606e51著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .