Лично мне пришлось 2 раза совершать миграцию между WordPress (далее WP) и WordPress MU (далее WPMU). Сначала я установил на этот домен WP2.6, потом почему-то стукнуло мне перейти на WPMU 2.6 (не помню, почему). Далее был ряд обновлений до WPMU 2.6.5. Потом мне это надоело – большая куча таблиц в базе к сайту – и я решил перепрыгнуть на WordPress 2.7. У меня это получилось без проблем :). С тех пор тут стоит WP 2.7.1, на блоге – WPMU 2.6.5, на демо-сайте – WPMU 2.7.1. Ужас, скажите вы, ибо все это в двух базах всего лишь. Но особых нареканий на производительность у меня пока нет.
Теперь предположим, что вы осознали всю необходимость и желанность вашей собственной бесплатной социальной сети BuddyPress, но вот незадача – на вашем любимом домене уже стоит WordPress 2.x (версия не имеет значения). Ничего страшного – проблема решаема в течение 30-ти минут максимум.
Что вам понадобится для перехода с обычного WP на WPMU:
Доступ в админ.панель вашего сайта :)
Доступ по фтп к папкам WP.
Приступим:
1. Зайдите в админку вашего WP сайта на страницу Инструменты → Экспорт.
2. Сделайте экспорт записей всех авторов (если их несколько было) вашего блога, сохраните файл в надежном месте на компьютере.
3. Посмотрите размер получившегося файла (например, wordpress.2009-07-23.xml). Если файл меньше 2 Мб (2048 Кб или 2097152 байт), то переходите к шагу 5. В ином случае вас ждет шаг 4 и немного неприятной ручной работы.
4. Итак, у вас экспортированный файл больше 2 метров, а это значит, что использовать его в дальнейшем нельзя, надо уменьшить. Но так как терять записи не хочется, то мы просто его порежем на кусочки, которые по отдельности будем в дальнейшем использовать. Для этого:
4.1. Открываем wordpress.2009-07-23.xml .
4.2. C помощью редактора найдите примерно в середине файла (вряд ли он у вас будет больше 4 мегабайт) открывающий тег <item>. Прямо над ним будет закрывающий </item>.
4.3. Между этими двумя тегами вставьте следующий код:
</channel>
</rss>
4.4. Сохраните старый файл. Потом переместите (т.е. вырезать в старом) все, что ниже вставленного кода (включая тег <item>), в новый файл (название не имеет значения, только латиница и цифры, расширение файла – .xml).
4.5. В начало нового файла вставьте тоже самое, что у вас в старом ДО ПЕРВОГО УПОМИНАНИЯ ТЕГА <item> (обычно это пару десятков строк). Далее у вас должен идти тег <item> со второй частью старого файла. Сохраните новый файл.
4.6. Если есть необходимость, разбейте исходный файл на нужное вам количество меньших частей при условии, что каждый из них должен быть меньше 2 Мб.
5. К сожалению, настройки практически всех плагинов придется вносить потом заново, поэтому сделайте себе их скриншоты, чтобы не забыть (так будет проще вам, чем если я начну еще рассказывать, как потом отдельные строки таблицы wp_options переносить в новую таблицу wp_1_options). Если вы зайдя в базу через phpmyadmin видите, что плагин создал себе отдельную таблицу, то это значит, что можно будет (для тех, кто хоть немного в базе ориентируется) импортировать отдельные таблицы в новую базу (если в дальнейшем вы пройдете пункт 8.2). Но мой совет – для облегчения жизни – сделайте скрины и заново потом все введите.
С ЭТОГО МОМЕНТА ЛУЧШЕ НЕ ДОПУСКАТЬ ПОЛЬЗОВАТЕЛЕЙ К ВАШЕМУ САЙТУ, ПОЭТОМУ ПОСТАВЬТЕ ПЕРЕНАПРАВЛЕНИЕ в новом файле .htaccess (что делать со старым – читайте в пункте 7):
Redirect / http://www.какой_нибудь_адрес.ru/
6. Теперь у вас есть слепок всех записей сайта. Переименовывайте папки /wp-admin/ и /wp-includes/ на /_wp-admin/ и /_wp-includes/ соответственно. Это мой способ пометки старых версий папок; чем старее папка, тем больше символов “_” перед названием. Кому не нравится такой способ – делайте как хотите, главное, чтобы остались старые папки/файлы у вас.
7. Все WP файлы в корне сайта (.htaccess, index.php, все с префиксом “wp-”, а также xmlrpc.php) перемещаете в только что созданную новую папку с произвольным названием (например, _wp-old-files).
ДЛЯ ТЕХ, У КОГО ОГРАНИЧЕННОЕ КОЛИЧЕСТВО БАЗ ДАННЫХ ИЛИ НЕТ ВОЗМОЖНОСТИ СОЗДАТЬ ЕЩЕ ОДНУ БД.
8.1. С помощью плагина архивации базы данных WP-DB-BackUp (как?! Он у вас еще не стоит?!) отправляете себе на мыло или сохраняете на компе дамп всех таблиц. Если кому-то удобнее работать через phpmyadmin – тот уже знает, как это сделать (подсказываю: заходите в phpmyadmin, вкладка экспорт, выбираете все таблицы в базе, ниже ставите радиокнопку на sql, еще ниже выбираете архивирование gzip, далее кнопка Ok или Пошел). Дамп нужен на “всякий пожарный” случай. ВСЕГДА ПЕРЕД ТЕМ, КАК ДЕЛАТЬ ЧТО-ТО СЕРЬЕЗНОЕ С САЙТОМ И ВЫ НЕ РУЧАЕТЕСЬ ЗА ПОСЛЕДСТВИЯ, ДЕЛАЙТЕ ДАМП БАЗЫ!!!
ДЛЯ ТЕХ, У КОГО НЕОГРАНИЧЕННОЕ КОЛИЧЕСТВО БАЗ ДАННЫХ ИЛИ КОТОРЫЕ МОГУТ СОЗДАТЬ ЕЩЕ ОДНУ БАЗУ ДЛЯ WPMU.
8.2. Создаем через phpmyadmin еще одну базу. Старую базу, где у вас таблицы обычного WP, – не трогайте.
9. Заливаете папки WPMU в корень сайта (ftp менеджер спросит у вас о замене папки /wp-content/, соглашайтесь, это не критично и достаточно быстро вернуться) и проводите установку WPMU БЕЗ ВМЕШАТЕЛЬСТВА В ФАЙЛ WP-CONFIG-SAMPLE.PHP. Просто пропишите адрес сайта в адресной строке.
9.1. Если вы использовали пункт 8.1 – удалите перед установкой содержимое базы, где у вас стоял обычный WP. Если вы прошли пункт 8.2 – пропишите название новой базы данных.
9.2. Я часто пропускаю/забываю про меню выбора блогов в виде поддиректорий или подпапок. Будь внимательны, поставьте именно то, что вам нужно.
10. Вы установили WPMU. Авторизуйтесь, удалите стандартную запись на сайте (“Привет мир!”) и стандартную страницу (“About/О сайте”).
11. Теперь в пустом сайте переходим к импорту данных. Для этого идете на страницу Инструменты → Импорт. По одному импортируете все файлы, созданные в пунктах 3 или 4. Если страница спросит у вас про импорт рисунков – откажетесь от этой опции, иначе движок просто выдаст вам ошибку. Менять положение папки /uploads/ мы не собираемся, поэтому все рисунки должны отображаться (путь-то к ним не изменился в записях).
На данном этапе мануал заканчивается. Если у вас возникли какие-то проблемы – не работает сайт или еще что, то вот порядок возврата к предыдущему обычному WP.
1. Удаляете все файлы в корне сайта, а также папки /wp-admin/ и /wp-includes/ WPMU.
2. Переименовывайте старые папки /_wp-admin/ и /_wp-includes/ на /wp-admin/ и /wp-includes/.
3. Перемещаете все файлы из папки /_wp-old-files/ в корень сайта (см. п.7).
4. Если вы проходили шаг 8.1, то удаляете все созданные таблицы там, потом импортируете ваш дамп базы. Если проходили 8.2 – то вы везунчик, ничего делать не надо :)
5. В папке /wp-content/ вам надо заменить папку /languages/ и файл index.php на оригиналы из архива обычного WP.
В следующей записи вы прочитаете:
Защита регистрации в BuddyPress внутри bbPress
Пожалуйста, подождите. Комментарии загружаются.