サーバーやローカル環境を設定せずとも手っ取り早く Drupal を試す方法はありますが、サイトを構築したり、モジュールやテーマを開発する場合にはローカル開発環境の構築は欠かせません。幸い仮想化技術の進歩とその活用により、開発環境の構築はとても手軽に出来るようになりました。
Dupral 9/10 向けローカル開発環境構築ツール
2023 年現在、ローカルで Drupal の開発環境を構築する場合は Docker を使った仮想環境を利用するのが主流になっています。この記事では、ローカル開発環境の構築を容易にする以下の 2 つのツールを紹介します:
いずれのツールもオープンソースです。また Docker の知識がない人でも比較的簡単に導入・利用することができます。
以前、ローカル開発環境の構築の際はウェブサーバーやデータベースをローカルに直接インストールする WAMP/MAMP などが使われていました。しかし、ホストマシンの特定の条件でのみ特殊な問題が発生したり、OS のアップグレートに伴って動作しなくなるなど、WAMP/MAMP を使ったアプローチは、チームで統一した開発環境を整える上で様々な障害をもたらすことがありました。Docker はそのようなマシンごとの問題が生じる可能性が比較的少ないこと、また 1 つのマシン上に異なる構成の環境や、複数の環境を容易に設置することができるため、人気が高まっていると考えられます。Vagrant と VirtualBox をベースに作られた DrupalVM は一時期ポピュラーでしたが、Docker 利用の流れには抗えなかったようで、2023 年に入ってリポジトリがアーカイブされました。
留意点
いずれのツールを利用する場合でも Docker は必須です。Docker Desktop をインストールすることで簡単に Docker を導入できますが、Docker のみインストールすることも可能です
Windows を利用している場合、WSL2 をインストールしてください
Drupal をコマンドラインで扱う drush というツールを利用します。サイトのインストールからキャッシュのクリア、設定のインポート・エクスポートなど、開発に必須のツールです。コマンド一覧は Drush の公式ドキュメンテーションで確認できます
DDEV
ドキュメンテーション:https://ddev.readthedocs.io/en/stable/
DDEV は、PHP 実行・開発環境を手軽に設置できるツールです。Drupal に特化しているわけではなく、Laravel アプリケーションや WordPress の実行・開発などにも利用できます。
DDEV のインストール
まずはシステム要件に照らし合わせて、利用しているマシンや環境が要件を満たしていることを確認してください。DDEV のインストール手順はこちらの公式ドキュメンテーションを参照してください。OS や環境により手順が大きく異なるため、ご自分の環境・好みにあった方法を選んで下さい。
Drupal を DDEV 上にインストール
DDEV への Drupal のインストール手順を説明します。以下の例は、公式ドキュメンテーションに解説と多少の変更を加えたものです:
# ディレクトリーの作成と移動 mkdir my-drupal10-site cd my-drupal10-site # DDEV の設定ファイルを作成。利用する Drupal バージョンを 10 に、また docroot を web に指定 ddev config --project-type=drupal10 --docroot=web --create-docroot # DDEV の起動 ddev start # DDEV 上で drupal/recommended-project を取得し、Drupal 10 に必要なパッケージをダウンロード ddev composer create drupal/recommended-project # drush のダウンロード ddev composer require drush/drush # drush を使って Drupal をインストール。ID/pass を `admin` に、またサイトのデフォルト言語を日本語に指定 ddev drush site:install --account-name=admin --account-pass=admin --locale=ja -y #サイトへのログインリンクを生成 ddev drush uli # デフォルトブラウザーでローカルの Drupal 10 サイトを開く ddev launch
Lando
Lando は、Drupal のホスティングを提供する Amazee.io、Pantheon、Platform.sh がスポンサーとなり提供されている開発環境です。DDEV のように簡単にローカル開発環境を構築できるだけではなく、これらの会社の提供するホスティングサービスと統合することで、例えばローカル環境でリモートのステージング環境を再現するなどの作業が簡単に行えます。
Lando のインストール
まずはシステム要件に照らし合わせて、利用しているマシンや環境が要件を満たしていることを確認してください。同じページの下のほうに、各 OS ごとのインストラクションがあるので、それに従って Lando をローカルにインストールしてください。
Drupal を Lando 上にインストール
公式ドキュメンテーションには Drupal の最新バージョンの tar アーカイブを取得してセットアップする手続きが記されています。上の DDEV のように Composer を利用した手続きとは多少異なる点に留意してください。以下の例では、公式ドキュメンテーションの内容を多少変更して、Drupal 10 サイトのデフォルト言語を日本語に指定しています。
# ディレクトリーの作成と移動 mkdir drupal10 && cd drupal10 # Drupal 10 をもとに Lando を初期化 lando init \ --source remote \ --remote-url https://www.drupal.org/download-latest/tar.gz \ --remote-options="--strip-components 1" \ --recipe drupal10 \ --webroot . \ --name hello-drupal10 # Lando を起動 lando start
このコマンドが完了すると、サイトの URL が表示されるので、それをブラウザーで開くとインストール画面にアクセスすることができます。
また、コマンドラインから Drupal をインストールしたい場合、以下のコマンドを実行してください
# Drush をインストール lando composer require drush/drush # Drupal をインストール lando drush site:install --db-url=mysql://drupal10:drupal10@database/drupal10 --locale=ja -y # Drush で管理者としてログイン lando drush uli -l https://hello-drupal9.lndo.site tar アーカイブではなく、DDEV と同じように drupal/recommended-project を使う場合は以下の方法で行って下さい # ディレクトリーの作成と移動 lando composer create-project drupal/recommended-project drupal10 # Lando を初期化 lando init # 質問に対して、解答を選択 ? From where should we get your app's codebase? current working directory ? What recipe do you want to use? drupal10 ? Where is your webroot relative to the init destination? web ? What do you want to call this app? {プロジェクト名を入力} # Lando を起動 lando start
さいごに
この記事では、DDEV と Lando を使ったローカル開発環境の構築について説明しました。両者とも Drupal 以外のアプリケーション開発にも利用できますが、Lando は いくつかの Drupal ホスティングサービスと連携しているため、それらを利用している場合は DDEV よりも Lando のほうが利便性が高いでしょう。
両者とも xdebug をサポートしており、DDEV の場合はコマンドラインから、Lando の場合は設定ファイルから xdebug を有効化することが可能です。
ローカルで動かせるようになった Drupal で、色々な機能を試してみましょう。どこから始めたら良いか分からないという方は「Drupal 初心者講座」も併せてご利用ください。
関連コンテンツ
Drupal 初心者講座バックナンバー
- Drupal 9/10 初心者講座
- 第 1 回 歴史に見る Drupal の DNA
- 第 2 回 Drupal はフレームワークか?CMS か?他の CMS との比較
- 第 3 回 Drupal の特徴
- 第 4 回 Drupal 9 / 10 のインストール (1)
- 第 5 回 Drupal 9 / 10 のインストール (2)
- 第 6 回 Drupal にコンテンツを投稿してみる
- 第 7 回 Drupal のボキャブラリとタクソノミーの使い方
- 第 8 回 コンテンツ管理における Drupal と他の CMS との比較
- 第 9 回 Drupal のブロックシステム
- 第 10 回 Drupal の標準クエリビルダー Views の使い方
- 第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
- 第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
- 第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
- 第 14 回 Drupal のテーマシステムについて
- 第 15 回 Drupal の拡張モジュールの選定と使い方
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報