Intereting Posts
Как триггер сохранить пост при обновлении метаданных Мой код ajax не возвращает значение ajax Пользовательский тег заголовка для каждой страницы в разбивке на страницы? add_rewrite_endpoint () и Custom Post Type Archive Почему в этой строке кода появляются фотоальбомы? Переопределение wp_get_archives () apply_filters () Если в категории внутри функции Использование Windows Server 2012 Как переместить папки Upload на другой жесткий диск BuddyPress: Каково использование поля is_default_option в таблице wp_bp_xprofile_fields? Как добавить класс в элемент вывода html в выпадающем меню пункта tinyMCE Поиск слова заголовка через query_posts (не точное совпадение) Хакеры попробовали имя пользователя с неправильным случаем Удаление действия из внешнего класса плагина Можно ли использовать фильтр wp_insert_post_data для сохранения пользовательских данных поля? wp-json API: не вошел в систему при нажатии ссылки на API из режима администратора

Как переместить существующую папку wp-содержимого WordPress вместе с базой данных на новый сервер и новое доменное имя?

Запуск WP 3.5.1 в стеке LEMP (поверх Linode) …

У меня есть папка wp-content для сайта WP вместе с полной резервной копией базы данных. URL-адрес сайта был примерно таким:

test.example.com

Я хочу, чтобы сайт работал на моем собственном сервере:

test.mydomain.com

И как только сайт будет завершен, и изменения DNS вступят в силу, я хочу, чтобы URL-адрес сайта был:

myclientsdomain.com

Какой предпочтительный (и, надеюсь, самый простой способ) перемещение сервера и изменения домена, как это? Я ищу пошаговый ответ, который учитывает все описанные выше ситуации как для файлов, так и для базы данных.

Solutions Collecting From Web of "Как переместить существующую папку wp-содержимого WordPress вместе с базой данных на новый сервер и новое доменное имя?"

Есть довольно хороший шаг за шагом по перемещению WordPress в Codex . Это то, что я придерживаюсь при изменении доменов.

Перемещение файлов довольно прямолинейно. Это жестко закодированные ссылки в базе данных, которые сложны. Однако сериализованный поиск и замена позаботятся обо всех изменениях базы данных. Я использовал плагин Velvet Blues в прошлом, но сценарий поиска и замены довольно первоклассный.

Я использую awesome plugin Duplicator для выполнения этой точной процедуры на регулярной основе.

http://wordpress.org/extend/plugins/duplicator/

Плагин полностью поддерживается и есть большой FAQ:

http://lifeinthegrid.com/labs/duplicator/

Плагин создаст резервную копию .zip как вашей базы данных, так и файлов и установщика .php, который вы поместите в новый корневой каталог. Вы просто вводите новую информацию о базе данных, и все остальное.

Возможно, это мой любимый WP плагин на сегодняшний день.

Если вам нужна помощь по пути, просто дайте мне знать.

У вас будет несколько вещей, чтобы рассмотреть (позже ответ), я предлагаю следующие шаги:

Резервное копирование файлов и баз данных

Это довольно понятно. Вы собираетесь делать много манипуляций с данными, поэтому убедитесь, что ваш оригинал безопасен.

Перенос файлов

Самый быстрый способ сделать это – иметь хостера, где вы можете импортировать каталоги с другого сервера. Это можно сделать, предоставив FTP-данные, а также определив целевой каталог.

Поскольку серверы имеют подключение к Интернету, которое обычно намного быстрее, чем у пользователей, это предпочтительный способ передачи данных. Вы также можете использовать свою командную строку для выполнения этих команд вручную.

Более медленным вариантом является создание ZIP-файла, загрузка, загрузка на новый сервер и его распаковка. Если у вас нет возможности сделать это, возьмите медленный путь – загрузите все и загрузите все. И пойдите для кофе, пока передача файлов 🙂

Перенос базы данных

Опять же, у многих хостеров есть возможность импортировать существующую базу данных в новую, даже с другого сервера (конечно, ваш старый сервер должен принимать внешние подключения к данным).

