Этот урок — продолжение первой части — "Как сделать бэкап WordPress-сайта". Теперь рассмотрим обратную процедуру. Я опишу, как восстановить WordPress-сайт из бэкапа и развернуть его на другом сервере с другим доменом.
Сразу оговорюсь, что выполнение этого урока требует немного большей подготовки, чем в первом случае. Нам предстоит вручную править .php файлы, импортировать таблицы в базу данных через phpMyAdmin и загружать весь контент по FTP-соединению.
Внимание:
Ну что же, давайте попробуем.
Предыстория
Итак, допустим у нас был вот такой WordPress-сайт с набитым тестовым контентом, оформленный на замечательной теме iTheme2.
В описанной далее ситуации я рассмотрю один из худших возможных сценариев.
Мы воспользовались бэкап-плагином wp Time Machine, и все, что у нас осталось — это папочка backup да всего 5 файлов (если эти файлы лежат у вас на ящике Dropbox, загрузите их на компьютер, они нам сейчас понадобятся).
А сайта больше нет, как и всего содержимого. И домена нет... А восстановить надо!
Подготовка
Процедура восстановления будет построена следующим образом. Для чистоты эксперимента я зарегистрировал новый бесплатный домен в зоне .pp.ua. Хостинг у меня уже был, поэтому я просто привязал домен к хостингу.
Нам нужно будет создать новую базу данных, куда мы импортируем все записи из старого сайта. Потом мы на компьютере "слепим" сам сайт с движком WordPress и его потрохами (папка wp-content). И потом зальем сайт через FTP на новый хостинг.
Создаем новую Базу Данных
В папке бэкапа есть файл wpTimeMachine-data-files.sql. В нем хранится набор инструкций на языке SQL для импорта таблиц и значений в базу данных. Но, чтобы импортировать эти таблицы и значения, нужно сначала создать Базу Данных, а потом в нее импортировать.
Воспользуйтесь консолью управления вашего нового (или текущего) сайта, чтобы создать новую БД. Имя базы роли не играет, как и имя пользователя. Главное, чтобы это была новая база с уникальным пользователем и паролем.
В cPanel это находится тут:
На Plesk-e — тут:
Создайте новую Базу Данных и добавьте к ней нового Пользователя.
Импорт Базы Данных
Перед импортом файла wpTimeMachine-data-files.sql надо его немного отредактировать. Дело в том, что внутри в некоторых значениях хранятся ссылки на старый домен. Т.к. по нашему сценарию его больше не существует, обновим эти ссылки на новый домен.
Откройте файл текстовым редактором с поддержкой разметки языка SQL (например Notepad++) и замените значение старого домена на новый.
Теперь файл .sql готов к импорту в новую Базу Данных.
Открываем phpMyAdmin (или через cPanel, или через Plesk, или обратитесь к хостинг-провайдеру для этой процедуры). Слева выбираем нашу новую Базу, жмем на Import в верхней панели и указываем на отредактированный файл wpTimeMachine-data-files.sql. Другие параметры менять не нужно, просто жмем Go.
Если вы все сделали правильно, то слева появится структура БД с импортированными таблицами, и вы увидите следующее сообщение:
Теперь можем закрыть phpMyAdmin, он нам больше не понадобится.
На этом работа с Базой Данных закончена. Переходим к следующему этапу.
"Собираем" сайт
Теперь займемся файловой структурой самого сайта.
Распакуйте архив wpTimeMachine-content-files.zip из папки бэкапа. Внутри архива может быть несколько подкаталогов, нам нужно добраться до папки wp-content. В ней хранятся все наши темы, загруженные плагины, изображения и медиафайлы. Но одной этой папки не достаточно для работы сайта. Нужен сам движок WordPress.
Загрузите отсюда последнюю версию WordPress и распакуйте архив. Внутри архива среди всех файлов WordPress-а уже будет папка wp-content. Удалите ее и замените папкой wp-content из архива бэкапа.
wp-config.php
Теперь в нашем каталоге уже есть движок WordPress и папка с контентом wp-content. Но для работы сайта еще не хватает файла wp-config.php. Он не включается в архив бэкапа потому, что в нем хранится информация о привязке к старой Базе Данных. Не беда, восполним упущенное!
Загрузите файл wp-config.php и отредактируйте следующие значения:
Укажите Базу Данных, ее Пользователя и Пароль. Эту информацию вы указывали на этапе создания новой БД.
Затем перейдите по этой ссылке:
и скопируйте полученные ключи безопасности в файл wp-config.php несколькими строками кода ниже:
Сохраните файл wp-config.php и поместите его в папку с остальными файлами сайта.
.htaccess
Остался последний штрих. Возьмите файл wpTimeMachine-htaccess.txt и переименуйте его в .htaccess
Обратите внимание, что у файла не должно быть расширения .txt !
Что это за файл и зачем он нужен — вы можете почитать, например, здесь. Полученный файл поместите в каталог с остальными файлами сайта. В итоге ваша файловая структура WordPress-сайта должны выглядеть вот так:
Загрузка сайта на сервер
Теперь осталось только поместить все эти файлы на хостинг-сервер, чтобы сайт заработал на новом домене. Это можно сделать 2-мя путями:
- Установите FTP-соединение с сервером и просто загрузите файлы на сайт (здесь инструкция по установке FTP-соединения).
- Или зайдите в Менеджер файлов сайта через консоль управления (cPanel, Plesk, etc.), если у вас есть такое право доступа, и загрузите файлы через веб-интерфейс.
Выберите тот вариант, который вам удобнее.
На этом все. Зайдите на новый сайт и убедитесь, что все работает как и раньше.
Внимание:
На нашем хостинге Вы можете восстановить любой свой сайт из бэкапов за 30 последних дней, бесплатно!
Комментарии к записи: 25
Жаль не описывается как восстановить из бекапа не myphpadmin’а, а самого wordpress’а.
Класс! Но у меня это весь день займет)))
А как восстановить config.php? вставила в этот файл код плагина Hyper Cache/ Но у меня ничего не получилось. Вернула на место резервную копию документа, однако сайт мой не открывается а выходит ошибка:Parse error: syntax error, unexpected $end in /home/vkusnoed/public_html/wp-config.php on line 1. Как можно восстановить свой сайт? Подскажете? Спасибо.
wp-config.php восстанавливать не надо. В этом уроке есть ссылка на скачивание этого файла, все что нужно дописать внутри — это имя пользователя БД, саму БД и пароль. И все. Просто скопируйте готовый файл на свой сайт.
У меня обнулился файл .htaccess в теме WordPress — Wp_real_estate. Что можно предпринять для его восстановления?
Запросите бэкап у своего хостинг провайдера, оттуда можно извлечь нужный файл.
Спасибо за полезную информацию. Дай Бог, чтобы это не пригодилось!
У меня вопрос, а как восстановить вордпресс и весь контент, если имеются все папки просто в зиповском архиве (которые были сохранены из public_html в cpanel)? Я заменил папку wp-content на свою и поменял конфигурации в wp-config.php. А дальше что? Так получается что у меня нету файла wpTimeMachine-htaccess.txt
То, что вы сохранили из public_html — это голый движок WordPress плюс файлы тем/плагинов и все медиафайлы. Весь контент хранится в базе данных. Если у вас нет бэкапа базы, контент вы никак не восстановите.
Я делал копию вроде как всего сайта. В панелей Cpanel через мастер резервного копирования. Я сделал копию домашнего каталога. То есть помимо public HTML у меня еще куча других папок. Если это меняет дело, то что мне делать дальше? Может какой то конкретный файл надо установить? Я создал новую базу данных в MySQL , теперь мне надо ее снести и установить старую или что то еще? И где Васе это искать? Дело в том что когда я загружаю на сайт копию через мастер копирования то ничего не работает, поэтому может можно вручную по отдельности все загрузить?
Если у вас нет копии старой базы данных (файл .sql с содержанием всего контента, полученный от бэкап-плагина или вручную через экспорт БД из phpMyAdmin) то все старания напрасны.
В главной папке помимо public HTML есть 3 файла с расширением SQL, как понять какой из них мне устанавливать или возможно он находится еще в какой то папке? Как определить этот файл?
В общем, я установил заново wordpress, поменял в нем папку с контентом (wp-content взял из бекапной версии), поменял файл с конфигурациями (как написано выше), и добавил базу данных в phpMyAdmin (ее взял в бекапной папке wordpress — mysql — название базы данных, как при создании в панеле cpanel). Через какое-то время все ссылки на сайте стали работать. Надеюсь что все правильно и ничего не полетит.
А я вот сменил шаблон, но хочу вернуться к прежнему. Пытаюсь загрузить его через консоль, но пишет, что поскольку такая папка (с названием темы) уже есть, то установка невозможна. Что делать?
Удалить папку со старой темой вручную через ФТП.
Попытался восстановить сайт из бэкапа по описанной схеме. Сайт работает, но некорректно. Появилась ошибка плагина wp-useronline и весь текстовый контент отображается в виде непонятных символов. Как решить эту проблему?
Скорее всего проблема возникла в кодировке при сохранении (восстановлении) дампа базы данных. Уделите этому внимание.
Спасибо!!!!!!!!!!!!!!!!!!!!!!
Очень важный материал. Я прямо по материалам статьи переносил сайт к себе на локальный хостинг (опенсервер). А вот обратно на hostenko.com помогали Дмитрий Сумин и еще кто-то.
Было бы здоровье, как сказал Сумин описать процесс обновления дизайна сайта прямо на хостинге. Пошагово, чтобы потом не ломать голову с переносом туда-сюда.
спасибо
не могу сделать импорт базы данных в админ панели выдает ошибку «соединение разорвано»?
Request Entity Too Large
The requested resource
/phpmyadmin/import.php
does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit.
можно как то подругому ее скинуть?
Перекинул сайт.
Все работает корректно.
В ПУ Plesk не отображается wordpress. Кнопки «войти, управлять плагинами и т.д.»
Как отобразить панель, что не входить в ПУ WordPress’a вводя каждый раз адресс site.ru/wp-admin
Делаю все по вашей инструкции, но в итоге при переходе в wp-admin ошибка 404. Подскажите, в чем может быть причина?
Добрый день.
Ошибка может возникать по разным причинам. Ошибка может быть вызвана настройками плагинов, либо неправильной конфигурацией файла .htaccess, wp-admin.php и т.д. Вы можете посмотреть логи ошибок вашего сайта, чтобы понять с чем именно связана проблема открытия wp-admin.