LoginSignup
0
0

More than 1 year has passed since last update.

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

Last updated at Posted at 2021-07-24

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0