11.8. Создание сайта для разработки

Last updated on
14 April 2025

Цель

Сделать копию сайта, которая может быть использована для разработки нового функционала и тестирования обновлений на нем.

Требования к сайту

  • У вас должен быть живой, разрабатываемый сайт, из которого вы хотите копию для разработки.
  • Если вы хотите использовать Drush для некоторых шагов в этой задаче, Drush должен быть установлен. Смотрите Раздел 3.2, «Основы: Дополнителные инструменты».

Шаги

  1. Пройдите шаги из Раздел 3.4, «Подготовка к установке», так чтобы у вас был хостинг для вашего сайта для разработки, вы должны знать, где ваш корень сайта для вашего сайта для разработки и иметь пустую базу данных и пользователя базы данных для вашего сайта для разработки.
  2. Следующий шаг, создайте дамп файл базы данных, с данными вашего сайта. Этот файл может быть большим, но

    есть два способа сократить размер дампа
    • Заархивируйте файл, используя gzip или другую утилиту для архивирования.
    • Исключите данные из таблиц кеша, используя очистку этих таблиц. Это временные данные и нам нужна только структура таблиц.

      Создайте дамп базы данных, используя один из следующих методов:

    • Если вы используете Drush, то используйте эту команду, которая будет включать только структуру а не контент таблиц кеша и используйте gzip для сжатия файла дампа:

      drush sql:dump --gzip --structure-tables-list="cache,cache_*" \
        --result-file='PATH/TO/BACKUPFILE.sql'
    • Если вы используете MySQL и имеете доступ к командной строке, то используйте эту команду после очистки таблиц кеша (с заменой на имя базы данных, пользователя и пароля базы данных вашего сайта):

      mysqldump -u'USERNAME' -p'PASSWORD' DATABASENAME | \
        gzip > PATH/TO/BACKUPFILE.sql.gz
    • Если вы используете MySQL для базы данных и сервер вашего живого сайта имеет phpMyAdmin (который доступен для многих панелей управления хостингом), вы можете очистить таблицы кеша выбрав их в списке таблиц phpMyAdmin и выбрав операцию Очистить внизу страницы. Тогда используйте вкладку Экспорт в phpMyAdmin для выгрузки в формат SQL, с сжатием gzip для уменьшения размера файла.
    • Используйте дополнительный модуль Backup and Migrate на живом сайте. Смотрите Раздел 11.3, «Загрузка функционала и установка модуля с Drupal.org» для инструкций по установке дополнительных модулей.

      Сейчас у вас есть копия базы данных, хранимая в файле BACKUPFILE.sql. По соображениям безопасности, избегайте хранение этого файла на вашем хостинге или на сервере внутри корня сайта Drupal. Это предотвратит получение другими людьми копии вашей базы данных.

  3. Скопируйте все файлы из корня сайта вашего живого сайта в корень сайта для разработки. Если вы хотите использовать Git для этого, тогда смотрите Раздел 11.11, «Управление файлами и конфигурационными редакциями с помощью Git».
  4. Отредактируйте файл sites/default/settings.php на вашем сайте для разработки в текстовом редакторе. Найдите строчки ближе к концу файла, которые содержат имя базы данных, пользователя и пароль, обновите их в соответствии с настройками базы данных вашего сайта для разработки. Строчки выглядят следующим образом (перед редактированием):

    $databases['default']['default'] = [
      'database' => 'live_site_database_name',
      'username' => 'live_site_database_username',
      'password' => 'live_site_database_password',
      ...
  5. Проверьте, что ваш файл settings.php имеет следующие настройки, если имеет, тогда вы должны отредактировать их в соответствии с URL адресом вашего сайта для разработки, вместо адреса живого сайта:

    $settings['trusted_host_patterns']
  6. Проверьте ваш файл settings.php имеет следующую настройку и здесь установлена строка со случайными символами. Если это не так, тогда вам нужно добавить или отредактировать настройку, чтобы не возникала ошибка:

    $settings['hash_salt'] = 'строка_с_любым_содержимым';

    Один из путей создания строки со случайными значениями для хэш соли с использованием следующей Drush команды:

    drush php-eval 'echo
      \Drupal\Component\Utility\Crypt::randomBytesBase64(55) . "\n";'

    Если вы не используете Drush, тогда воспользуйтесь одним из множества веб сайтов или приложений, которые генерируют случайные строки символов; вы можете сгенерировать строку примерно длинной в 74 символа.

  7. Импортируйте файл базы данных, который вы создали, в базу данных сайта для разработки. Попробуйте один из следующих методов:

    • Если вы используйте MySQL для базы данных и ваш сервер живого сайта имеет установленный phpMyAdmin (который доступен из многих панелей управоления хостингов), используйте вкладку Импортировать в phpMyAdmin. Вам возможно потребуется перезапустить вкладку импорта несколько раз, если ваша база данных была большой.
    • Если вы используете MySQL и имеете доступ к командной строке, то используйте эту команду (с заменой имя базы данных, пользователя и пароля, если вы сделали файл копии сжатым в gzip, вы должны сперва разархивировать его):

      gunzip < PATH/TO/BACKUPFILE.sql.gz | \
        mysql -u'USERNAME' -p'PASSWORD' DATABASENAME
    • Если вы предпочитаете использовать Drush, то используйте следующую команду:

      drush sql:query --file='PATH/TO/BACKUPFILE.sql.gz'
  8. Если ваш сайт для разработки и живой сайт должны иметь различную конфигурацию, тогда вы должны использовать перезаписанные конфигурации в файле settings.php. Переменная $config может помочь перезаписать значения отдельно от стандартных данных конфигурации. Например, вам может потребоваться имя сайта "Ярмарка города N" на живом сайте, но "Сайт Ярмарки города N для разработки" на сайте для разработки. Чтобы это сделать, вы должны иметь значение для живого сайта в конфигурации (в базе данных) и на сайте для разработки в файле settings.php, вам потребуется дописать:

    $config['system.site']['name'] = "Сайт Ярмарки города N  для разработки";

Расширьте свое понимание

Дополнительные материалы

Авторы

Написано и отредактировано Jennifer Hodgdon, Joe Shindelar из Drupalize.Me и Jojy Alphonso из Red Crackle.

Переведено Абраменко Иван из DrupalBook.

 

This page is generated from AsciiDoc source from the User Guide. To propose a change, edit the source and attach the file to a new issue in the User Guide project. PDF and e-book formats are available on the User Guide project page.

Source file: install-dev-making.asciidoc

Help improve this page

Page status: No known problems

You can: