Landoでlocal環境を作って壊す作業を繰り返しているとそれも手間と感じる。
いろんなアプリ環境を試したりDrupalをバージョンごとに複数環境を置きたい場合もある。
##Drupal9をインストール
$ composer create-project drupal/recommended-project dev1 && cd dev1
Drupal8や古いバージョンを試したい時は、少しインストールの仕方が違います。
$ mkdir dev1 && cd dev1
$ lando init \
--source remote \
--remote-url https://ftp.drupal.org/files/projects/download-latest/tar.gz \
--remote-options="--strip-components 1" \
--recipe drupal9 \
--webroot . \
--name dev1
.lando.ymlを各ディレクトリに用意します。
.lando.yml
$ touch .lando.yml
$ vim .lando.yml
recipe: はdrupalのバージョンにします。
portforward: のポート番号は重複不可なので番号をズラします。
.lando.yml
name: dev1
recipe: drupal9
config:
webroot: web
php: '7.4'
services:
appserver:
build_as_root:
- apt update -y && apt-get install vim -y
dev1db:
type: mysql:5.7
portforward: 33070
lando start
http://dev1.lndo.site/でアクセスすると並行起動してもログインが維持される。
NAME dev1
LOCATION /Users/*****/lando/dev1
SERVICES appserver, database, dev1db
APPSERVER URLS https://localhost:54217
http://localhost:54218
http://dev1.lndo.site/
https://dev1.lndo.site/
##databaseの確認
hostはdev1db
database名はdatabase
userとpasswordはmysql
をインストール時に使います。
lando.info
[ { service: 'appserver',
urls:
[ 'https://localhost:54217',
'http://localhost:54218',
'http://dev1.lndo.site/',
'https://dev1.lndo.site/' ],
type: 'php',
healthy: true,
via: 'apache',
webroot: 'web',
config: { php: '/Users/*****/.lando/config/drupal9/php.ini' },
version: '7.4',
meUser: 'www-data',
hasCerts: true,
hostnames: [ 'appserver.dev.internal' ] },
{ service: 'database',
urls: [],
type: 'mysql',
healthy: true,
internal_connection: { host: 'database', port: '3306' },
external_connection: { host: '127.0.0.1', port: '54216' },
healthcheck: 'bash -c "[ -f /bitnami/mysql/.mysql_initialized ]"',
creds: { database: 'drupal9', password: 'drupal9', user: 'drupal9' },
config: { database: '/Users/*****/.lando/config/drupal9/mysql.cnf' },
version: '5.7',
meUser: 'www-data',
hasCerts: false,
hostnames: [ 'database.dev.internal' ] },
{ service: 'devdb',
urls: [],
type: 'mysql',
healthy: true,
internal_connection: { host: 'dev1db', port: '3306' },
external_connection: { host: '127.0.0.1', port: '33070' },
healthcheck: 'bash -c "[ -f /bitnami/mysql/.mysql_initialized ]"',
creds: { database: 'database', password: 'mysql', user: 'mysql' },
config: {},
version: '5.7',
meUser: 'www-data',
hasCerts: false,
hostnames: [ 'devdb.dev.internal' ] } ]
##別ディレクトリでDrupal8インストール
$ composer create-project drupal/recommended-project drupal8 && cd drupal8
$ cd drupal8
$ lando init \
--source remote \
--remote-url https://ftp.drupal.org/files/projects/drupal-8.9.0.tar.gz \
--remote-options="--strip-components 1" \
--recipe drupal8 \
--webroot . \
--name drupal8
後はdrupa9の設定と同じです。
.lando.ymlを各ディレクトリに用意し、lando.ymlはrecipe: はdrupalのバージョンにします。
portforward: のポート番号は重複不可なので番号をズラします。