MAMP をインストールすると macOS で Apache (nginx) + MySQL + PHP を利用したウェブサーバーが簡単に構築できます。
設定ファイル
MAMP の設定ファイルは次のフォルダーにあります。
Apache – httpd.conf
/Applications/MAMP/conf/apache/httpd.conf
MySQL – my.cnf
/Applications/MAMP/Library/support-files/my-large.cnf
/Applications/MAMP/Library/support-files/my-medium.cnf
/Applications/MAMP/Library/support-files/my-small.cnf
PHP – php.ini
/Applications/MAMP/conf/phpX.X.X/php.ini
SSL 設定
MAMP Pro では設定で簡単に SSL を導入できますが、無料の MAMP では OpenSSL を使用してマニュアルで設定する必要があります。
秘密鍵
Apache のフォルダーに 2048 bit の公開鍵暗号方式 (RSA) の秘密鍵 (server.key) を OpenSSL のコマンドで作成します。
% cd /Applications/MAMP/conf/apache
% mkdir myssl
% cd myssl
% openssl genrsa 2024 > server.key
Generating RSA private key, 2024 bit long modulus
.............................+++
....................+++
e is 65537 (0x10001)
証明書署名要求
先ほど作成した秘密鍵からサーバーの公開鍵に電子署名を要求するファイル (server.csr) を作成します。コマンドを実行すると、サーバーについて入力を求められます。Common Name でドメイン名を入力します。ローカルで利用する場合は localhost を入力します。その他は、そのまま入力をしないとデフォルト値になります。
% openssl req -new -key server.key > server.csr
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 []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
サーバー証明書
作成した証明書署名要求 (server.csr) を秘密鍵 (server.key) で署名して、サーバー証明書 (server.crt) を作成します。-days オプションで有効期限の日数を指定できます。
% openssl x509 -req -days 3650 -signkey server.key < server.csr > server.crt
Signature ok
subject=/CN=localhost
Getting Private key
Apache の設定
MAMP サーバーを停止して、Apache の設定ファイル (httpd.conf) の次の行から # を削除してアンコメントします。
# Secure (SSL/TLS) connections
Include /Applications/MAMP/conf/apache/extra/httpd-ssl.conf
先ほどアンコメントした SSL の設定ファイルの DocumentRoot を /Applications/MAMP/Library/htdocs から希望のディレクトリー (例 : /Applications/MAMP/htdocs) に、ServerName を www.example.com:443 から localhost に変更します。
DocumentRoot "/Applications/MAMP/htdocs"
ServerName localhost
二つの設定ファイルを変更後、MAMP サーバーを開始します。
コメントする