[[install-dev-making]]
=== Создание сайта для разработки

[role="summary"]
Как создать копию живого сайта для разработки.

(((Сайт для разработки,создание)))
(((Тестовый сайт,создание)))

==== Цель

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

==== Необходимые знания

<<install-dev-sites>>

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

* У вас должен быть живой, разрабатываемый сайт, из которого вы хотите копию для
разработки.

* Если вы хотите использовать Drush для некоторых шагов в этой задаче, Drush должен быть
установлен. Смотрите <<install-tools>>.

==== Шаги

. Пройдите шаги из <<install-prepare>>, так чтобы у вас был хостинг для
вашего сайта для разработки, вы должны знать, где ваш корень сайта для вашего сайта для разработки и
иметь пустую базу данных и пользователя базы данных для вашего сайта для
разработки.

. Создайте файл копии базы данных с базы данных вашего живого сайта. Попробуйте один из
следующих методов:
+
  * Если вы используете MySQL как вашу базу данных и сервер вашего живого сайта имеет установленный
  phpMyAdmin (который доступен из многих панелей управоления хостингов),
  используйте вкладку _Экспортировать_ в phpMyAdmin для экспорта в _SQL_ формат. Используйте _gzip_
  сжатие для выходного файла, чтобы уменьшить размер файла.

  * Если вы используете MySQL и имеете доступ к командной строке, используйте следующую
  команду (с заменой имени вашей базы данных, имени пользователя и пароля):
+
----
mysqldump -u USERNAME -p'PASSWORD' DATABASENAME > BACKUPFILE.sql
----

  * Если вы предпочитаете использовать Drush, используйте следующую команду:
+
----
drush sql-dump > BACKUPFILE.sql
----

  * Используйте https://www.drupal.org/project/backup_migrate[дополнительный модуль Backup and Migrate]
  на живом сайте. Смотрите <<extend-module-install>> для инструкций по
  установке дополнительных модулей.
+
Сейчас у вас есть копия базы данных, хранимая в файле _BACKUPFILE.sql_. По соображениям
безопасности, избегайте хранение этого файла на вашем хостинге или на сервере внутри
корня сайта Drupal. Это предотвратит получение другими людьми копии вашей
базы данных.

. Скопируйте все файлы из корня сайта вашего живого сайта в корень сайта
для разработки. Если вы хотите использовать Git для этого, тогда смотрите
<<extend-git>>.

. Отредактируйте файл _sites/default/settings.php_ на вашем сайте для разработки
в текстовом редакторе. Найдите строчки ближе к концу файла, которые
содержат имя базы данных, пользователя и пароль, обновите
их в соответствии с настройками базы данных вашего сайта для разработки.
Строчки выглядят следующим образом (перед редактированием):
+
----
$databases['default']['default'] = array (
  'database' => 'live_site_database_name',
  'username' => 'live_site_database_username',
  'password' => 'live_site_database_password',
----

. Проверьте, что ваш файл _settings.php_ имеет следующие настройки, если имеет, тогда
вы должны отредактировать их в соответствии с URL адресом вашего сайта для разработки, вместо
адреса живого сайта:
+
----
$settings['trusted_host_patterns']
----

. Импортируйте файл базы данных, который вы создали, в базу данных сайта для
разработки. Попробуйте один из следующих методов:
+
  * Если вы используйте MySQL для базы данных и ваш сервер живого сайта имеет установленный
  PHPMyAdmin (который доступен из многих панелей управоления хостингов),
  используйте вкладку _Импортировать_ в PHPMyAdmin. Вам возможно потребуется перезапустить вкладку
  импорта несколько раз, если ваша база данных была большой.

  * Если вы используете MySQL и имеете доступ к командной строке, то используйте эту
  команду (с заменой имя базы данных, пользователя и пароля,
  если вы сделали файл копии сжатым в gzip, вы должны сперва разархивировать
  его):
+
----
mysql -u USERNAME -pPASSWORD  DATABASE_NAME < BACKUPFILE.sql
----
+
  * Если вы предпочитаете использовать Drush, то используйте следующую команду:
+
----
drush sql-query --file=BACKUPFILE.sql
----

. Если ваш сайт для разработки и живой сайт должны иметь различную конфигурацию, тогда
вы должны использовать перезаписанные конфигурации в файле _settings.php_. Переменная
_$config_ может помочь перезаписать значения отдельно от
стандартных данных конфигурации. Например, вам может потребоваться имя сайта
"Ярмарка города N" на живом сайте, но "Сайт Ярмарки города N
для разработки" на сайте для разработки. Чтобы это сделать, вы должны иметь
значение для живого сайта в конфигурации (в базе данных) и на
сайте для разработки в файле settings.php, вам потребуется дописать:
+
----
$config['system.site']['name'] = "Сайт Ярмарки города N  для разработки";
----

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

* Проверьте, что сайт для разработки работает корректно.

* Авторизуйтесь на сайте для разработки под администратором и очистите кэш. Смотрите
<<prevent-cache-clear>>.

* <<extend-deploy>>

* <<extend-git>>

// ==== Related concepts

==== Видео

// Video from Drupalize.Me.
video::https://www.youtube-nocookie.com/embed/FSBNm4oAkaA[title="Making a Development Site"]

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

* https://www.drupal.org/docs/7/backing-up-and-migrating-a-site/backing-up-a-site[_Drupal.org_ community documentation page "Backing up a site"]
* https://www.drupal.org/docs/develop/local-server-setup/how-to-create-a-test-site[_Drupal.org_ community documentation page "Create a Test Site"]


*Авторы*

Написано и отредактировано https://www.drupal.org/u/jhodgdon[Jennifer Hodgdon],
https://www.drupal.org/u/eojthebrave[Joe Shindelar] из
https://drupalize.me[Drupalize.Me] и
https://www.drupal.org/u/jojyja[Jojy Alphonso] из
http://redcrackle.com[Red Crackle].

Переведено https://www.drupal.org/u/levmyshkin[Абраменко Иван] из
https://www.technocrat.com.au/[Technocrat].
