DDEV を利用したローカル環境構築
このドキュメントでは、a-blog cms を動かすためのローカル環境を DDEV を使って構築します。
DDEV とは
DDEV は、Web 開発用のローカル環境を素早く、確実に立ち上げるためのツールです。内部的には Docker を使ってサーバーを動かしていますが、複雑な Docker の設定を自分で書く必要はありません。コマンド数行で PHP・MySQL・Web サーバーが揃った環境が手に入ります。
すでに Docker を直接使ったことがある方なら、docker-compose.yml を手書きする代わりに、DDEV がその作業を引き受けてくれるイメージです。
a-blog cms を動かすために必要なもの
a-blog cms は動的な Web アプリケーションです。静的な HTML ファイルをただ置くだけでは動かず、動作するためにいくつかのソフトウェアが必要です。
Web サーバー — ブラウザからのリクエストを受け取り、処理結果をレスポンスとして返すソフトウェアです(Apache や Nginx など)
PHP インタープリター — a-blog cms 本体は PHP で書かれています。PHP のコードを解釈・実行するプログラムが必要です
データベース — 記事やユーザーなどのデータを保存・取得するための仕組みです(MySQL など)
これら3つを自分のパソコン上に個別にインストール・設定するのは手間がかかります。DDEV を使うと、これらをまとめてコンテナとして動かすことができ、バージョン管理や設定の手間を大幅に省けます。
なぜ DDEV を使うのか
MAMP は GUI で操作できるシンプルさが魅力ですが、チーム開発や複数プロジェクトの管理が複雑になりがちです。Docker を直接使う方法は柔軟性が高い反面、設定ファイルの記述に慣れが必要です。
DDEV はその中間にあたる選択肢で、以下のようなメリットがあります。
macOS・Windows・Linux すべてで同じように動く
プロジェクトごとに PHP バージョンを切り替えられる
ddev startひとつで起動、ddev stopで停止とシンプルチームで設定ファイルを共有すれば全員が同じ環境を再現できる
セットアップ手順
1. Docker をインストールする
DDEV は内部で Docker を使うため、先に Docker のインストールが必要です。お使いの OS に合わせて DDEV 公式ドキュメントを参照してインストールしてください。
複数のDocker provider がありますが、Docker 公式が提供する Docker Desktop の利用を推奨します。
2. DDEV をインストールする
次に DDEV 本体をインストールします。お使いの OS に合わせて DDEV の公式ドキュメントを参照してください。
インストール後、以下のコマンドを実行してバージョンが表示されれば、正しくインストールされています。
ddev -v3. プロジェクトフォルダを作成する
任意の作業ディレクトリに、プロジェクト用のフォルダを作成します。
mkdir my-acms-project
cd my-acms-project4. a-blog cms のファイルを配置する
ダウンロードページから a-blog cms のパッケージをダウンロードし、展開してください。展開後、ablogcms ディレクトリの中身をプロジェクトフォルダ直下の web/ ディレクトリに配置してください。
my-acms-project/
└── web/ ← a-blog cms のファイルをここに展開する5. DDEV プロジェクトを設定する
以下のコマンドで DDEV の設定ファイルを生成します。
ddev config --project-type=php --docroot=web --php-version=8.4 --database=mysql:8.4PHP バージョンは動作条件を確認して、必要に応じて変更してください。
6. DDEV を起動する
ddev start起動が完了すると、アクセス用の URL(例: https://my-acms-project.ddev.site)が表示されます。
7. a-blog cms をインストールする
ブラウザで表示された URL にアクセスするとインストール画面が開きます。
データベースの接続設定は以下のように入力してください。
項目 | 値 |
|---|---|
データベースホスト |
|
データベース名 |
|
ユーザー名 |
|
パスワード |
|
db は DDEV が自動的に用意するデータベースコンテナのサービス名です。localhost や 127.0.0.1 では接続できませんのでご注意ください。
よく使うコマンド
コマンド | 説明 |
|---|---|
| プロジェクトを起動する |
| プロジェクトを停止する(データは保持される) |
| プロジェクトを再起動する |
| プロジェクトの接続情報を表示する |
| Sequel Ace でデータベースを開く |
| プロジェクトとデータベースを削除する |
| すべてのプロジェクトとコンテナを停止する |
その他のコマンドについては DDEV 公式ドキュメント(Commands) を参照してください。
よくある質問
Q. ブラウザでローカル環境にアクセスできない
Docker が起動しているか確認してください
ddev startが正常に完了しているか確認してください(エラーが出ていないか)MAMP など他のローカルサーバーが起動している場合は停止してください
Q. PHP のバージョンを変更したい
.ddev/config.yaml の php_version を変更して ddev restart を実行してください。または以下のコマンドで変更できます。
ddev config --php-version=8.2
ddev restartQ. ddev stop と ddev delete の違いがわからない
ddev stop はプロジェクトを一時停止するだけで、データベースの中身やファイルはそのまま保持されます。ddev start で再起動すれば元の状態に戻ります。
ddev delete はデータベースを含むプロジェクトのすべてのデータを削除します。コードファイル(web/ 以下)は削除されませんが、データベースの中身は消えてしまうため、必要な場合は先に ddev export-db でバックアップを取ってください。
Q. 複数のプロジェクトを同時に起動できますか
できます。DDEV はプロジェクトごとに独立したコンテナで動くため、複数プロジェクトを同時に起動しても競合しません。MAMP のようにポート番号を手動で切り替える必要もありません。
Q. プロジェクトを削除したい
プロジェクトディレクトリで以下のコマンドを実行してください。データベースが削除されます。コードファイルを合わせて削除したい場合は、コマンド実行後にフォルダごと削除してください。
ddev delete
