Landoとは?

今回はDrupalの開発環境の構築に使用しますが、Drupalに限らず様々な開発環境をDocker上に展開することができるツールです。今までAcquia Dev Desktopを使っていたときはOSの違いやApache、PHP、MySQL等のミドルウェアの差異によってエラーが出たりすることもありましたが、Landoを利用することで、複数人での開発でも環境面の差分を気にしなくてよくなるというメリットがあります。
Landoではレシピといって環境やフレームワークなどがあらかじめいくつか定義されており、簡単なコマンドラインの操作でDockerコンテナ上にLAMP環境を構築することができます。
また、.lando.ymlファイルを編集することで設定項目のカスタマイズも可能です。
2023年3月現在では下記のレシピをサポートしています。

1. Landoのインストール

まずはLandoをインストールしましょう。Lando公式ドキュメントによると、GitHubからのダウンロードが推奨されているので、Macの場合はdmg、Windowsならexeファイルをダウンロードし、実行してください。

2. Drupalプロジェクトの作成

次に、Drupalプロジェクトを作成するディレクトリに移動または作成します。下記のコマンドでcomposerを使ってDrupalプロジェクトの作成をします。

$ composer create-project drupal/recommended-project lando_test

3. Landoの初期設定

Drupalのインストールが終わったら、Landoを実行していきましょう。まずは下記のコマンドを入力し、Landoの初期設定から行います。

$ lando init

対話形式で環境設定を行うことができます。今回は下記のように設定します。

lando

※1つめでAcquiaを選択することでAcquiaCloud内の環境をローカルに構築することもできます!また別の機会にご紹介します。

4. Landoの起動

初期設定が終わったら、Landoを起動しましょう。下記のコマンドを入力してください。

$ lando start

起動が成功すると、ローカルサーバーのURLが表示されます。ブラウザでアクセスし、Drupalのインストール画面が表示されたら成功です!

データベースの接続情報を確認したい場合は、下記のコマンドで確認することができます。

$ lando info

※PHPバージョンやWebサーバー、データベース設定などをを変更したい場合は、ルートディレクトリにある .lando.ymlで編集することができます。具体的な設定方法については、Landoのドキュメントを参照ください。

5. その他

下記のコマンドで各種コマンドを参照することができます。

$ lando --help

Usage: lando [args] [options]

Commands:
lando config Displays the lando configuration
lando destroy Destroys your app
lando info Prints info about your app
lando init Initializes code for use with lando
lando list Lists all running lando apps and containers
lando logs Displays logs for your app
lando poweroff Spins down all lando related containers
lando rebuild Rebuilds your app from scratch, preserving data
lando restart Restarts your app
lando share Shares your local site publicly
lando ssh Drops into a shell on a service, runs commands
lando start Starts your app
lando stop Stops your app
lando version Displays the lando version

Options:
--channel Sets the update channel
--clear Clears the lando tasks cache
--experimental Activates experimental features
--help Shows lando or delegated command help if applicable
--verbose, -v Runs with extra verbosity

Examples:
lando start Run lando start
lando rebuild --help Get help about using the lando rebuild command
lando destroy -y -vvv Run lando destroy non-interactively and with maximum verbosity
lando --clear Clear the lando tasks cache

You need at least one command before moving on

6.最後に

今回の記事はここまで!
今後はもう少し詳細の設定や、別の開発環境構築についてもご紹介していけたらと思います。
最後まで読んでいただきありがとうございました!