見出し画像

MAMPに複数プロジェクトを共存させる方法

MAMPはドキュメントルートが

/Applications/MAMP/htdocs

に固定されており、単一のプロジェクトしか設置できないと思われがちですが、複数プロジェクトを置くことも可能です。その方法を2つお伝えしたいと思います。


筆者の開発環境

PC:Apple M1 チップ搭載MacBook Air
OS:macOS Ventura 13.6
MAMP:6.8

方法1

 MAMPのコントロールパネルからドキュメントルートを変更する方法です。コントロールパネルを起動し「Preferences」ボタンをクリックしてください。

MAMPコントロールパネル

 下記のウインドウが表示されるので、上部のメニューから「Server」を選択し「Choose…」ボタンをクリックしてください。フォルダの選択画面が現れますのでドキュメントルートに指定したいフォルダをここから選択してください。

MAMPコントロールパネル - Preferences

 変更ができたら、いつも通り「localhost:8888」でアクセスしてください。 
 この方法は非常にお手軽ですが、プロジェクトを変更する度にドキュメントルートを選択しなおさなければならないという手間があります。

方法2

 例えば「laravel.test」や「wordpress.test」といったように個別の名前でそれぞれのプロジェクトにアクセスできると嬉しいですね。最初の設定が少し難しいですが挑戦してみましょう。
 例題に使うプロジェクトは下記で作ったLaravelのプロジェクトを使います。

httpd.confの修正

 「htttpd.conf」ファイルはapache(アパッチ)の設定ファイルです。
 Finderを起動し「アプリケーション」→「MAMP」→「conf」→「apache」と進み「httpd.conf」ファイルのバックアップを取ってください。(ファイル上で右クリックしコピー&ペーストすればOKです。)
 「httpd.conf」を普段お使いのテキストエディタで開き、「Virtual hosts」と検索してください。見つかったらすぐ下の行の先頭文字の「#」を削除しコメントアウトを解除してください。

#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.confInclude /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
httpd.conf

httpd-vhosts.conf

 次に、さらに1階層下の「extra」にある「httpd-vhosts.conf」というファイルも同様にバックアップを取ってください。
 お使いのテキストエディタでファイルを開き、下記の画像のようにAをコピーして、Bの位置にペーストしてください。

httpd-vhosts.conf

 Bの位置にコピーされたコードを下記のように修正してください。「ServerAdmin」という項目は必要ありませんので消してOKです。「DocumentRoot」はドキュメントルートに指定したいフォルダのフルパス、「ServerName」はブラウザでアクセスしたい名前です。

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/Applications/MAMP/Library/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

↓

<VirtualHost *:80>
    DocumentRoot "/Users/papagram/Laravel/example-app/public"
    ServerName example-app.test
    ServerAlias www.example-app.test
    ErrorLog "logs/example-app.test-error_log"
    CustomLog "logs/example-app.test-access_log" common
</VirtualHost>
httpd-vhosts.conf

 MAMPのコントロールパネルから右上の電源アイコンを「Stop」→「Start」の順番でクリックして再起動を行ってください。

hostsの修正

  Finderを起動し「アプリケーション」→「ユーティリティ」から「ターミナル」を起動してください。下記のコマンドを実行してください。パスワードはお使いのパソコンのパスワードです。

sudo vi /etc/hosts

 hostsファイルが開けたら、カーソルを最終行の末尾まで移動してください。「a」を押して、INSERTモードに変更し、改行して下記の1文を追加してください。「example-app.test」の部分は先程設定した「ServerName」と同じにしてください。

127.0.0.1 example-app.test

 入力できたら、escキーを押して「:wq」と入力してエンターキーを押してください。

MAMPのポート番号を変更

 MAMPのコントロールパネルより「Preferences」をクリックしてください。

MAMPコントロールパネル - Preferences

 上部のメニューより「Ports」を選択し「80 & 3306」ボタンをクリックしてください。下記の画像のように数値が変わったら「OK」ボタンをクリックしてください。

MAMPコントロールパネル - Ports

Laravelのデータベース設定を修正

 上で紹介した記事「MAMP環境にLaravelをインストールする」の通りにLaravelを構築した方はデータベースの接続設定の修正も必要です。プロジェクトをVSCodeで開いて「.env」を開いてください。13行目の「DB_PORT」を下記のように修正してください。

DB_PORT=8889
↓
DB_PORT=3306
.env

確認

 ブラウザを起動し、アドレスバーに先程「hosts」ファイルに設定した「example-app.test」を入力してアクセスしてみてください。トップページが表示されたら成功です。

example-app.test

 プロジェクトが増えたら、「httpd-vhosts.conf」ファイルと「hosts」ファイルに同じ要領で記述を追加すればどんどん個別の名前でプロジェクトを増やせます。

補足

 もし設定ファイルの記述にミスがあり、MAMPが起動しなくなったら「httpd.conf」と「httpd-vhosts.conf」を削除してバックアップを元の名前に戻してください。
 ブラウザにアクセスしてもトップページが表示されない場合

  • 記述にミスがないか確認する

  • MAMPを再起動する

  • ブラウザのキャッシュをクリアしてみる

  • パソコンを再起動する

を試してみてください。

PHP/Laravelのシステム開発は株式会社パパグラムへぜひご相談ください。

この記事が気に入ったらサポートをしてみませんか?