Перенос действующего сайта Drupal 7 на локальный хостинг

18-05-2020

При обновлении, модификации сайта на CMS Drupal 7 я советую работать на локальной копии сайта. И уже после внесения всех изменений и тестирования работоспособности, обновлять рабочий сайт. Также напоминаю ВСЕГДА делайте резервные копии. И рано или поздно, но придет день, когда вы поймете почему. Этот день приходит ко всем разработчикам сайтов или другого программного обеспечения.

И так, делаем все по порядку и ничего не пропускаем.

  1. Проверяем первым делом раздел модули в админке вашего сайта, если есть модули, которые надо обновить, обновляем их.
  2. Заходим в панель управления хостингом (обычно у клиентов это cPanel), выбираем "Диспетчер файлов" в разделе "Файлы". Находим свой сайт (заходим в корень сайта), выбираем все и делаем архив всех данных. После этого скачиваем архив к себе на компьютер.
  3. Дальше в cPanel раздел "Базы данных" выбираем "phpMyAdmin", находим свою базу данных и также экспортируем её себе на компьютер.
  4. На данный момент мы имеем архив со всеми файлами сайта и базу данных на своем компьютере. Теперь надо это все перенести на локальный сервер и ПРАВИЛЬНО НАСТРОИТЬ(как раз у многих не получается из-за того что не могут правильно все настроить и бросают это дело).
  5. Я обычно использую в работе Windows 10 и Openserver (иногда правда по настроению связку Ubuntu 18.04 + Docker), поэтому буду придерживаться рассказа как я делаю в Openserver. ВНИМАНИЕ! Обязательно сравните версии PHP и базы данных у себя на хостинге и в настройках локального сервера. Они должны быть одинаковыми!
  6. Заходим в папку "domains" и создаем папку для сайта. ВНИМАНИЕ! Не важно как она на самом деле будет выглядеть (но однозначно не так как ваш сайт - sitename.com). Это может быть: sitename, sitename.localhost и т.д. Почему нельзя назвать папку домена также? Да просто потому что вбивая при работе в браузере адрес вы будете переходить на действующий сайт. Да и если у вас все получится, потом могут быть нюансы с кешем. Вам разве нужны трудности?
  7. Создаем на своем локальном хостинге с помощью phpMyAdmin новую базу данных (имя можно оставить такое-же, так проще потом её находить и править меньше потом). После этого во вкладке "Импорт" загружаем её.
  8. Дальше можно создать пользователя базы данных и присвоить ему все привилегии по данной базе или просто взять пользователя root который уже есть по умолчанию (эти данные нам понадобятся для редактирования файла setting.php (находится если идти из корня сайта sites/default/setting.php).
  9. Сохраняем свой оригинальный файл .htaccess и заменяем его на оригинальный .htaccess (Можно скачать архив с drupal 7 и взять его там). Это надо сделать чтобы избежать ошибок, когда все сделали, а сайт так и не запускается.
  10. Правим файл setting.php. Обычно я его выношу в другую рабочую папку, редактирую и после уже заменяю в папке с проектом. Если у вас будут проблемы с правами доступа, как вариант, откройте данный файл в папке проекта и отредактируйте его на месте (например программа - "Visual Studio Code" даем возможность перезаписать данный файл). Находим следующий кусок кода в файле setting.php и вносим в него изменения (с теми настройками которые есть уже на хостинге, сайт у вас НИКОГДА не запустится).
$databases['default']['default'] = array (
  'database' => 'your_name_database',
  'username' => 'your_user_database',
  'password' => 'password_your_user',
  'prefix' => '',
  'host' => 'localhost', 
  'port' => '3306',
  'driver' => 'mysql',
);
  • 'database' - имя вашей базы данных;
  • 'username' - имя созданного вами пользователя или root;
  • 'password' - пароль пользователя;
  • 'prefix' - не трогайте данную настройку если это значение не пустое;
  • 'host' - 'localhost' или 127.0.0.1 (обычно этот вариант лучше работает и позволяет вам нормально пользоваться командами Drush);
  • 'port' - '3306' (это стандартная настройка Openserver, но если у вас не работает, то скорее всего у вас в системе уже запущена другая база данных, поэтому просто войдите в настройки Openserver и замените например 3306 на 3300);
  • 'driver' - 'mysql' или какая у вас там база данных.

Если у вас есть дополнения к данной инструкции, пишите в комментариях. Надеюсь теперь ваша работа с сайтами на Drupal 7 будет немного проще.

Похожие статьи