Как сделать блог мультисайтовым

Как сделать блог мультисайтовым | n-wp.ru
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Одной из самых интересных фишек, появившихся в WordPress 3, является мультисайтовость. Теперь вы можете создать сайт, в котором у каждого пользователя будет собственный блог, и все это будет работать на одном движке, с одной базой данных, с одним набором плагинов, с одной темой оформления, и с одним самым главным суперадминистратором. Если вы создали блог для нескольких пользователей, объединенных общей идеей и доменом, то для включения мультисайтовости нужно немного поработать руками – это не так сложно, как кажется.

1. Первое, что нужно сделать – это включить мультисайтовость. Делается это с помощью одной строчки кода, которую нужно добавить в файл wp-config.php:

define ('WP_ALLOW_MULTISITE', true  ) ;

Многие спрашивают, куда именно вставлять эту строчку кода? Вставьте ее сразу за строчкой

define ('WPLANG', '');

Сохраните результат и зайдите в административную часть.

2. Шаг первый пройден – вы активировали мультисайтовость. Зайдите в административную часть и деактивируйте все плагины. После этого найдите раздел Network в меню Tools (Инструменты). Войдя в этот раздел, вы увидите приглашение к созданию мультисайтовой структуры. Назовите ее как-нибудь покрасивее и создайте, не забыв указать электронную почту суперадминистратора.

3. Теперь – самые ответственные шаги, будьте внимательны. После того, как структура будет создана, система выдаст несколько блоков с кодами, которые нужно разместить в разных файлах.
В паке wp-content создайте папку blogs.dir, и установите на нее права CMOD0666. В эту папку будут записываться медиа-файлы, загружаемые пользователями.

4. Снова откройте файл wp-config.php и добавьте к той строчке, которую вы уже внесли, еще несколько:

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'ваш_сайт.ru' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

5. К этому коду добавьте еще немного:

define( 'AUTH_KEY', '***' );
define( 'SECURE_AUTH_KEY', '***' );
define( 'LOGGED_IN_KEY', '***' );
define( 'NONCE_KEY', '***' );
define( 'AUTH_SALT', '***' );
define( 'SECURE_AUTH_SALT', '***' );
define( 'LOGGED_IN_SALT', '***' );
define( 'NONCE_SALT', '***' );

Этот код добавляет специальные ключи, обеспечивающие безопасное соединение с блогом. Под *** скрывается код вида poDyfXPF-+Z&+wU.7+r97(rRU_t3kDrBSo)t*Gr*dg]gV*N]oBQf,}|9VdI19ahM – случайный набор символов, который практически невозможно запомнить, но можно сгенерировать. В генераторе не хватает полей, чтобы заполнить все пункты? Просто обновите страницу с генератором и возьмите следующие три ключа. Эти ключи шифруют куки и усложняют возможность влома во много крат.

6. Ну и последний шаг – редактирование файла .htaccess – вставьте в него такой код:

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L] 

После того, как вы отредактируете все файлы, разлогинтьтесь в блоге и залогиньтесь заново. Вы сразу увидите изменения – появится раздел для суперадминистратора, который будет обладать всеми рычагами управления блогами на сайте.

