ローカル環境を立ち上げる

作業のゴール

macOS環境上に、Docker (Lando) を使って検証用のDrupal10環境を立ち上げる。

これによって、Drupalモジュールを手元でさくっと検証したり、動作デモが簡単にできる。
また、本番からDBをコピー+StageFileProxyモジュールなどを使えば、本番の動作検証も可。

 

作業の概要

  • PHP Composer で Drupalソースコード一式を持ってくる
  • Landoを使い、Docker上にApplication, Databaseの各サーバをまとめて立ち上げ
  • Drupalをインストール

 

準備

一番面倒だけども、全部サーバ立ち上げるより圧倒的に楽。

 

作業

Composer create-project

PHP Composer で Drupalソースコード一式を持ってくる作業。

作業
ターミナルで実行

$ composer create-project drupal/recommended-project drupal-poc

補足

まずは適当なフォルダを切って、そこをターミナルで開く。今回は、drupal-poc とした。
そこで、composer の create-project を実行すればDrupalのプロジェクトが一式持ってこれる。
回線速度次第だが、一瞬で終わる。

今回、プロジェクト名に drupal-poc としたが、その名前のフォルダが新たに作られ、配下にファイル一式がDLされている。

 

composer create-projectcomposer create-project 直後のフォルダ

注目するフォルダは、プロジェクト直下の web ディレクトリ。
ここが、Apacheなどで設定する DocumentRoot に当たる部分。

composer create-projectで作ると、web が DocumentRoot の名前になる。
Acquia上で作ると docroot の名前になってたりする。

 

参考記事
Using Composer to Install Drupal and Manage Dependencies | Using Composer | Drupal Wiki guide on Drupal.org
https://www.drupal.org/docs/develop/using-composer/manage-dependencies

 

Lando init

Landoを使い、Docker上にApplication, Databaseの各サーバをまとめて立ち上げる作業。

作業

  • Dockerを立ち上げておく
  • プロジェクトルートに移動し、Landoインストールする
$ cd drupal-poc
$ lando init
    ? From where should we get your app's codebase? current working directory
    ? What recipe do you want to use? drupal10
    ? Where is your webroot relative to the init destination? web
    ? What do you want to call this app? drupal-poc
lando init

補足

lando init を実行すると、順番に質問されるので回答する。

Acquia, Pantheon, Drupal10, LAMP... などLandoで作れるサーバ環境が出てくるので選ぶ。

また、webroot には、前述の通りDocumentRootを指定するので、webと記載する。

 

ここまでできれば、Drupalのコードだけが入ったサーバ環境がDocker上にできる。
続いて、Docker上のサーバ群を立ち上げて、サーバへのDrupalインストールをすすめる。

 

参考記事
Getting Started | Lando
https://docs.lando.dev/drupal/getting-started.html

 

Lando start

作ったDocker上のサーバ群を立ち上げる

作業

$ lando start
lando start

 

補足

docker-compose up に近い作業。
初回はイメージのダウンロードなどで時間がかかる。

出来上がると、各サーバのURLが表示される。

ちなみに、Lando関連は次のコマンドをよく使う。

  • lando init
    • lando 環境を新たに立ち上げるときに使う
    • Drupal以外にもオプションを選んで利用可能
    • .lando ファイルがプロジェクトルートに出来上がる
  • lando start と lando stop
    • 環境の立ち上げと停止
    • ターミナル上ではバックグラウンドで動く(stopし忘れに注意)
  • lando info
    • DBのホスト名など、立ち上げた各環境の情報を一覧できる
  • lando db-import path/to/dumpfile と lando db-export path/to/exportfile
    • DB dumpを吸ったり吐いたり
  • lando destroy
    • 今までの作業をなかったコトにする。全部消す。

 

Drupal のインストール

立ち上げたAppサーバに入り、Drupalのインストールを行う。
今回はWeb経由で(ターミナル経由でのインストールもできるが今回はやらない)

作業

  • lando info で DBの接続情報を確認する
  • lando startのときに表示されていたAPPSERVERのURLにアクセスする
  • 表示されたDrupalインストールの画面に従ってインストールする

 

補足

lando info では

lando info

ブラウザを開き、drupal-poc.lndo.site へアクセスする。
おそらく、Drupalのインストール画面が開くはず。

Drupal Install

言語の選択

僕は日本語しかわからないので日本語にして次へ

プロフィールの選択

おそらく "標準" で事足りるはず。
Drupalを触ってみたい、デモしたいだけであればUmamiでいいかも→都度作ってlando destroy

必要条件の検証

とくに何もせず、勝手に先に進んでくれる

データベースのセットアップ

lando info で調べた情報を入れる。
service: 'database' に記載の情報を入れていく。

creds: { database: 'xxx', password: 'xxx', user: 'xxx' } あたりを指定する。
高度なオプションを開き、ホストを internal_connection: { host: 'xxx', port: 'xxx' } のとおりに指定する。

DB setting

もし設定が誤っていればエラーが出てくる。

サイトのインストール / 翻訳のセットアップ

指定したDatabaseにインストールが始まる。

サイトの環境設定

すきに指定する。例えばこんな感じ。
ここで設定したユーザー名が1番目のユーザー(一番権限が強い)となる。

Drupal install サイトの環境設定

 

完成

Welcome drupal installed

 

 

参考記事