Een Drupal 9 Multisite Lokaal Opzetten met DDEV: Gehost op Acquia met Acquia Pipelines
In mijn huidige baan ondersteunt het team dat ik leid drie websites van een grote particuliere organisatie. De drie websites worden gehost op Acquia. De websites maken deel uit van een multisite-opstelling en de broncode wordt beheerd met de Acquia Pipelines service.
Kortom, Acquia Pipelines is een continue integratie- en implementatieservice die wordt aangeboden door Acquia, een cloudgebaseerd platform dat hosting, ondersteuning en beheer op ondernemingsniveau biedt voor Drupal-websites.
Wat is DDEV?
DDEV is een command-line tool die ontwikkelaars helpt om snel en eenvoudig lokale ontwikkelomgevingen op te zetten. Het is ontworpen om het proces van het opzetten van een lokale webserver, het beheren van afhankelijkheden en het configureren van ontwikkelomgevingen te vereenvoudigen. Als dit de eerste keer is dat je met DDEV werkt, zorg er dan voor dat je deze post bekijkt om aan de slag te gaan met DDEV.
Wat is een Drupal multisite?
Drupal multisite is een functie waarmee meerdere websites kunnen worden beheerd met behulp van één enkele Drupal codebase en database. In een Drupal multisite-opstelling delen meerdere websites één Drupal-installatie, wat onderhoudstijd en -kosten kan verminderen.
Elke website in een Drupal multisite-configuratie heeft zijn eigen unieke domein of subdomein en kan zijn eigen thema, modules, inhoud en configuraties hebben. Ze delen echter dezelfde kerncodebase en database.
Drupal multisite is nuttig wanneer je meerdere websites moet beheren die een vergelijkbare codebase, thema of functionaliteit delen, zoals een netwerk van gerelateerde websites, of meerdere taalversies van een website. Het kan het websiteonderhoud vereenvoudigen, kosten verlagen en consistentie tussen websites verbeteren.
Het recept om de lokale multisite in te stellen
- Je moet het project instellen met DDEV. Bekijk deze post om te beginnen.
- De docroot-locatie van waaruit de site wordt geserveerd, moet web/docroot zijn. Je krijgt een vraag over de docroot-locatie wanneer je het commando
ddev config
uitvoert.
- De docroot-locatie van waaruit de site wordt geserveerd, moet web/docroot zijn. Je krijgt een vraag over de docroot-locatie wanneer je het commando
- Maak in de .ddev-map een bestand met de naam config.multisite.yaml
- Het bestand config.multisite.yaml moet de volgende inhoud hebben:
additional_hostnames:
- site1
- site2
- site3
- Werk het sites.php-bestand bij om de drie lokale domeinen en hun bijbehorende mappen toe te voegen.
Het sites.php-bestand is een configuratiebestand waarmee je domeinnamen of URL's kunt koppelen aan specifieke Drupal-site-mappen.
$sites['site1.ddev.site'] = 'site1_directory';
$sites['site2.ddev.site'] = 'site2_directory';
$sites['site3.ddev.site'] = 'site3_directory';
- Maak drie databases met behulp van PHPMyAdmin. Als de naam van het DDEV-project mysite zou zijn, kun je phpmyadmin bereiken op https://mysite.ddev.site:8037/.
- Exporteer databaseback-ups van Acquia en importeer ze in de bijbehorende databases die je hebt gemaakt als onderdeel van stap 4.
- Als de databases groot zijn, kun je een ddev-commando gebruiken om ze te importeren:
ddev import-db --target-db=DATABASE_NAME --src=.tarballs/DB-BACKUP_FILE.sql.gz
- Als de databases groot zijn, kun je een ddev-commando gebruiken om ze te importeren:
- In de map van elk bestand moet je dit ddev-bestand toevoegen.
- Het settings.php-bestand van elke site moet worden bijgewerkt om de code van dit bestand op te nemen.
- Voer
ddev ssh
uit en daarnacomposer install
- het
ddev ssh
commando geeft je toegang tot de command-line interface (CLI) van een draaiende ddev webcontainer, zodat je composer, drush en andere commando's vanuit de webcontainer kunt uitvoeren.
- het