MacBook ProにMAMPでローカル環境を構築してみました。
MAMPは下記のURLよりダウンロードできます。
https://www.mamp.info
ドイツ語のページが表示されます。日本語サイトはないですが、英語サイトにしたい方はヘッダーの右側にある地球のアイコンをクリックするか、URL内の「de」を「en」に変更すると英語で表示され、「gratis herunterladen」が「Free Download」に変わります。
「gratis herunterladen」または「Free Download」をクリックするとダウンロードページが開きます。
Mac版とWindows版があるので自分のパソコンに合わせてダウンロードします。
「NAMO DNS App」の案内が出ます。こちらのアプリはLAN内でIPアドレスではなく、ドメインを使ったアクセスができるようにするもののようです。今回はスルーしました。
続いてインストールです。ここからは「Mac版」での作業になります。
ダウンロードした「MAMP_MAMP_PRO_5.7.pkg」(2020/06/09時点でのバージョンは5.7)をダブルクリックします。
インストール画面が表示されるので、表示の案内にしたがって進めていきます。
「はじめに」の画面の続けるをクリックします。
「大切な情報」の内容を確認します。今回は初めてのインストールなので関係ありませんが、すでにMAMPがインストールされている場合は確認が必要です。
原文
The installer installs the folder MAMP and the application MAMP PRO in the Applications directory. Do not move or rename the folder MAMP.
If the installer detects an existing installation it will preserve the data in /Applications/MAMP/htdocs and /Applications/MAMP/conf/ssl, copy existing database to the new installation and rename the old MAMP folder.
日本語訳(Google翻訳)
インストーラーは、MAMPフォルダーとMAMP PROアプリケーションをアプリケーションディレクトリにインストールします。 フォルダMAMPを移動したり、名前を変更したりしないでください。
インストーラーが既存のインストールを検出した場合、データは/ Applications / MAMP / htdocsおよび/ Applications / MAMP / conf / sslに保存され、既存のデータベースが新しいインストールにコピーされ、古いMAMPフォルダーの名前が変更されます。
「使用許諾契約」を確認して「続ける」をクリックします。
使用許諾契約の同意についての確認項目が表示されるので「同意する」をクリックします。
「インストール先」の確認。MacBook ProのHDDにインストールします。
「インストールの種類」の確認。標準インストールをするので、そのまま「インストール」をクリックします。
MAMPのインストールを許可するためユーザー名とパスワードが求められるので、Macにログインする時と同じユーザー名とパスワードを入力して「ソフトウェアをインストール」をクリックします。
インストールが始まります。
「インストールが完了しました。」と案内が表示されたら「閉じる」をクリックします。
"MAMP & MAMP PRO 5.7"のインストーラをゴミ箱に入れますか?と聞かれるので「残す」または「ゴミ箱に入れる」をクリックします。
インストールが完了するとインストール先(MacintoshHDDのアプリケーション・フォルダ)に「MAMP PRO.app」と「MAMP」ディレクトリがそれぞれインストール・作成されます。
「MAMP PRO.app」は有料版なので起動するとサインインかアプリの購入が必要ですが、2週間はデモ版として使えるようです。
「MAMP PRO.app」を起動するとユーザー名とパスワードを求められるので、それぞれを入力すると「Demo Version」を起動することができます。PRO版のアカウントがあるか購入を希望する場合は、それぞれのボタンで進みます。
起動後の画面はこんな感じでした。
MAMPのフリー版はMAMPディレクトリの中の「MAMP.app」です。こちらを起動します。
起動するとウィンドウが開くので、まずは「Start Servers」をクリックします。
ユーザー名とパスワードを求められた場合は、PRO版と同様にMacへのログインユーザー名とパスワードを入力します。
「Apache Server」と「MySQL Server」のインジケーターが緑色になって、サーバーが起動したことがわかります。
ブラウザから「http://localhost:8888」にアクセスすると下記のように表示されます。
インストールが完了して、とりあえずローカル環境が出来たことを確認できたら、必要に応じてMAMPの初期設定をしていきます。
MAMPのメニューから「Preference」を開きます。
まずは「General」タブ。特には変更せずデフォルトのままです。「Start severs」にチェックを入れればMAMPを起動した時に、サーバーも起動させることができるようです。
続いて「Ports」のタブを開きます。デフォルトではApacheとNginxのポートが8888、MySQLのポートが8889に設定されています。
「Set Web & MySQL ports to 80 & 3306」をクリックして、ApacheとNginxのポートを80、MySQLのポートを3306に変更します。
ポート番号が変更されたら「OK」をクリックしてパスワードを入力します。
これでポート番号が変更され、先ほどは「http://localhost:8888」と入力して接続していましたが、ポート番号なしの「http://localhost」で下記の画面が表示されるようになります。
「PHP」のタブではPHPのバージョンを選べます。とりあえずデフォルトのまま新しい方にしておきました。
「Web Server」のタブではWebサーバーアプリをApacheかNginxを選べます。こちらのデフォルトのApacheのままです。
Document Rootのフォルダもとりあえずデフォルトのhtdocsのままです。
「MySQL」は特に設定項目はなく、バージョンが表示されています。
「Cloud」は有料版となり、DropBoxと連携させて使うようです。今回は利用しません。
MAMPの初期設定が完了したら、続いてPHPとバーチャルホスト、MacのHostsファイルの設定をします。
PHPの初期設定でタイムゾーンの変更と拡張子が「.html」でPHPが動作するように設定の変更が必要です。
「タイムゾーン」の設定は「/Applications/MAMP/bin/php/php7.4.2/conf/」の中にある「php.ini」ファイルを編集します。「php7.4.2」の部分は、MAMPの設定画面のPHPタブで設定したPHPのバージョンと同じディレクトリを選びます。万が一、動かなくなるなどの不具合が出た場合に備えて「php.ini」ファイルを編集をする前に複製してバックアップとして保存しておきました。
「php.ini」をテキストエディタで開き、「date.timezone」の項目をファイル内検索します。
探し出した「;date.timezone = "Europe/Berlin"」の行をコピーして、下にペーストします。さらに、ペーストした行の「;」を削除して「Europe/Berlin」の部分を「Asia/Tokyo」として保存します。
;date.timezone = "Europe/Berlin"
;date.timezone = "Europe/Berlin" ←コピー&ペーストした行
下記のように修正します。
;date.timezone = "Europe/Berlin"
date.timezone = "Asia/Tokyo"
続いてPHPの動作環境として拡張子「.html」と「.htm」を追加します。
変更するファイルは「/Application/MAMP/conf/apache/」の中の「httpd.conf」になります。こちらも先ほどと同様に複製・バックアップします。
「httpd.conf」をテキストエディタで開いて「AddType application/x-httpd-php .php .phtml」の行を検索して、「.phtml」に続けて半角スペースで区切って「.html」と「.htm」を追加します。
AddType application/x-httpd-php .php .phtml
下記のように修正します。
AddType application/x-httpd-php .php .phtml .html .htm
タイムゾーンの変更と拡張子追加の変更が完了したら、下記のphpファイルを作成してindex.htmlとして「アプリケーション/MAMP/htdocs/」の中に保存します。
<?php echo date("Y-m-d H:i:s",strtotime("now")); ?>
一度、MAMPのウィンドウの「Stop Servers」でサーバーを終了して、再び「Start Servers」でサーバー起動し変更を加えたファイルを読み込ませます。
「http://localhost」にアクセスして現在の日時が表示されたらPHPの設定は完了です。
続いてバーチャルホストの設定です。
手順は下記のようになります。
- バーチャルホストの設定ファイルを読み込むようにする
- バーチャルホストの設定
- hostsの設定
まずはバーチャルホストの設定ファイルを読み込むようにします。
「/Applications/MAMP/conf/apache/」にある「httpd.conf」をテキストエディタで開き、コメントアウトされている「#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf」を検索します。
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
検索した行の先頭にある「#」を削除してバーチャルホストを設定するファイルを読み込むようにします。
下記のように修正します。
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
次に「/Applications/MAMP/conf/apache/extra/」にある「httpd-vhosts.conf」にバーチャルホストの設定を追加しますが、その前にルートとするディレクトリを「/Applications/MAMP/htdocs/」の中に作成します。
「/Applications/MAMP/htdocs/」の中にディレクトリ「applebeat」を作成しました。
「httpd-vhosts.conf」をテキストエディタで開き、最下部に「DocumentRoot」と「ServerName」を追加します。今回追加したのは下記になります。
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/applebeat"
ServerName applebeat.local
</VirtualHost>
ServerNameはブラウザでアクセスする際のドメイン名になるので、ドキュメントルートのディレクトリ名と合わせておくのがわかりやすいかなと思います。
次にMacのHostsファイルの設定をします。Hostsファイルの設定は直接ファイルを編集するか、ターミナルを使って設定をします。
Hostsファイルは「/private/etc/」の中の「hosts」ですが、フォルダを開いただけではファインダーから見られないので、「shift + command + G」またはFinderのメニューから「移動 > フォルダーへ移動」を選択して、開いた検索フォームに「/private/etc/」と入力して「移動」をクリックします。
開いたフォルダーの中の「hosts」ファイルをテキストエディタで開いて、最下段に「ローカルIPアドレス[半角スペース]バーチャルドメイン」というように追加します。
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
■←ここに追加する
下記の最後の2行が追加した設定です。
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 applebeat.local
fe80::1%lo0 applebeat.local
「127.0.0.1 applebeat.local」と「fe80::1%lo0 applebeat.local」の2行を追加しましたが、「127.0.0.1 applebeat.local」はIPv4の設定、「fe80::1%lo0 applebeat.local」はIPv6の設定とのことで、「127.0.0.1 applebeat.local」しか設定しない場合、設定したバーチャルドメイン「applebeat.local」にアクセスした時に「表示に時間がかかる」、「いつまでたってもページが表示されない」などという場合があるようです。
実際、自分のMacBook Proも全くページが表示されずにカーソルがぐるぐると回っている状態が続きました。
そのような場合にIPv6の「fe80::1%lo0 applebeat.local」を設定するとアクセスできない問題が解決されます。
編集が完了したら保存します。保存の時にパスワードの入力を求められたら、Macにログインするときのパスワードを入力します。
ターミナルで編集する場合はターミナルを起動後、下記の手順となります。
- 下記を入力してenterを押します。
sudo vi /private/etc/hosts
- Macにログインするときのパスワードを入力し「enter」を押します。
- hostsファイルの記述内容が表示されたら、編集モードにするためキーボードの「i」を押して「INSERT」モードにします。
- hostsファイルを編集します。編集内容はテキストエディタで直接開いて編集するときと同じです。
「Control + C」でINSERTモードを終了して完了です。
これでブラウザから「applebeat.local」にアクセスすると「/Applications/MAMP/htdocs/applebeat」にあるindex.htmlページが表示されます。
バーチャルホストを追加する場合は、下記の3つを追加で繰り返し設定します。
- 「/Applications/MAMP/htdocs」にディレクトリを追加する。
- 「/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf」に「DocumentRoot」と「ServerName」を追加する。
- 「/private/etc/hosts」に「ローカルIPアドレス[半角スペース]バーチャルドメイン」を追加する。
これで設定は全て完了です。
ちなみに今回は下記のページを参考に...、というか、下記のページの通り進めていきました。
【MAC】MAMP(フリー版)のインストールから初期設定+バーチャルホスト設定までをまとめてみた