11.8. Создание сайта для разработки
Сделать копию сайта, которая может быть использована для разработки нового функционала и тестирования обновлений на нем.
- У вас должен быть живой, разрабатываемый сайт, из которого вы хотите копию для разработки.
- Если вы хотите использовать Drush для некоторых шагов в этой задаче, Drush должен быть установлен. Смотрите Раздел 3.2, «Основы: Дополнителные инструменты».
- Пройдите шаги из Раздел 3.4, «Подготовка к установке», так чтобы у вас был хостинг для вашего сайта для разработки, вы должны знать, где ваш корень сайта для вашего сайта для разработки и иметь пустую базу данных и пользователя базы данных для вашего сайта для разработки.
Следующий шаг, создайте дамп файл базы данных, с данными вашего сайта. Этот файл может быть большим, но
- есть два способа сократить размер дампа
- Заархивируйте файл, используя 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. Это предотвратит получение другими людьми копии вашей базы данных.
- Скопируйте все файлы из корня сайта вашего живого сайта в корень сайта для разработки. Если вы хотите использовать Git для этого, тогда смотрите Раздел 11.11, «Управление файлами и конфигурационными редакциями с помощью Git».
Отредактируйте файл sites/default/settings.php на вашем сайте для разработки в текстовом редакторе. Найдите строчки ближе к концу файла, которые содержат имя базы данных, пользователя и пароль, обновите их в соответствии с настройками базы данных вашего сайта для разработки. Строчки выглядят следующим образом (перед редактированием):
$databases['default']['default'] = [ 'database' => 'live_site_database_name', 'username' => 'live_site_database_username', 'password' => 'live_site_database_password', ...
Проверьте, что ваш файл settings.php имеет следующие настройки, если имеет, тогда вы должны отредактировать их в соответствии с URL адресом вашего сайта для разработки, вместо адреса живого сайта:
$settings['trusted_host_patterns']
Проверьте ваш файл settings.php имеет следующую настройку и здесь установлена строка со случайными символами. Если это не так, тогда вам нужно добавить или отредактировать настройку, чтобы не возникала ошибка:
$settings['hash_salt'] = 'строка_с_любым_содержимым';
Один из путей создания строки со случайными значениями для хэш соли с использованием следующей Drush команды:
drush php-eval 'echo \Drupal\Component\Utility\Crypt::randomBytesBase64(55) . "\n";'
Если вы не используете Drush, тогда воспользуйтесь одним из множества веб сайтов или приложений, которые генерируют случайные строки символов; вы можете сгенерировать строку примерно длинной в 74 символа.
Импортируйте файл базы данных, который вы создали, в базу данных сайта для разработки. Попробуйте один из следующих методов:
- Если вы используйте 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'
Если ваш сайт для разработки и живой сайт должны иметь различную конфигурацию, тогда вы должны использовать перезаписанные конфигурации в файле settings.php. Переменная $config может помочь перезаписать значения отдельно от стандартных данных конфигурации. Например, вам может потребоваться имя сайта "Ярмарка города N" на живом сайте, но "Сайт Ярмарки города N для разработки" на сайте для разработки. Чтобы это сделать, вы должны иметь значение для живого сайта в конфигурации (в базе данных) и на сайте для разработки в файле settings.php, вам потребуется дописать:
$config['system.site']['name'] = "Сайт Ярмарки города N для разработки";
- Проверьте, что сайт для разработки работает корректно.
- Авторизуйтесь на сайте для разработки под администратором и очистите кэш. Смотрите Раздел 12.2, «Очистка кэша».
- Раздел 11.9, «Развертывание новых функций сайта»
- Раздел 11.11, «Управление файлами и конфигурационными редакциями с помощью Git»
Авторы
Написано и отредактировано Jennifer Hodgdon, Joe Shindelar из Drupalize.Me и Jojy Alphonso из Red Crackle.
Переведено Абраменко Иван из DrupalBook.
Source file: install-dev-making.asciidoc
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion