Я ищу лучший и самый безопасный способ локально разработать несколько дочерних сайтов, используя мультисайты, и перенести их в производственную среду, когда они будут готовы.
Я уже перенес полную многосайтовую установку с первого дочернего сайта, который сейчас работает. Я бы предпочел разработать другие сайты на локальном сервере, поэтому я оставляю производственный сервер в покое, но, очевидно, я не могу снова выполнить полную миграцию.
Я искал решение, но все, что я нашел, - это перемещение одного сайта на мультисайт или наоборот, а не «перемещение дочернего сайта с мультисайта на мультисайт».
Я хотел бы сохранить все: настройки, виджеты и так далее.
multisite
installation
migration
molokom
источник
источник
Ответы:
Это может быть несколько утомительно, но, надеюсь, это поможет. Чем меньше это меняется от одной среды к другой, тем менее болезненным будет этот процесс. В частности, если домен, идентификатор сайта, пути к файлам остаются прежними, тем менее болезненным будет этот процесс.
Этот пост предполагает некоторые знания управления базами данных. Это не полный шаг за шагом, потому что вы должны искать форумы и, возможно, создать ветку, относящуюся к какому-либо шагу, с которым у вас возникают проблемы, например, если вам нужна помощь с экспортом таблицы базы данных.
Самое важное, что нужно сделать - это сделать резервную копию всей базы данных и файлов как для локального сайта разработчика, так и для нового местоположения на случай, если что-то пойдет не так. Ожидайте, что что-то пойдет не так. Будьте приятно удивлены, если это не так.
Перемещение файлов вашей темы должно быть довольно простым. Загрузите ваши файлы тем в каталог wp-content / themes и активируйте их как обычно. Я предполагаю, что это общая тема, к которой имеют доступ все блоги.
Загрузите файлы плагинов в wp-content / plugins в новом месте. Не активируйте их пока.
Обратите внимание, что любой контент, предназначенный исключительно для блога, который вы переносите, будет находиться в каталоге, который выглядит так,
wp-content/blogs.dir/2/files
где 2 - идентификатор сайта. Если возможно сохранить этот идентификатор сайта в новом местоположении, это должно помочь минимизировать конфликты в базе данных после миграции в новое местоположение. В противном случае вам придется обновить базу данных, чтобы отразить новый путь.Вам нужно будет экспортировать многосайтовые таблицы, относящиеся к блогу, который вы пытаетесь перенести, и импортировать их в новое место. Вам придется редактировать таблицы, в которых хранятся данные, относящиеся к блогу, который вы переносите. Убедитесь, что префикс этих таблиц совпадает в новом месте.
Например, таблица wp_blogs для вашего блога содержит идентификатор блога, идентификатор сайта, домен и путь, который позволяет мультисайту WordPress распознавать ваш блог и работать с ним. Отредактируйте любой из них, который больше не является правильным, чтобы отразить новое местоположение, но, пожалуйста, прочитайте остальную часть этого поста, прежде чем пытаться сделать это.
См. Обзор многосайтовой таблицы
Чтобы перенести настройки WordPress и плагинов для передаваемого блога , вам нужно будет деактивировать все плагины локально, а затем экспортировать таблицы, специфичные для вашего сайта (справочник по кодексу), включая таблицы для ваших плагинов. Импортируйте эти таблицы в базу данных нового местоположения.
Убедитесь, что новое местоположение использует тот же префикс базы данных, что и импортируемые таблицы. Префикс будет содержать идентификатор сайта для вашего блога и выглядеть примерно так
wp_2_options, wp_2_posts, wp_2_postmeta
.См. Изучение WordPress Multisite от Лизы Сабин-Уилсон
Я предполагаю, что вы знаете, как импортировать / экспортировать через phpmyAdmin или с помощью команды mysqldump в вашем терминале. Это немного выходит за рамки этого поста, но вот пример экспорта, который должен помочь.
Из Как вы mysqldump конкретные таблицы? (Синтаксис отредактирован немного, чтобы быть более понятным.):
Прежде чем активировать плагины на новом сайте, перейдите к настройкам постоянной ссылки в административном каталоге и сохраните настройки, чтобы обновить файлы базы данных до нового URL сайта. Активируйте свои плагины и посмотрите, есть ли какие-либо проблемы.
Одна из проблем, с которой вы можете столкнуться, связана с сериализацией данных в ваших таблицах.
«[...] Ссылки на старое доменное имя или местоположение останутся в базе данных, и это может вызвать проблемы со ссылками или отображением темы.
Если вы выполняете поиск и замену всей своей базы данных, чтобы изменить URL-адреса, вы можете вызвать проблемы с сериализацией данных из-за того, что некоторые темы и виджеты хранят значения с длиной помеченного URL-адреса. " Когда ваше доменное имя или URL-адреса + Изменить
Имейте в виду, что сериализация данных может привести к конфликту в таблицах базы данных, связанным с вашими плагинами. Вместо ручного поиска и замены по URL-адресу, хранящемуся в базе данных, используйте сценарий поиска и замены в базе данных, рекомендованный в предыдущей ссылке кодекса. Если в базе данных есть только несколько экземпляров сериализации, вы можете просто отредактировать их вручную с помощью phpMyAdmin или любого другого способа управления базой данных.
Еще одна проблема, с которой вы можете столкнуться, заключается в том, что любые неверные пути к файлам, хранящиеся в таблицах базы данных, необходимо будет обновить, чтобы отразить новое местоположение. Это может иметь место для медиа-каталогов или каталогов, используемых плагинами, в зависимости от того, как был разработан плагин. Опять же, вы захотите использовать скрипт поиска и замены, чтобы избежать конфликтов сериализации при обновлении путей к файлам. Кроме того, вы можете просматривать таблицы и обновлять их вручную.
источник
Не могли бы вы использовать встроенные функции экспорта и импорта WordPress? Тогда нужно просто перенести тему из одной установки в другую по FTP. Это происходит довольно быстро, и вы можете перенести сайт между установками менее чем за 5 минут.
Вы можете синхронизировать учетные данные пользователя, используя отличный плагин под названием User Syncronization .
Я не использовал его, но ManageWP имеет удобный инструмент развертывания и клонирования для перехода с существующего сайта на новый ... это стоит посмотреть.
источник