More Related Content
Similar to Landoを利用したdrupal開発環境構築 (20)
Landoを利用したdrupal開発環境構築
- 5. ● XAMP,MAMP
○ 古より伝わるミドルウェア導入ツール
○ パッケージをインストールするだけで利用出来る手軽さ
○ 特定のPHPやDB(MySQL)のバージョンしか利用できない
● LAMP
○ Linux標準のパッケージ管理ツール(apt, yum)を利用して導入
○ パフォーマンス・チューニング等カスタマイズ可能
○ Linux自体のインストールやコマンドに精通している必要がある
● Docker
○ コンテナ型仮想環境管理ツール
○ 定義ファイル(docker-compose.yml)を一度作成すれば構築が容易
○ 初期学習コストが高い
Lando以前の開発環境
5
- 8. Lando導入のメリット / デメリット
● メリット
○ ツール自体のインストールが容易
○ レシピに準拠すればPHP/データベース/WEBサーバーの変更が容易
(共通のバージョン・設定で環境が起動する
)
○ バックエンドにDockerを利用している為、構築/破壊が容易
○ ***.lndo.site というローカル環境専用のドメインが発行され
SSL証明書も用意されている為、SSLを利用した動作確認が可能
● デメリット
○ Windowsの場合、WSL2環境を用意する手間がかかる
○ レシピ外のパッケージ導入が面倒
(Dockerの知識が必要となる)
Landoの概要
8
- 11. チュートリアル (hello-lando WEBサイト)
● https://docs.lando.dev/basics/first-app.html
Lando利用 -基本編-
11
# 任意の場所にhelloディレクトリ作成
mkdir hello && cd hello
# index.html 作成
echo "<h1>Lando says hello what have we here?</h1>" > index.html
# lando実行定義ファイル生成 (.lando.yml)
lando init
--source cwd
--recipe lamp
--webroot .
--name hello-lando
# lando実行
lando start
# lando実行停止
lando stop
# lando実行環境破壊
lando destroy
- 12. Drupal9 レシピ(Apache + MySQL)
● https://docs.lando.dev/config/drupal9.html
Lando利用 -基本編-
12
# 任意の場所にhelloディレクトリ作成
mkdir d9 && cd d9
# lando実行定義ファイル生成 (.lando.yml)
lando init
--source remote
--remote-url https://www.drupal.org/download-latest/tar.gz
--remote-options= "--strip-components 1"
--recipe drupal9
--webroot .
--name d9
# lando実行
lando start
# lando情報 (DBアクセス情報等確認 )
lando info
- 14. PHP / WEBサーバー / データベースの切り替え
● PHPのバージョン変更 (7.4 -> 7.3)
● WEBサーバーの変更(Apache -> nginx)
● データベースの切り替え(MySQL -> PostgreSQL)
Lando利用 -応用編-
14
# vim .lando.yml
recipe: drupal9
config:
php: '7.3'
# vim .lando.yml
recipe: drupal9
config:
via: nginx
# vim .lando.yml
recipe: drupal9
config:
database: postgres
- 15. ● サービスとして定義されている為、指定の定義を記載すれば利用可能
○ https://docs.lando.dev/config/phpmyadmin.html
○ https://docs.lando.dev/config/mailhog.html
PhpMyAdmin / MailHog の導入
Lando利用 -応用編-
15
# vim .lando.yml
recipe: drupal9
# PhpMyAdminにドメインでアクセスする為の設定
proxy:
phpmyadmin:
- pma.lndo.site
# PhpMyAdminサービスの定義
services:
phpmyadmin:
type: phpmyadmin
hosts:
- database
# vim .lando.yml
recipe: drupal9
# MailHogにドメインでアクセスする為の設定
proxy:
mailhog:
- mail.lndo.site
# MailHogサービスの定義
services:
mailhog:
type: mailhog
hogfrom:
- appserver
- 16. ● レシピ/サービスとして定義されていないものは
docker-composeの要領で
記載する必要がある
pgAdmin の導入
Lando利用 -応用編-
16
# pgAdminにドメインでアクセスする為の設定
proxy:
pgadmin:
- pgadmin.lndo.site
# pgAdminの定義
services:
pgadmin:
type: compose
app_mount: false
services:
user: root
image: dpage/pgadmin4
command: /entrypoint.sh
ports:
- '80'
environment:
PGADMIN_DEFAULT_EMAIL: admin@example.com
PGADMIN_DEFAULT_PASSWORD: password