Local Development (DDEV)
Pre-steps
New Git repo:
ddev config --project-type=drupal11 --docroot=public_html
ddev start
ddev composer create drupal/recommended-project:^11 --no-install
sed -i 's/web\//public_html\//' composer.json
ddev composer install
ddev composer require drush/drush
ddev drush site:install --account-name=admin --account-pass=admin --locale=nl -y
ddev drush config:get system.site uuid | awk '{print $2}' | head -1 > site.id # Obtaining site.id for publishing site config to tst/prd
sed -i "s/# \$settings\['config_sync_directory'\] = '\/directory\/outside\/webroot';/\$settings\['config_sync_directory'\] = '..\/config\/sync';/" public_html/sites/default/settings.php
ddev drush config:export
ddev launch $(ddev drush uli)
- Initialize new repo.
- Take care that repo directory is empty, only .git should be there.
- Run:
- When the website is launched, change the password if deemed necessary
- Add .gitignore with:
.ddev/
public_html/
recipes/
vendor/
Existing Repo:
- Clone the repo
- Verify composer.json (web root = pubclic_html)
- Run:
ddev config --project-type=drupal11 --docroot=public_html
ddev start
ddev composer install
ddev drush site:install --account-name=admin --account-pass=admin --locale=nl -y
site_id=$(cat site.id)
ddev drush config:set system.site uuid $site_id -y
sed -i "s/# \$settings\['config_sync_directory'\] = '\/directory\/outside\/webroot';/\$settings\['config_sync_directory'\] = '..\/config\/sync';/" public_html/sites/default/settings.php
ddev drush config:delete shortcut.set.default -y
nl_uuid=$(grep uuid config/sync/language.entity.nl.yml | awk '{print $2}')
ddev drush config:set language.entity.nl uuid $nl_uuid
ddev drush config:import -y
ddev launch $(ddev drush uli)