Test ddev drupal 7

Vers ddev : commandes fréquentes

Install et conf

Installation du drupal :

  • composer create-project drupal-composer/drupal-project:7.x-dev drupal
  • ou récupérer son projet avec git ; importer db (formats sql, sql.gz, tar, tar.gz, ou zip)ddev import-db --src=dumpfile.sql.gz

Mais ici, je vais partir d'un site en prod, qui n'a pas été créé/géré avec composer, et le récupérer dans un ddev.

1. Je vais récup une copie local, copiée en ddev2/rgandi

chown -R nom-user:docker rgandi/
chmod -R 764 rgandi
cd rgandi
vi sites/sites.php
cp sites/nom-site/settings.php sites/nom-site/settings.phpPROD
vi sites/nom-site/settings.php

le site.php

// to map http://www.drupal.org:8080/mysite/test  utiliser
// '8080.www.drupal.org.mysite.test' => 'example.com',
$sites = array(
  '8087.site02.ddev.local' => 'sous-site',
  '8087.site01.ddev.local' => 'default'
  );

2. ddev config

Creating a new ddev project config in the current directory (//pathto/rgandi) 
Once completed, your configuration will be written to //pathto/.ddev/config.yaml

-> y changer de suite le port (par ex :8087) et additional_hostnames: []

 

J'ai un export .sql à importer :  ddev import-db --src=../db_de_gandi/backup.sql

mais il ne tourne pas... Un ddev start donne :

  • Creating ddev-rgandi-db ... done  Creating ddev-rgandi-web ... done     Creating ddev-rgandi-dba ... done
    Network ddev_default is external, skipping  Creating ddev-router ... done  
  • Failed to start rgandi: ddev-router failed to become ready: health check timed out

Et  rgandi/.ddev/docker-compose.yaml  créé

 

J'ai un export .sql à importer :  ddev import-db --src=../db_de_gandi/backup.sql

ddev describe

rgandi tourne, DDEV ROUTER STATUS: unhealthy
(Normal, ddev a créé tout à db et en plus mon additional_hostnames est foireux... Je le simplifie/modifie en additional_hostnames: [unseulsite] )
on y voit port et commande sql (ex: mysql --host=127.0.0.1 --port=32768 --user=db --password=db --database=db), remplacer par root/root => mysql --host=127.0.0.1 --port=32768 --user=root --password=root

CREATE DATABASE dru7 CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER dru7 IDENTIFIED BY 'dru7';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON dru7.* TO 'dru7'@'localhost' IDENTIFIED BY 'dru7';
CREATE DATABASE gan CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER gan IDENTIFIED BY 'gan';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON gan.* TO 'gan'@'localhost' IDENTIFIED BY 'gan';
FLUSH PRIVILEGES;
\q

ddev list ; ddev stop rgandi ; ddev start

ca marche... ddev describe montre db/db/db ? mais avec phpmyadmin, les tables des sites "dru7" y sont bien. Pas de trace de gan (qui pourtant existe bien)...

ddev describe
mysql --host=127.0.0.1 --port=XXX --user=root --password=root
SHOW DATABASES ;
USE gan;
SOURCE HOSTenv??? ../db_de_gandi/gan.sql;

ddev a créé en sites/default un settings.local.php qui a les db/db (un $drupal_hash_sal ... ):) et le commentaire important :

/**
 #ddev-generated: Automatically generated Drupal settings.php file.
 ddev manages this file and may delete or overwrite the file unless this comment is removed.
 */

Bien sur, j'efface ce commentaire pour remodifier mes divers settings.php

ddev exec drush status

 

les .json

ddev ssh ; composer search drupal/metatag -vvv

  • /home/.composer/composer.json                               -> drush/drush": "8.1.15"

 

Utilisation

drush --uri=bjenny.ddev.local:8087 st

=> alias créé @jen en /var/www/html/sites/all/drush/aliases.drushrc.php

Penser à créer un ~/.bashrc (pour avoir les bon PATH, alias tel ll...)

Plus sur le web

https://ddev.readthedocs.io/en/latest/users/cli-usage/#drupal-67-quickstart

https://stackoverflow.com/questions/49785023/how-can-i-create-and-load-a...

logo drush