Эта статья освещает основные моменты, которые требуется понять, чтобы приступить к созданию мультисайтовой сети на Worpress.
Действительно ли вам нужна мультисайтовость?
Сайты в мультисайтовой сети разделены по такому же принципу, как и на сервисе по созданию блогов WordPress.com. Они не связаны друг с другом как, например, элементы в любых других видах сети (хотя плагины могут создавать различные виды взаимодействий между сайтам). Если вы планируете создание сайтов, которые должны быть строго взаимосвязаны, к примеру, иметь общие данные или общих пользователей, тогда мультисайтовая сеть в данном случае — это не лучшее решение.
Например, если все, что вы хотите — это веб-страницы, которые выглядят по-разному (разный дизайн и функционал), тогда вы можете этого добиться на одном сайте, используя плагины для переключения тем, шаблонов и таблиц стилей.
Вот вам другой пример: допустим, вы хотите, чтобы различные группы пользователей имели доступ к разной информации, тогда вы также можете это реализовать на одном сайте, используя плагины для переключения функционала, меню и ссылок.
Это первая часть из серии руководств по самостоятельной установке мультисайтовости на проинсталлированный WordPress. Если вы хотите получить мультисайтовый WordPress уже сейчас, существуют готовые к использованию пакеты, например, BitNami.
Виды мультисайтовых сетей
Вы можете выбрать между несколькими видами мультисайтовых сетей, зависящих от того, как вы хотите, чтобы формировался URL, и возможно было бы создавать посетителям вашего сайта свои собственные сайты на вашей платформе.
Различные типы сетей имеют разные требования к серверу, об этом будет написано ниже. Если у вас нет полного контроля над вашим сервером, тогда определенные типы мультисайтовых сетей могут быть вам недоступны. Например, у вас может не оказаться достаточных прав для изменения конфигурации сервера, потому что вы пользуетесь общим хостингом. В этом случае вам, возможно, придется договориться с владельцем хостинга на получение необходимых привилегий.
Сайты в мультисайтовой сети имеют разные URL’ы. Вы можете выбрать один из двух вариантов указания URL’а сайта:
- Каждый сайт имеет свой субдомен (subdomain). Например:
site1.example.com
,site2.example.com
- Каждый сайт имеет разный путь (path) от корня. Например:
example.com/site1
,example.com/site2
К тому же, вы можете выбрать, чтобы у сайта был свой домен, например: example1.com
, example2.com
и так далее. Существуют плагины, которые позволяют настраивать разные домены, например, WordPress MU Domain Mapping. Вы можете проделать это напрямую на своем сервере, однако это требует дополнительных навыков в администрировании.
Вы также можете выбрать, позволить или нет пользователям создавать новые сайты в рамках вашего. Такая возможность реализована только с помощью субдоменов (мультисайтовость по типу domain-based), таких как, site1.example.com
и site2.example.com
. Впрочем, такая возможность существует и для сайтов на основе подразделов (мультисайтовость по типу path-based).
Установка мультисайтовости оперирует определенной терминологией. Инсталяция через поддомены (sub-domain install) создает сеть на базе домена, даже если вы хотите использовать отдельные домены, а не поддомены для ваших сайтов. Инсталяция через поддиректории (sub-directory install) создает сеть на базе подразделов, даже если она не использует каталоги файловой системы.
Если вы хотите использовать инсталяцию через субдомены (sub-domain), вы должны установить WordPress в корень пути к сайту (например, domain.com
), тем не менее для этого не обязательно устанавливать его в корень сервера (как правило, это папка /public_html/
), например, в случае, когда WordPress запущен в своей отдельной директории.
После того, как установка мультисайтовости будет завершена, WordPress будет использовать термины “домен” (domain) и “путь” (path) в пользовательском интерфейсе Администратора Сети. Супер-администратор, то есть администратор всей сети сайтов, сможет редактировать домены у сайтов и настройки путей. Однако следует быть внимательным, так как такие изменения меняют URL’ы сайтов.
Плагины могут расширить доступные опции и помочь в администрировании. Например, вы можете использовать плагин, упоминавшийся выше, WordPress MU Domain Mapping, чтобы управлять сайтами на разных доменах. В другом случае, можете воспользоваться плагином Networks for WordPress для конфигурации мультисайтовой сети.
Требования к администрированию
Для создания мультисайтовой сети вы должны быть администратором текущей инсталяции WordPress, и вам потребуется доступ к серверной файловой системе, чтобы можно было редактировать файлы и создавать директории. Например, вы можете получить доступ к файловой системе на сервере, используя протокол FTP, или воспользоваться файловым менеджером какой-либо панели управления хостингом (cPanel или аналогичной).
Вам не обязательно обладать навыками разработки под WordPress, иметь представление о PHP, HTML, CSS, серверном или системном администрировании, однако знание этих вещей может быть полезным для решения каких-либо непредвиденных проблем или для более тонкой настройки вашей мультисайтовой сети после ее инсталяции.
Требования к серверу
Когда вы планируете создание сети, может оказаться полезным использовать тестовый сервер для экспериментов. Однако, как правило, настройка происходит на «боевом» сервере, и использовать специально выделенный “под тесты” сервер не представляется возможным. Тем не менее, в некоторых случаях тестировать сайт на рабочем сервере — это более полезный путь для экспериментов с разработкой сети.
Во всех случаях вам следует убедиться, что ваш сервер следует более комплексным правилам в файле .htaccess
(nginx.conf
или web.config
), чем требуется для мультисайтовости.
Мультисайтовость требует включенную директиву mod_rewrite
на сервере Apache, поддержку файлов .htaccess
и опцию FollowSymLinks
, либо уже включенную, либо, по крайней мере, не отключенную совсем. Если у вас есть доступ к конфигурации сервера, тогда вы можете использовать секцию Directory
вместо файла .htaccess
. Также убедитесь, что в вашем файле httpd.conf
в секции «AllowOverride
» установлено значение «All
» или «Options All
» для работы виртуальных хостов. Поинтересуйтесь у своего хостинг-провайдера, все ли настройки установлены корректно.
О некоторых особенностях серверных требований, зависящих от типа мульсайтовой сети, которую вы хотите создать, читайте ниже.
На базе домена (domain-based)
Установка на базе домена или, “субдоменная (subdomain) инсталяция” использует следующие URL’ы: http://subsite.example.com
Сеть на основе домена отображает различные доменные имена в той же папке в файловой системе сервера, на котором установлен WordPress. Вы можете сделать это различными способами, например:
- настроив подстановку субдоменов, то есть прописав специальную запись в DNS-зоне домена (wildcard subdomains)
- настроив виртуальные хосты, указав тот же корневой документ для каждого
- создав дополнительные домены или субдомены в панели управления хостингом
Сайты на основе поддоменов требуют метод на основе wildcard-DNS записи. Вы можете создать дополнительные сайты вручную в той же сети, используя другие методы.
Какой бы метод вы не выбрали, вам потребуется сконфигурировать ваши записи DNS (для отображения доменного имени на IP-адресе сервера) и сервер (для отображения доменного имени в админ-панели WordPress).
WordPress должен быть запущен из корневой папки на сервере (например, public_html
) для корректной работы поддоменов. Они не будут работать из подпапки.
На базе пути от корня (path-based)
Инсталяция на основе пути от корня использует следующие URL’ы: http://example.com/subsite
Если вы уже используете постоянные ссылки (в терминологии WordPress “pretty permalinks”) на своем сайте, тогда сеть на основе пути от корня будет хорошо работать и вам нет необходимости читать что-либо дальше. Тем не менее следует знать, что ваш основной сайт будет использовать следующий шаблон URL для записей: http://example.com/blog/[postformat]/
Отсюда вывод: вы не сможете удалить строку “/blog/
” без ручного изменения опций сети в не очевидном месте. Такая практика не рекомендуется.
Требования к настройкам WordPress
Установка мультисайтовой сети происходит на уже существующую инсталяцию WordPress. Если это “свежая” установка на собственном домене, тогда вам нет необходимости читать эту часть. Если это устоявшийся со временем сайт, тогда следующие рекомендации позволят конвертировать его в мультисайтовую сеть без особых проблем.
Возможность перенести WordPress в свою отдельную директорию совместно с работой мультисайтовости появилась, начиная с версии 3.5, тем не менее вы должны сменить директорию расположения WordPress на корневую, чтобы активировать мультисайтовость.
Хотя не рекомендуется использовать префикс WWW в URL домена, тем не менее вы можете выбрать такой вариант и при этом планировать мультисайтовость на базе поддоменов. Убедитесь, что оба адреса – адрес сайта и путь к папке с WordPress – одинаковы. В соответствующем разделе административной панели могут выводиться предупреждения о необходимости перейти на домен без WWW, чтобы включить мультисайтовость.
По этой и многим другим причинам мы не рекомендуем вам использовать www в названии домена. Если вы планируете изменить название на domain.com
или www.domain.com
, то сделайте это прежде, чем начнете настраивать мультисайтовость, так как изменение доменного имени после факта установки сети сайтов является гораздо более сложным делом.
Ограничения
Вы не сможете создать сеть в следующих случаях:
- «Адрес WordPress (URL)» использует порт отличный от ‘:80’, ‘:443’.
Вы не сможете выбрать установку на базе поддоменов в следующих случаях:
- URL к WordPress содержит путь отличный от названия домена, то есть WordPress установлен не в корне сайта
- «Адрес WordPress (URL)» — это
localhost
- «Адрес WordPress (URL)» — это IP адрес, такой как
127.0.0.1
Помните, что вы можете создать сеть сайтов на основе поддомена (sub-domain) на своей локальной машине для целей тестирования, используя файл хостов, поэтому не нужно использовать localhost.
Вы не можете выбрать установку на базе поддиректорий (sub-directory), если вашей инсталяции WordPress больше месяца из-за проблем с существующими постоянными ссылками. (Эта проблема будет решена в будущих релизах).