Если вы можете это сделать, отлично, но вы также можете экспортировать / импортировать свою базу данных.

Установите новый (Sub-) домен в новый каталог

На вашем новом сервере убедитесь, что ваши файлы настроены так же, как и на старом, и укажите ваш поддомен в тот же каталог, который он сделал на старом сервере (обычно это корень WordPress)

Отредактируйте wp-config.php

Сохраните новый wp-config.php . Вам просто нужно изменить данные подключения к базе данных.

Загрузите новый URL-адрес

WordPress должен быть настроен до сих пор, но он по-прежнему использует старые SiteURL и AdminURL, поэтому вы не сможете войти в систему. Измените эти значения в таблице options в своей новой базе данных. Две ценности, которые вы ищете, – это siteurl и home . Поместите там свой новый Домен.

Проверьте свой логин и ваш сайт

Теперь все должно работать до сих пор, вы можете входить в систему, редактировать и писать, а также использовать сайт. Единственная проблема может заключаться в том, что ваши сообщения по-прежнему имеют старый URL-адрес для изображений и вложений в них.

Если ваши сообщения содержат старый URL-адрес, или если вы не уверены, проверьте свою базу данных в своей таблице posts .

Вы можете сделать это, выполнив поиск в базе данных напрямую или используя скрипт, например, Serial Search и Replace . Если вы найдете свой старый URL-адрес, вам придется заменить его вручную или автоматически. Я предпочитаю делать это автоматически и проверять ошибки после этого.

Проверьте другие таблицы

Также проверьте, содержат ли ваши другие таблицы старый URL-адрес. Это может быть немного сложно заменить, но это также необходимо сделать, чтобы полностью переместить ваш сайт.

Восстановите свои постоянные ссылки

Чтобы быть уверенным, сохраните свои настройки постоянной связи еще раз, чтобы снова создать Permalinks.

Проверьте свой сайт

Пожалуйста, не забудьте ДЕЙСТВИТЕЛЬНО проверить свой сайт после его передачи. Проверьте все функции, особенно файлы AJAX, Contactforms, Maps и т. Д., Поскольку они с большей вероятностью потерпят неудачу, чем простой PHP / HTML.

Время для пива 🙂

Вещи, чтобы следить за!

Как всегда, ничего, что было создано вручную, автоматически передавалось и редактировалось автоматически, является отказоустойчивым. Вот несколько комменных ловушек, которые легко вставлять, но их также можно легко избежать.

  • Плохо закодированные плагины (сохранение URL-адреса вашего сайта вместо относительного Пути и использование функций WordPress для получения полного URL-адреса. Также может быть много проблем с вашим AjaxURL.)
  • Проблемы с кодированием ( будьте абсолютно уверены, что вы используете ту же кодировку как на своих серверах, так и на Базах данных! Обычно, если вы идете с рекомендованным UTF-8, это должно быть хорошо)
  • Сериализованные данные (это самая большая проблема, с которой вы можете столкнуться. Если вы используете плагин, подобный Tablepress, где вся таблица хранится в сериализованном массиве, он будет разорваться, как только вы автоматически замените что-либо. Если у вас есть данные, для функции экспорта / импорта в этих конкретных плагинах и использовать это как дополнительный шаг. Если у них нет этой функции, вам нужно сделать это вручную)
  • Настройки сервера (может случиться так, что ваш сайт не запускается на вашем новом сервере из-за стандартных настроек. Убедитесь, что у вас достаточно ресурсов!)
  • Жестко закодированные URL-адреса в вашей теме (хотя этого не должно быть, это происходит слишком часто и прерывает ваши изображения и ссылки, как только старый сайт больше не доступен)
  • Проблемы с кэшированием (не используйте те же файлы кэширования, что и на вашем старом сервере. Лучшим способом было бы деактивировать кеширование перед экспортом сайта, а также удалить все кэширование)
  • Предполагая, что все работает, когда вы меняете настройки во второй раз на своем сервере (всегда проверяйте все снова)
  • Параметры в ваших плагинах и темах (старые адреса электронной почты и т. Д.)

