アイキャッチ画像: デスクの上でパソコンを使用している

これからDrupalを触り始めるという方や既にDrupal開発をされている方向けに徐々に流行しているLandoという開発ツールを利用した環境構築をご説明しようと思います。

Lando とは?

Lando とは Drupal に限らず、様々な開発環境をDocker上に展開するツールです。
.lando.yml ファイルに簡単な定義を書くだけで環境構築ができ学習コストが低い為、本来の開発に集中することができます。

Lando のインストール

https://docs.lando.dev/basics/installation.html を参照しインストールしましょう。

macOSの方は dmg ファイル、windowsの方は exe ファイルを実行するだけでインストールできます。
(その際にdocker等必要なツールも自動的にインストールされます。)

drupal-composer/drupal-project とは

以前 drupal-composer/drupal-project で始めるDrupal初期構築 でご紹介していますのでそちらをご参照ください。

Drupal公式drupal/recommended-project を推奨していますが、以下の点でメリットがある為、私は drupal-project を利用しています。

  • 環境変数を .env ファイルに定義でき、秘匿情報を隠すことができる
  • drush が予めインストールされており、定義ファイルの設定場所等も決められている
  • composer-patches が導入されており、パッチが必要な際に簡単に当てることができる
  • drupal-paranoia を導入するとよりセキュアな環境構築ができる

環境構築

今回は studioumi/drupal-project を利用し最低限のコマンドで立ち上がる環境を構築します。

該当パッケージは以下の機能を含んでいます。

  • drupal-composer/drupal-project + drupal-composer/drupal-paranoia
  • Lando (drupal8(apache(php7.3)) + MySQL(5.7) + phpMyAdmin + mailhog)

ベースプロジェクトの作成

以下コマンドで studioumi/drupal-project を任意のディレクトリへ展開します。

composer create-project studioumi/drupal-project:8.x-dev d8 --no-install --no-interaction

Drupalの環境立ち上げ

以下のコマンドでDrupal8用のLando環境を起動します。

cd d8
lando start

Drupalへのアクセス

Lando環境が立ち上がると以下のようにアクセス用のURLが表示されます。

Your app has started up correctly.
Here are some vitals:

 NAME             d8
 LOCATION         /Users/foobarbaz/Desktop/d8
 SERVICES         appserver, database, phpmyadmin, mailhog
 APPSERVER URLS   https://localhost:32835
                  http://localhost:32836
                  http://d8.lndo.site/
                  https://d8.lndo.site/
 PHPMYADMIN URLS  http://localhost:32833
                  http://pma.lndo.site/
 MAILHOG URLS     http://localhost:32832
                  http://mailhog.lndo.site/

表示されたURL( ex: http://d8.lndo.site/ )へブラウザでアクセスするとDrupalの初期インストール画面が表示されます。

DBのアクセス情報は lando info と打つと情報が出ますのでそれを記載してください。

以降は通常のDrupalインストール時の流れになりますので省略します。

環境の終了

利用しなくなった環境は以下のコマンドで停止(破壊)できます。

# 停止する場合(データは残る)
lando stop
# 破壊する場合(データは削除される)
lando destroy

上記のようにLandoを利用すると面倒なミドルウェア構築を簡単に済ませることが出来ます。
また、drupal-projectでcomposerによるDrupal開発も効率的に実施することが可能となります。

皆さまもぜひお試しください!