На этом все – отправляйтесь в раздел для суперадминистраторов и выставьте настройки по вашему усмотрению. Настроек там много, и я думаю, что их настройка – тема для отдельного поста.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. Bakhtier

    А что надо сделать что бы блог был на двух языках?

    Ответить
    1. tiaurus

      Посмотрите вот эти плагины:

      Ответить
      1. Bakhtier

        Спасибо, думаю только плагин xLanguage подходит для меня. Я имел ввиду не просто перевод блога, а администрировать блог на двух языках. Предположем что блог на английском, место того что бы гугл тупо переводил блог, я еще те же самые посты (на анг) пишу на русском. и предоставляю посетителям выбор языка в самом верху блога. Если он переключился на русский то видеть все посты (титули) на русском, и наоборот. Советовали сделать два блога ru.myblog.com и en.myblog.com. Но мне хотелось бы управлять обеими блогами с одной панелью.

        Ответить
        1. tiaurus

          Возможно вам стоит обратить внимание на WPML.
          WPML makes WordPress a complete multilingual CMS: http://wpml.org/
          Описание на русском нашел здесь: http://wordpressinside.ru/plugins/wpml/

          Ответить
          1. Bakhtier

            спасибо за ссылки, советуют еще Qtranslate.

            Ответить
      2. campusboy

        К сожалению, ссылки на эти метки выдают 404 ошибку.

        Ответить
  2. humanBot

    При подключении мультисайтов, возникла “проблемка” – основной сайт расположен в папке “/blog” (сайты настроены вида site.com/site1), вопрос как изменить этот самый /blog на что-нибудь другое или убрать?! В инете ничего дельного не нашел. :-( Знаете как такое решается?

    Ответить
    1. Вы это имеете ввиду?

      А если удалить из ЧПУ /blog ?

      Ответить
  3. humanBot

    Версия 3.0.1–ru_RU, и вней нет доступа к /blog,
    черти знает как у вас все на оборот. Вот так:

    Ответить
  4. humanBot

    Не получилось картинку приартачить, вот она ->

    /blog просто “физически” не доступен :-(

    Извините за флуд, что в комментах развел :-)

    Ответить
    1. Sergey Biryukov

      Этот префикс появляется при установке в режиме подкаталогов. Изменить или убрать его можно в файле wp-admin/options-permalink.php, строка 66.

      Ответить
  5. humanBot :черти знает как у вас все на оборот.

    Ну почему же у меня наоборот? :) Скорее это у вас наоборот, а у меня – как у всех.
    Сдается мне, что такая проблема периодически возникает. Причины возникновения мне не ясны. Вот еще ссылаются на эту проблему: http://ru.forums.wordpress.org/topic/%d0%9f%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%bd%d1%8b%d0%b5-%d1%81%d1%81%d1%8b%d0%bb%d0%ba%d0%b8-3#post-23787. Если найдете ее решение – напишите тут.
    Кстати, а зачем удалять этот префикс /blog ?

    Ответить
  6. volos_86

    а где же хваленая простота? врят ли простой пользователь сможет проделать всё это без подготовки, да и догадается ли…

    Ответить
    1. tiaurus

      Это только кажется сложно. На самом деле WordPress сам выдает пошаговые инструкции со всеми кодами при подключении мультисайтовости – нужно им только следовать. Я в тестовом блоге подключил мультисайтовость за пару минут.

      Ответить
  7. humanBot

    Sergey Biryukov спасибо за подсказку, в указанном файле нашел (правда в 95-й строке)там удалил “/blog”, и все вроде :-) заработало, буду тестить, косяки проявляться, сообщу. Автору отдельное спасибо – замечательный блог, вчера пол сайта наверно перерыл (и еще вернусь) – так держать. И еще раз спасибо всем.

    Ответить
    1. Спасибо за положительный отзыв. Заходите еще – скоро будет много нового.

      Ответить
  8. Metrikoz

    А ест-ли пример (сайт), дабы посмотреть в глазах пользователя?

    Ответить
    1. http://wordpress.com ?

      Ответить
  9. Иван

    А можно ли при такой настройке подключить несколько блогов с разных доменов?

    Ответить
    1. С разных доменов – это навряд ли. По крайней мере я такого способа еще не знаю и ничего о нем не слышал.

      Ответить
  10. krot

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

    Ответить
    1. tiaurus

      Такая ссылка и не должна работать. Это ссылка отдельного домена, а не другого блога в рамках домена. Ссылка должна быть вида сайт.ру/blog

      Ответить
      1. tiaurus

        Чуть выше в комментариях, кстати, подсказали, как убрать /blog из ссылки.

        Ответить
        1. krot

          После регистрации нового пользователя мне предлагается перейти именно по такой ссылке. Кстати /blog я убрал в файле wp-admin/options-permalink.php. Но ничего не работает.

          Ответить
          1. Видимо что-то пошло не так. Попробуйте удалить все изменения и вернуться к первоначальному состоянию. а потом попробуйте добавить MU еще раз. У меня на тестовом блоге получилось все с первого раза. Да, и не забудьте перед совершением этой операции отключить все плагины.

            Ответить
  11. Мария

    Всем привет! Сделала 2 языка для сайта по этой технологии (правда не по этой статье=). Вроде все нормально. была проблема с плагином гугл сайтмап, но есть уже нормально работающая версия. хотя все равно теперь 2 файла sitemap-ru.xml и sitemap-eng.xml в один так и не получилось загнать. html версия карты тоже раздельная=(

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

    Ответить
  12. google.com/accounts/o8…

    Есть ли xLanguage для wp3+?

    Ответить
  13. Елена

    Помогите пожалуйста – на вас одна надежда. Так и не нашла такого момента: на обычном хостинге можно мультиблоговость создать на поддоменах? У нас почему-то не получается. Ссылка есть, но она битая.

    Еще вопрос: вот создаем мы поддомен, а дальше? Опять вп заливать в папку поддомена, плагины, тему? :( Или это все должно автоматом же из общей админки быть?
    Простите за глупые вопросы, но застопорилась на этом, а нужна срочно рабочая мультисайтовость на поддоменах.

    Ответить
    1. Ромка

      Это все есть в общей админке, поищите. Заново заливать ничего не нужно. В плагинах появляется кнопка “активировать для сети”.

      Ответить
  14. stundr

    попробовал сделать все по инструкции, почему то после всех действий перестало пускать в админку, в чем может быть проблема?

    Ответить
    1. stundr

      удалил из конфина строчки, которые описаны в пункте 4 и 5 и смог зайти опять, может в этом файле какое то определенное место для них надо ? в пункте 4 понятно куда, а в пункте 5?

      Ответить
      1. stundr

        разобрался в проблеме, код из пункта 5 нужно вставлят ьв файле перед словами: /* Это всё, дальше не редактируем. Успехов! */

        Ответить
  15. LiveCJAdmin

    Здравствуйте! Вы так мило беседуете,что я себе кажусь полным идиотом. Установил мультисайт и понять не могу, как должны создаваться папки и сайты у обычных пользователей. Пока, ссылки на мои вновь созданные сайты никуда не ведут, пока я вручную не создам папку на сервере. Знаю что для поддоменов надо прописывать DNS на сервере и настраивать Apache. Техподдержка хостинга говорит что ничего делать не надо, надо просто создать папку. Вобще уже вторые сутки не могу найти информации по работе с мультисайтами дальше того момента, когда появляется админка с настройками, это что, предел мечтаний? Пока складывается впечатление, что мудьтисайт – это игрушка для одного суперадмина)))) Переубедите меня кто-нибудь пожалуйста!!!))

    Ответить
  16. tania

    Добрый день!
    Всё сделала как написано у вас , но не могу зайти в админ панель , в чём проблема? Подскажите пожалуйста.

    Ответить
    1. tiaurus автор

      Проверьте, правильно ли вы отредактировали файл .htaccess.

      Ответить
  17. svostoka

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

    Ответить