Несколько блогов на одном движке
После достаточно удачного старта с Симпсонами онлайн решил сделать еще штук 5 блогов с видеоконтентом. Всё тож самое, тока другой диз и видяшки другого мультсериала.
Когда ставишь 1 блог, то как бы вариантов нет, поставил, нашел нужный шаблон, настроил плагины, подправил дизайн и сё. А вот када планируешь поставить их штук пять… Захотелось как-то поудобнее чтоб было. Я слышал про WPMU, на базе которого можно сделать кучу блогов с доменами 3го уровня. Однако, меня мой хостер обломал, сказав, что нельзя делать алиасы к поддоменам (да, забыл сказать, что все видеоблоги должны быть на отдельных доменах 2го уровня).
Тогда, порывшись в сети, я нашёл плагин «MU Multi-Site», который позволяет добавлять «алиасы» к поддоменам, но не на уровне DNS, а на уровне htaccess. Ну что, всроде всё круто, поставил я WPMU, закинул этот плагин, настроил алиасы доменов блогов на главный домен WPMU. И вся эта связка даже заработала :)
И всё было бы замечательно, если бы не пиздец какие тормоза. Знаменитый первый пост «Привет мир!» генерился на сервере, судя по таймеру, 11 секунд. Главная страница WPMU (где собираются все блоги и их посты) сгенерировалась за 23 секунды. Ну это полная жопа :) На голом движке такие тормоза. Так что я, скрепя зубами, отказался от затеи ставить WPMU, и перешел на запасной вариант — поставить на один дистрибутив обычного WP несколько блогов (сайтов). Одной админки не будет, зато будет один дистрибутив, одни плагины, соответственно, обновляться будет намного проще.
Сказано — сделано. Оказываеца, всё просто.
$http_host = preg_replace(‘/www\./’, », $_SERVER[‘HTTP_HOST’]);
$http_host = preg_replace(‘/\./’, ‘_’, $http_host);
$table_prefix = $http_host.»_»;
ФСЁ!
Походу дела узнал, что таким образом можно добавлять неограниченное кол-во сайтов на хостинг, где тарифный план подразумевает ограничение на это кол-во. :)
вот с обновлением теоретически могут быть проблемы — если обновление вносит изменения в БД. По крайней мере, именно из-за этого мульти-сайт установка Друпала не решает проблемы простого обновления всех сторонних расширений (да и ядра тоже). А жаль :)
[Ответить]
Хм.. Ну вносит оно изменение — и что? На каждый сайт «своя» БД (свой набор таблиц). При апдейте обновится каждый из наборов.
[Ответить]
При апдейте изменения вносятся только в «текущую» БД «текущего» сайта. (Иначе ведь и быть не может, правда? — какой смысл ВП пытаться обновлять таблицы, которые не обозначены как «его»?)
Таким образом, возможна (теоретически) ситуация, при которой файлы (которые общие для всех сайтов) уже ожидают структуры БД «версии 2», но при этом только одна из БД (один сайт) до этой «версии 2» обновлена — остальные же остались на «версии 1».
Не уверен, что понятно выразился. С мульти-сайт друпалом это очевидно.
«Теоретически» введено из-за того, что я не вкурсе насчёт частоты и глубины изменений БД при апдейтах ВП — вроде иногда меняет, но я никогда не проверял суть изменений.
[Ответить]
Bogdan, понял тебя. Структура БД у ВП меняется достаточно редко.
у ВП как-то всё юзер-френдли устроено — достаточно залить поверх старой версии новую, а при заходе в админку ВП предложит обновить БД — обновляешь и сё. Ну и я так понимаю, что если зайдешь под другим доменом в админку, она подцепит другую БД и опять предложить обновить её. Вообщем, как будет прецедент, будем решать :)
[Ответить]
[…] сайто-блога (как это сделать, я писал в посте несколько блогов на одном движке), сайты прогоняются по соц-закладкам и пинками […]
[…] на каждом по 2-3 сплога, причем с применением финта “несколько блогов на одном движке“, который позволяет на одном сайте (лимит тарифа […]