LandoでDrupal環境を並行起動する

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を各ディレクトリに用意します。

```bash:.lando.yml
$ touch .lando.yml
$ vim .lando.yml
```
recipe:　はdrupalのバージョンにします。
portforward: のポート番号は重複不可なので番号をズラします。

```bash:.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\://dev１.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`
をインストール時に使います。

```bash: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: のポート番号は重複不可なので番号をズラします。