Это должно быть так. Это похоже на многое, но на самом деле большая часть его запускается автоматически. Вам просто нужно думать обо всем, что может пойти не так, и проверить, было ли это 🙂

Повеселись!

Нет необходимости использовать какие-либо плагины, скрипты или даже knwledge из sql. Простой блокнот достаточно для миграции. Вы должны загрузить все ваши файлы WordPress на новый сервер и просто изменить свой wp-config.php (в основной папке wordpress). 3 значения: define ('DB_NAME', 'your_new_db_name'); define ('DB_USER', 'your_db_username'); define ('DB_PASSWORD', 'your_db_password');

Затем, если вы используете какой-то клиент mysql, такой как phpmyadmin на вашем текущем сервере, вы должны экспортировать свою базу данных в файл, а затем открыть файл your_db_dump.sql в блокноте, а затем найти и заменить все события test.example.com с помощью test.mydomain.com после что вы должны импортировать этот db_dump в свою новую базу данных (которую вы определили в wp-config.php). Это все.

Что я делаю:

  1. Создайте новую базу данных на принимающем хосте. Импортируйте файл SQL. Запустите следующие SQL-запросы в новой базе данных:

     UPDATE wp_options SET option_value = replace(option_value, 'test.example.com', 'test.mydomain.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_postmeta SET meta_value = replace(meta_value, 'test.example.com', 'test.mydomain.com') WHERE meta_key = '_menu_item_url'; UPDATE wp_posts SET guid = replace(guid, 'test.example.com','test.mydomain.com'); UPDATE wp_posts SET post_content = replace(post_content, 'test.example.com', 'test.mydomain.com'); 
  2. Загрузите файлы WordPress на принимающий сервер.

  3. Загрузите папку wp-content, перезаписав файлы WordPress по умолчанию.
  4. Настройте свой wp-config.php как обычно, используя имя db, пользователя и пароль из созданной вами базы данных.
  5. Перейдите в панель мониторинга и вручную измените любые экземпляры test.example.com в виджетах (они не могут быть изменены с помощью SQL-запроса, поскольку они сериализованы в базе данных).
  6. Когда придет время перейти на myclientsdomain.com, повторите вышеуказанные SQL-запросы и исправления виджета.

В зависимости от вашей темы и плагинов вы можете внести дополнительные изменения в базу данных или панель мониторинга. Они должны быть обнаружены и изменены, когда вы их найдете.

Справедливое предупреждение о том, что это не идеально, и может быть болью в прикладе, чтобы переместить WordPress через домены. Еще одна вещь, которую я также видел, это добавить следующее в ваш файл wp-config:

 define('WP_HOME','http://'. $_SERVER['SERVER_NAME']); define('WP_SITEURL','http://'. $_SERVER['SERVER_NAME']); 

Это поможет сайту работать в любом домене, в котором он сейчас находится, но вам все равно придется иметь дело с жестко закодированными URL-адресами в содержании, настройках и меню. Я сам не тестировал это и не знаю, нужно ли удалять соответствующие параметры из вашей базы данных, чтобы они работали.

Обновление: я должен был догадаться, что плагин будет обрабатывать часть базы данных http://wordpress.org/extend/plugins/wp-migrate-db/

Предыдущий ответ имел это, но вот шаг за шагом с некоторым другим вводом:

  • Не устанавливайте WP
  • Ftp весь исходный каталог WP в новый каталог (см. Ниже, если отсутствует что-либо)
  • Импортируйте sql с phpmyadmin на панель управления сервером.
  • Ftp searchreplacedb.php в каталог WP находится.
  • Запустите searchreplacedb.php из своего браузера (удалите после !!!)
  • Возьмите немного времени и оплатите клиенту 75 долларов!

    (searchreplacedb.php доступен БЕСПЛАТНО на: interconnectit.com/products/search-and-replace-for-wordpress-databases … у них также есть инструкции).

Если у вас есть папка с содержимым WP, у вас есть другая проблема. Вы должны получить оставшуюся часть WP-версии ТОЧНОЙ ТАЙНОЙ ВЕРСИИ. Найдите db, если вы не знаете, какая версия WP. Легко загружать старые версии в Интернете. Получите все в нужном месте, как и раньше, используя ftp для установки новых папок, если вы хотите, чтобы он просто всплывал, как было раньше. Не заходите на сайт после загрузки файлов db и WP, если у вас что-то отсутствует, или по умолчанию будет использоваться тема запаса или отключить плагины. Я потерял настройки плагина и должен был все это сделать, чтобы просто думать и идти медленно.

Если у вас уже есть подпапка или аддон, или новый сайт будет нужен, планируйте заранее. Не просто заменяйте URL-адрес, прежде чем принимать во внимание нужную новую папку или ее отсутствие. Возможно, вам понадобится запустить searchreplacedb для 'folder / url', прежде чем возвращаться к 'url' и т. Д. В противном случае вы можете испортить «аддон», который изменится на «корневой экран с установкой подкаталога» или другой такой глупостью!

Если новая структура соответствует старой структуре, и у вас есть весь каталог WP, вы можете сделать это проще и быстрее, чем читать этот пост! Поместите программу в тот же каталог, на который вы загрузили WP, чтобы получить наилучшие результаты, как сказано в инструкции, поскольку она имеет автоконфигурацию.

Если у вас нет доступа к ftp или доступа к панели управления или SQL-доступа, вам действительно нужен лучший сервер и может быть не повезло.


Попробуйте выполнить поиск и заменить рекомендованные в других сообщениях, и если вам повезет, у вас есть старая версия WP и она вписывается в необходимые параметры, они будут работать; реальная боль от способа играть в русскую рулетку с вашим сайтом.

Кроме того, никогда не редактируйте данные в блокноте, если не знаете, что строки не длиннее, чем они будут приняты. Теперь есть хорошая ошибка, которую вы можете потратить на недельные поиски! Если вам нужно взглянуть на него, посмотрите только, не сохраняйте его. Вы должны забыть блокнот и использовать блокнот ++, но ручное редактирование сериализованных данных в текстовом редакторе так же плохо, как попытка найти и заменить в phpmyadmin; не делай этого.

Вы можете выполнить поиск «sql serialized data». Короткий ответ заключается в том, что поиск и замена будут обрабатывать сериализованные данные в sql. У WP db есть сериализованные данные … тем более в наши дни.

Я делал это слишком много раз и имел предельный успех и много раз бил головой о стену, прежде чем я, наконец, исследовал его должным образом. Сейчас прогулка в парке.

Таким образом, я переместил несколько сайтов из одного сервера / домена в другой, и все, что вам обычно нужно, это резервная копия и ваша папка с содержимым wp, которая, как вам кажется, имеет. Вот мой метод:

  1. Установите WordPress на новый сайт. Вы можете использовать любой способ, который вам нравится для этого, некоторые хосты предлагают установки с одним щелчком мыши, иначе просто сделайте это в соответствии с вашим предпочтительным методом.
  2. Перезапишите папку wp-content с копией, которую у вас есть. Это гарантирует, что все ваши плагины, загруженные файлы и т. Д. На ваш старый сервер.
  3. Перезапишите базу данных с копией, которую у вас есть. Обычно я делаю это с помощью phpMyAdmin с возможностью импорта. Здесь следует обратить внимание на то, что если ваша резервная копия не содержит операторов DROP, вам сначала нужно удалить все таблицы в базе данных.
  4. Если вы меняете доменное имя, вам нужно просмотреть таблицу wp_options в phpMyAdmin и обновить опцию «site_url». Существует еще один вариант, называемый «домашний», который вы можете обновить, но вам не нужно это делать, поскольку это может быть изменено администратором WordPress после того, как ваш сайт работает.

Готово!

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