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のインストール状況確認。「brew --version」により、versionが出力されている。

HomebrewからDNSMasqをインストールを行います。

$ brew install dnsmasq

インストールが完了したら、次のコマンドを実行することで、不足している設定項目を確認できます。

$ brew info dnsmasq

dnsmasqの不足している設定項目の確認。画像のようになればOK。

私の環境では「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

以下のようにログが出力されれば動作は正常です。

「ping mochiya.umeki」コマンド実行。約1秒ごとにログが出力される。

動作に問題がなければ ~/.lando/config.ymlファイルに次の記載をします。

domain: mochiya.umeki

記載後、Landoを停止します。

$ lando poweroff

ご自身のLandoサイトを再起動したら以下のようにカスタマイズしたドメインのURLが表示されます。

Landoサイトを再起動した時の画面。アクセスできるURLのドメインが設定したものとなっている。

ブラウザで閲覧するとドメインがカスタマイズしたものに変更されているのを確認できますね。

Landoサイトにアクセスした時の画面。URLバーのドメインが「.mochiya.umeki」となっている。

まとめ

今回、Dnsmasqというサービスを利用して、Landoサイトをオフラインで閲覧・開発する方法をご紹介しました。

もちろんDrupalに限らず、WordPressのサイトでも同じことができます。
普段使っている開発用のサイトのドメインを自分好みにアレンジして開発環境を自分色にしてみてはいかがでしょうか?

梅木 和弥/ Drupalエンジニア

Drupalの構築・開発に携わっています。
最近はバックエンド開発に力をいれており、先輩方のコードレビューから知識と洞察を吸収しています。 好きなDrupalモジュールはConfig Pagesです。

休みの日はカフェでのんびりと過ごすことが多いです。

梅木 和弥 の書いた記事一覧

最新の関連記事

Contact お問い合わせ

Drupalでの開発・運用、サーバー構築、Webサイト構築全般、制作費用などに関してお気軽にご相談ください。