Landoを使ったオフラインの開発の始め方(for Mac M1/M2)


外出先でインターネットに接続できない場合でも、DrupalやWordPressの学習・開発をしたいと思ったことがありますよね。
必要な設定が整えば、Landoを使ってオフラインでサイトを閲覧・開発することができます。また、サイトのドメインも好きなようにカスタマイズすることもできます。
今回私はLandoの公式サイトのDeveloping offlineという記事が参考にしました。ただ、記事が少し前のものでIntel Macに対応したものであったため、私の環境では内容通りでは設定を行うことができませんでした。
そこで自身の環境に合わせて設定を行い、今回は手間取ったポイントも含め、M1Mac・M2MacでLandoのオフライン開発を始める方法をご紹介します。
オフライン開発を行うためのステップ
Macでは、以下のステップを踏むことでオフラインでのLandoサイトの閲覧・開発を行うことができます。
1.DNSMasqのインストール
まず、Homebrewを使ってDNSMasqというサービスをインストールします。
Homebrewのインストール状況はこちらで確認できます。
$ brew --version
HomebrewからDNSMasqをインストールを行います。
$ brew install dnsmasq
インストールが完了したら、次のコマンドを実行することで、不足している設定項目を確認できます。
$ brew info dnsmasq
私の環境では「pkg-config」にNGのマークがついていたので、「pkg-config」が正常に動作するよう設定を行いました。
「pkg-config」は、インストールしたライブラリがどこにあるのかを探すためのツールです。「pkg-config」インストールは以下のコマンドで行うことができます。
$ brew install pkg-config
インストールの詳しい情報はHomebrewの公式サイトをご参照ください。
「pkg-config」以外でもNG項目が出ることがあります。次のコマンドで環境にあったエラーの解消方法を見つけることができますので活用してくださいね。
$ brew doctor
2. DNSMasqの設定
Landoサイトに使用したいドメイン名と、ローカルループバックアドレス(127.0.0.1)を紐づける設定を行います。
今回は、「.mochiya.umeki」というドメイン名にカスタマイズしたいと思います。
Chrome環境では、.dev、.appといったドメインだと思うような動作を示さないことがあるのでドメイン名はユニークなものをつけましょう。
「dnsmasq.conf」ファイルに「address=/mochiya.umeki/127.0.0.1」と記述します。コマンドでなく、直接ファイルを操作しても問題ありません。
$ echo 'address=/mochiya.umeki/127.0.0.1' >> $(brew --prefix)/etc/dnsmasq.conf
公式サイトのドキュメントでは、「dnsmasq.conf」ファイルのパスが自身の環境とは違うものでした。
私は「dnsmasq.conf」のファイルパスがあっていなかったためこけてしまいました。ファイルパスがあっていないと上手く動作しないので自身の環境に合わせた設定を行ってくださいね。
「dnsmasq.conf」ファイルの設定ができたら、DNSMasqを一度再起動します。
$ brew services restart dnsmasq
Macでは、指定したドメインの紐付けを行うために以下の手順を行う必要があります。
$ sudo mkdir -p /etc/resolver
作成した「resolver」ディレクトリに、「mochiya.umeki」ファイルを作成し、nameserver 127.0.0.1を書き込んでください。
nanoコマンドに慣れていないのであればVimやファイルを直接操作しても問題ありません。
$ sudo nano /etc/resolver/mochiya.umeki
# mochiya.umekiファイルに以下のテキストを入力。
nameserver 127.0.0.1
3. 設定内容の適用
Macを一度再起動します。
再起動後、ブラウザに新しいDNSが適用されるよう以下のコマンドでDNSのフラッシュを行います。
$ sudo dscacheutil -flushcache
$ sudo killall -HUP mDNSResponder
4. 動作確認
確認方法はいろいろありますが、私は次のコマンドで動作確認を行いました。
pingコマンドはIPアドレスの接続確認や、名前解決のトラブルシューティングの使用にぴったりなので、特にこだわりがなければお試しください。
$ ping mochiya.umeki
以下のようにログが出力されれば動作は正常です。
動作に問題がなければ ~/.lando/config.ymlファイルに次の記載をします。
domain: mochiya.umeki
記載後、Landoを停止します。
$ lando poweroff
ご自身のLandoサイトを再起動したら以下のようにカスタマイズしたドメインのURLが表示されます。
ブラウザで閲覧するとドメインがカスタマイズしたものに変更されているのを確認できますね。
まとめ
今回、Dnsmasqというサービスを利用して、Landoサイトをオフラインで閲覧・開発する方法をご紹介しました。
もちろんDrupalに限らず、WordPressのサイトでも同じことができます。
普段使っている開発用のサイトのドメインを自分好みにアレンジして開発環境を自分色にしてみてはいかがでしょうか?

梅木 和弥/ Drupalエンジニア
Drupalの構築 / 開発に携わっています。
データへのアクセス性と運用フローの改善を意識した、システムの設計に注力しています。
休みの日はカフェや銭湯に行くことが多いです。電気風呂が好きです。