macOS で簡単ウェブサーバー MAMP

MAMP をインストールすると macOS で Apache (nginx) + MySQL + PHP を利用したウェブサーバーが簡単に構築できます。


MAMP の設定ファイルは次のフォルダーにあります。

Apache – httpd.conf


MySQL – my.cnf


PHP – 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
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 を から localhost に変更します。

DocumentRoot "/Applications/MAMP/htdocs"
ServerName localhost

二つの設定ファイルを変更後、MAMP サーバーを開始します。