SlideShare a Scribd company logo
1 of 18
Download to read offline
スタジオ・ウミ
Landoを利用した
Drupal開発環境構築
小林 基樹
2022年1月29日 DrupalCamp DEN 2022 Osaka
2
アジェンダ
AGENDA
● 自己紹介
● Landoを利用しない開発環境
● Landoの概要
● Lando利用 -基本編-
● Lando利用 -応用編-
● Q&A
3
自己紹介
● Studio Umi (2016−)
● Drupal 7/8/9
● バックエンド/フロントエンド
インフラetc...
Landoを利用しない開発環境
4
● XAMP,MAMP
○ 古より伝わるミドルウェア導入ツール
○ パッケージをインストールするだけで利用出来る手軽さ
○ 特定のPHPやDB(MySQL)のバージョンしか利用できない
● LAMP
○ Linux標準のパッケージ管理ツール(apt, yum)を利用して導入
○ パフォーマンス・チューニング等カスタマイズ可能
○ Linux自体のインストールやコマンドに精通している必要がある
● Docker
○ コンテナ型仮想環境管理ツール
○ 定義ファイル(docker-compose.yml)を一度作成すれば構築が容易
○ 初期学習コストが高い
Lando以前の開発環境
5
Landoの概要
6
● 各種ミドルウェアをローカル環境上にセットアップする為のツール
● バックエンドにDockerを利用
● レシピと呼ばれる各アプリケーションに応じた定義が事前に
用意されておりローカル環境を簡潔に用意できる
● Drupalだけでは無くWordPressやLaravelといった他アプリケーションの
開発環境としても利用することが可能
Landoの概要
7
Lando導入のメリット / デメリット
● メリット
○ ツール自体のインストールが容易
○ レシピに準拠すればPHP/データベース/WEBサーバーの変更が容易
(共通のバージョン・設定で環境が起動する
)
○ バックエンドにDockerを利用している為、構築/破壊が容易
○ ***.lndo.site というローカル環境専用のドメインが発行され
SSL証明書も用意されている為、SSLを利用した動作確認が可能
● デメリット
○ Windowsの場合、WSL2環境を用意する手間がかかる
○ レシピ外のパッケージ導入が面倒
(Dockerの知識が必要となる)
Landoの概要
8
Lando利用
- 基本編 -
9
Lando インストール
● https://docs.lando.dev/basics/installation.html
● Windowsの場合、WSL2の導入をおすすめ( wsl –install )
● https://github.com/lando/lando/releases より
OSにあわせたパッケージをダウンロード、インストール
● 「lando version」でバージョンが表示されればOK
Lando利用 -基本編-
10
チュートリアル (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
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
Lando利用
- 応用編 -
13
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
● サービスとして定義されている為、指定の定義を記載すれば利用可能
○ 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
● レシピ/サービスとして定義されていないものは
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
ご清聴ありがとうございました
17
18

More Related Content

What's hot

No011-01-Suc3rum-20100225
No011-01-Suc3rum-20100225No011-01-Suc3rum-20100225
No011-01-Suc3rum-20100225
Sukusuku Scrum
 

What's hot (20)

Laravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかLaravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのか
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
 
マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説
 
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応までDocker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
 
Lambda layerをDeployする方法を調べる
Lambda layerをDeployする方法を調べるLambda layerをDeployする方法を調べる
Lambda layerをDeployする方法を調べる
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpnCassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
Cassandra導入事例と現場視点での苦労したポイント cassandra summit2014jpn
 
SharePoint Framework Teams タブ開発基礎講座
SharePoint Framework Teams タブ開発基礎講座SharePoint Framework Teams タブ開発基礎講座
SharePoint Framework Teams タブ開発基礎講座
 
AWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすかAWS Batch Fargate対応は何をもたらすか
AWS Batch Fargate対応は何をもたらすか
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発
 
No011-01-Suc3rum-20100225
No011-01-Suc3rum-20100225No011-01-Suc3rum-20100225
No011-01-Suc3rum-20100225
 
Docker実践入門
Docker実践入門Docker実践入門
Docker実践入門
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
XP lives, XP dies, XP lives again !!
XP lives, XP dies, XP lives again !!XP lives, XP dies, XP lives again !!
XP lives, XP dies, XP lives again !!
 
CircleCI vs. CodePipeline
CircleCI vs. CodePipelineCircleCI vs. CodePipeline
CircleCI vs. CodePipeline
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
 
DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技DynamoDB設計のちょっとした技
DynamoDB設計のちょっとした技
 

Similar to Landoを利用したdrupal開発環境構築

今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
Takuto Matsuu
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
hiro345
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
maebashi
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Masayuki Kanou
 

Similar to Landoを利用したdrupal開発環境構築 (20)

What's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App PlatformWhat's Drupal & Drupal as a Employee App Platform
What's Drupal & Drupal as a Employee App Platform
 
今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて今最もアツイdistribution Gentoo Linuxについて
今最もアツイdistribution Gentoo Linuxについて
 
Newcomer2020 Docker研修
Newcomer2020 Docker研修Newcomer2020 Docker研修
Newcomer2020 Docker研修
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
 
Start-padrino
Start-padrinoStart-padrino
Start-padrino
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
Drupal9 update (0214/2020)
Drupal9 update (0214/2020)Drupal9 update (0214/2020)
Drupal9 update (0214/2020)
 
DockerでAlmaLinux(web, php, pukiwiki)環境構築
DockerでAlmaLinux(web, php, pukiwiki)環境構築DockerでAlmaLinux(web, php, pukiwiki)環境構築
DockerでAlmaLinux(web, php, pukiwiki)環境構築
 
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
Fluentdでログを集めてGlusterFSに保存してMapReduceで集計
 
日本語ではじめるDrupal Console in Sapporo
日本語ではじめるDrupal Console in Sapporo日本語ではじめるDrupal Console in Sapporo
日本語ではじめるDrupal Console in Sapporo
 
Al mininum 47redmine-2nd
Al mininum 47redmine-2ndAl mininum 47redmine-2nd
Al mininum 47redmine-2nd
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
Sencha & Delphi Ready Studiy
Sencha & Delphi Ready StudiySencha & Delphi Ready Studiy
Sencha & Delphi Ready Studiy
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
活動報告9 laravel5入門-
活動報告9  laravel5入門-活動報告9  laravel5入門-
活動報告9 laravel5入門-
 
Drupalサイトをセキュアに運用するには(入門編)
Drupalサイトをセキュアに運用するには(入門編)Drupalサイトをセキュアに運用するには(入門編)
Drupalサイトをセキュアに運用するには(入門編)
 
clominal
clominalclominal
clominal
 
VMを改めて学んで見る
VMを改めて学んで見るVMを改めて学んで見る
VMを改めて学んで見る
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 

Landoを利用したdrupal開発環境構築