Настройка Drupal 9 Multisite локально с DDEV: Хостинг на Acquia с Acquia Pipelines
На моей текущей работе команда, которую я возглавляю, оказывает поддержку трем веб-сайтам крупной частной организации. Три веб-сайта размещены на Acquia. Веб-сайты являются частью конфигурации multisite, а исходный код управляется с помощью службы Acquia Pipelines.
В двух словах, Acquia Pipelines — это служба непрерывной интеграции и развертывания, предоставляемая Acquia, облачной платформой, которая обеспечивает хостинг, поддержку и управление веб-сайтами Drupal корпоративного уровня.
Что такое DDEV?
DDEV — это инструмент командной строки, который помогает разработчикам быстро и легко настраивать локальные среды разработки. Он предназначен для упрощения процесса настройки локального веб-сервера, управления зависимостями и конфигурации сред разработки. Если вы впервые работаете с DDEV, обязательно ознакомьтесь с этим постом, чтобы начать работу с DDEV.
Что такое Drupal multisite?
Drupal multisite — это функция, которая позволяет управлять несколькими веб-сайтами с использованием единой кодовой базы и базы данных Drupal. В конфигурации Drupal multisite несколько веб-сайтов используют одну установку Drupal, что может сократить время и затраты на обслуживание.
Каждый веб-сайт в конфигурации Drupal multisite имеет свой уникальный домен или субдомен и может иметь свою собственную тему, модули, контент и конфигурации. Однако они используют одну и ту же базовую кодовую базу и базу данных.
Drupal multisite полезен, когда вам нужно управлять несколькими веб-сайтами, которые используют схожую кодовую базу, тему или функциональность, например, сеть связанных веб-сайтов или несколько языковых версий веб-сайта. Это может упростить обслуживание веб-сайтов, снизить затраты и повысить согласованность между веб-сайтами.
Рецепт настройки локального multisite
- Вам нужно настроить проект с помощью DDEV. Ознакомьтесь с этим постом, чтобы начать.
- Расположение корневой папки, из которой обслуживается сайт, должно быть web/docroot. Вас спросят о расположении корневой папки при выполнении команды
ddev config
- Расположение корневой папки, из которой обслуживается сайт, должно быть web/docroot. Вас спросят о расположении корневой папки при выполнении команды
- В папке .ddev создайте файл с именем config.multisite.yaml
- Файл config.multisite.yaml должен содержать следующее содержимое:
additional_hostnames:
- site1
- site2
- site3
- Обновите файл sites.php, чтобы добавить три локальных домена и их соответствующие папки.
Файл sites.php — это конфигурационный файл, который позволяет сопоставлять доменные имена или URL-адреса с конкретными каталогами сайтов Drupal.
$sites['site1.ddev.site'] = 'site1_directory';
$sites['site2.ddev.site'] = 'site2_directory';
$sites['site3.ddev.site'] = 'site3_directory';
- Создайте три базы данных с помощью PHPMyAdmin. Если имя проекта DDEV было mysite, вы можете получить доступ к phpmyadmin по адресу https://mysite.ddev.site:8037/
- Экспортируйте резервные копии баз данных из Acquia и импортируйте их в соответствующие базы данных, которые вы создали в рамках шага 4.
- Если базы данных большие, вы можете использовать команду ddev для их импорта:
ddev import-db --target-db=DATABASE_NAME --src=.tarballs/DB-BACKUP_FILE.sql.gz
- Если базы данных большие, вы можете использовать команду ddev для их импорта:
- В каталоге каждого файла вам нужно добавить этот файл DDEV.
- Файл settings.php каждого сайта необходимо обновить, чтобы включить код из этого файла.
- Выполните команду
ddev ssh
, а затемcomposer install
- команда
ddev ssh
позволяет получить доступ к командной строке (CLI) работающего веб-контейнера ddev, чтобы вы могли запускать composer, drush и другие команды изнутри веб-контейнера.
- команда