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

※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 configurationlando destroy Destroys your applando info Prints info about your applando init Initializes code for use with landolando list Lists all running lando apps and containerslando logs Displays logs for your applando poweroff Spins down all lando related containerslando rebuild Rebuilds your app from scratch, preserving datalando restart Restarts your applando share Shares your local site publiclylando ssh Drops into a shell on a service, runs commandslando start Starts your applando stop Stops your applando version Displays the lando versionOptions:--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 verbosityExamples:lando start Run lando startlando rebuild --help Get help about using the lando rebuild commandlando destroy -y -vvv Run lando destroy non-interactively and with maximum verbositylando --clear Clear the lando tasks cacheYou need at least one command before moving on
6.最後に
今回の記事はここまで!
今後はもう少し詳細の設定や、別の開発環境構築についてもご紹介していけたらと思います。
最後まで読んでいただきありがとうございました!