そろそろ MAMP を卒業しませんか?DDEV + a-blog cms のローカル環境構築
Web 制作をはじめた頃、ローカル環境といえば MAMP でした。インストールして起動ボタンを押すだけで PHP と MySQL が動く。あのシンプルさは本当にありがたかったです。
ただ、案件が増えてくると、こんな場面が増えてきませんか?
今のバージョンだと PHP 8.1 じゃないと動かないんだけど、古い案件は 7.4 で使いたい
自分の環境では動いてるのに、なんで他の人の環境だと動かないんだろう
新しい Mac に乗り換えるたびに、MAMP の設定をゼロからやり直す
MAMP が悪いわけじゃないんです。ただ、こういった悩みを解決するツールが今はあります。それが DDEV です。
DDEV ってなに?
ローカル開発環境を本格的に整えようとすると、次のステップは Docker になります。プロジェクトごとに PHP や MySQL のバージョンを完全に分離できて、チームで環境を共有できる。理想的なのですが、Docker を直接使いこなすにはそれなりの学習コストがかかります。
DDEV はその Docker を裏側で動かしながら、Docker の知識がなくても使えるように ラップしてくれるツールです。難しい設定はすべて DDEV が引き受けてくれるので、やることはシンプルなコマンドを数回打つだけ。Docker の恩恵をそのまま受けながら、MAMP と同じくらいの手軽さで使えるのが特徴です。
最初に一度だけやること(Mac の環境整備)
まずはあなたの Mac に開発環境を整えます。この作業は最初に一度やれば OK です。次の案件が始まっても、新しい a-blog cms サイトを作るたびにやり直す必要はありません。
Homebrew をインストールする
Mac のパッケージマネージャーです。すでにインストール済みの方は読み飛ばしてください。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Docker をインストールする
DDEV は内部で Docker を使って動いています。まずは Docker Desktop をインストールしてください。
インストール後、Docker が起動していることを確認してください。
DDEV をインストールする
Homebrew を利用してインストールできます。
brew install ddev/ddev/ddevHTTPS 対応のための設定も一度だけ実行しておきます。
mkcert -installこれで準備完了です。Docker と DDEV のインストールは最初の一度だけ。
次の案件からは不要です。
案件ごとにやること
開発環境のディレクトリを作る
Finder からフォルダを作ってもいいですが、ここまでターミナルで作業をしているので、ディレクトリを作成して、その中に移動します。
mkdir my-ablogcms-site
cd my-ablogcms-sitea-blog cms 環境を準備する
この install.sh では DDEV の config 設定と、この次に実行するコマンドの設定を行います。
curl -fsSL https://developer.a-blogcms.jp/ddev/install.sh | bashこの1文での作業内容は以下のようになります。
DDEV が未設定の場合は ddev config を実行して開発環境を初期化します(PHP 8.4 / MySQL 8.4 / docroot=web)
.ddev/commands/host/acms という DDEV カスタムコマンド を配置します
scripts/install.sh を配置します(a-blog cms のインストーラーを取得するスクリプト)
ddev start を実行して開発環境を起動します
ddev acms setupこちらの処理は以下のようになります。
簡単セットアップ用のパッケージをダウンロードします
ダウンロードした install.zip を一時ディレクトリに展開します
setup.php を web ディレクトリに配置
セットアップ画面をブラウザで表示
a-blog cms インストール
ブラウザから必要な設定を行い、テーマやログインする管理ユーザーの作成を行います。(データベースの設定は ddev の設定が済んだ状態で画面が表示されます)
インストール後のよく使うコマンド
初回は ddev acms setup で ddev start を兼ねているのですが、次回動かす時や、止める時などのいつくかのコマンドを紹介しておきます。
コマンド | 説明 |
|---|---|
ddev start | プロジェクトを起動する |
ddev stop | プロジェクトを停止する(データは保持される) |
ddev restart | プロジェクトを再起動する |
ddev poweroff | すべてのプロジェクトとコンテナを停止する |
ddev describe | プロジェクトの接続情報を表示する |
ddev mailpit | Mailpit をブラウザで開く |
ddev delete | プロジェクトとデータベースを削除する |
ddev sequelace | Sequel Ace でデータベースを開く |
このコマンドの実行は、今回の説明では my-ablogcms-site のディレクトリに移動して実行すると覚えておけば大丈夫です。
phpMyAdmin の設定
MAMP では MySQL の設定を phpMyAdmin という Web UI が提供されていました。同じものを利用できるようにするためには add-on という機能から追加します。
ddev add-on get ddev/ddev-phpmyadminこれは SSL の設定のように ddev 全体ではなく、案件ごと・プロジェクトごとになりますので、初回は ddev acms setup の前に事前に実行しておくのが、これまで MAMP を利用していた人にはオススメです。
アクセスする際には、
ddev phpmyadminとターミナルから実行してください。ブラウザが切り替わります。
また、Sequel Ace という Mac 用のアプリをインストールしているようであれば、
ddev sequelaceの方が専用のアプリケーションが動くことになり便利かもしれません。
Mailpit を活用しよう
ローカル開発中に「フォームからメールが送られるか確認したい」という場面は多いと思います。でも、テストのたびに本物のメールアドレスに送信してしまうのは困りますよね。DDEV には Mailpit というメールテストツールが最初から組み込まれています。追加のインストールは一切不要です。
Mailpit ってどんなもの?
PHP から送信されたメールを外部には送らず、すべてキャッチして Web 画面で確認できるツールです。実際のメールアドレスに誤送信してしまう心配がなく、件名・本文・宛先・HTML の見た目までウェブメールのように安全にチェックできます。
MAMP を使っていたころはメール送信のテストに別途ツールを用意する必要がありましたが、DDEV ではこれも最初から揃っています。
Mailpit にアクセスする
以下のコマンドでブラウザから Mailpit が開きます。
ddev mailpitまたは URL で直接アクセスすることもできます。
https://my-ablogcms-site.ddev.site:8026送信されたメールを確認する
a-blog cms のお問い合わせフォームや会員登録など、メール送信を伴う操作をローカルで実行すると、Mailpit の画面に受信メールとして表示されます。件名・本文・HTML の見た目・宛先などをそのまま確認できます。確認が終わったら画面上から削除でき、何度テストしても外部への影響はありません。
Mailpit はローカル専用のツールです。外部のメールアドレスには届きません。本番環境では通常通り外部にメールが送信されます。
さいごに
MAMP はシンプルで使いやすく、ローカル環境の入門として本当によくできたツールです。ただ、案件が増えれば増えるほど「環境の管理」が少しずつ辛くなってくるのも事実です。
DDEV に乗り換えることで、PHP や MySQL のバージョン管理、チームでの環境共有、メールのテスト環境まで、開発まわりの悩みがまとめて解決します。「Docker って難しそう」という印象があるかもしれませんが、DDEV を使う分には Docker の知識はほぼ不要です。まずは今回の手順通りに一度試してみてください。慣れてしまえば、もう MAMP には戻れなくなるはずです。
DDEV を試してみるついでに、a-blog cms も試してみてください!



