Назад к блогу

Настройка Drupal 9 Multisite локально с DDEV: Хостинг на Acquia с Acquia Pipelines

2023-03-123 мин чтения

На моей текущей работе команда, которую я возглавляю, оказывает поддержку трем веб-сайтам крупной частной организации. Три веб-сайта размещены на 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

  1. Вам нужно настроить проект с помощью DDEV. Ознакомьтесь с этим постом, чтобы начать.
    • Расположение корневой папки, из которой обслуживается сайт, должно быть web/docroot. Вас спросят о расположении корневой папки при выполнении команды ddev config
  2. В папке .ddev создайте файл с именем config.multisite.yaml
  3. Файл config.multisite.yaml должен содержать следующее содержимое:
additional_hostnames:
  - site1
  - site2
  - site3
  1. Обновите файл sites.php, чтобы добавить три локальных домена и их соответствующие папки.

Файл sites.php — это конфигурационный файл, который позволяет сопоставлять доменные имена или URL-адреса с конкретными каталогами сайтов Drupal.

$sites['site1.ddev.site'] = 'site1_directory';
$sites['site2.ddev.site'] = 'site2_directory';
$sites['site3.ddev.site'] = 'site3_directory';
  1. Создайте три базы данных с помощью PHPMyAdmin. Если имя проекта DDEV было mysite, вы можете получить доступ к phpmyadmin по адресу https://mysite.ddev.site:8037/
  2. Экспортируйте резервные копии баз данных из Acquia и импортируйте их в соответствующие базы данных, которые вы создали в рамках шага 4.
    • Если базы данных большие, вы можете использовать команду ddev для их импорта: ddev import-db --target-db=DATABASE_NAME --src=.tarballs/DB-BACKUP_FILE.sql.gz
  3. В каталоге каждого файла вам нужно добавить этот файл DDEV.
  4. Файл settings.php каждого сайта необходимо обновить, чтобы включить код из этого файла.
  5. Выполните команду ddev ssh, а затем composer install
    • команда ddev ssh позволяет получить доступ к командной строке (CLI) работающего веб-контейнера ddev, чтобы вы могли запускать composer, drush и другие команды изнутри веб-контейнера.

Категории: