Многосайтовость в Битрикс
На начальном этапе компании достаточно одного небольшого корпоративного сайта. Но бизнес постепенно развивается, необходимо наращивать присутствие в интернете и масштабироваться. Для этих целей в Битрикс предусмотрен функционал мультисайтовости. Это значит, что на одной копии продукта можно запустить неограниченное количество сайтов, которые будут иметь разную публичную часть, но при этом общую административную панель. Это значит, что для создания нового сайта не потребуется покупать дополнительную лицензию Битрикс. Все созданные сайты будут иметь разные адреса и публичную часть, но при все этом – одну административную панель и базу данных. Многосайтовость легко решает проблемы трудозатрат и большого количества сайтов, с управлением которых легко справится один контент-редактор.
Преимущества многосайтовости
- Если задать настройки сквозной авторизации, то пользователям не придется регистрироваться отдельно на каждом сайте
- Управление выводимым контентом в одном месте для всех сайтов
- Единая система безопасности, весь контроль безопасности в одном месте
- Централизованный показ рекламы и баннеров на сайтах
- Аналитика по каждому сайту
Ограничения многосайтовости
- Все сайты должны быть размещены на одном хостинге и использовать одну установку Битрикса. Иначе придется приобретать на каждый хостинг отдельную лицензию
- На редакции «Старт» нельзя создать больше двух сайтов. На остальных редакциях, неограниченное количество сайтов. Актуальную информация о количестве сайтов представлена на официальном сайте Битрикса
Возможные варианты многосайтовости
Существует два способа настроить многосайтовость:
На одном домене
в таком случае сайты размещаются в поддомене основного домена. Такой вариант оптимален для многоязычной версии сайтаНа разных доменах
подойдет в остальных случаях, если домены сайтов отличаются, но при этом размещены на одном хостинге
Обозначения полей
ID
идентификатор сайта, он является обязательным, состоит из двухсимвольной комбинация, ru, en, s1, s2, и т.п.Активация
включаем или отключаем данный сайтНазвание
обязательный параметр, в данное поле вписываем произвольное название сайта, оно используется системой для привязки к тому или иному сайтуПо умолчанию
полет по умолчанию, задействуется когда сайт использует несколько доменных имен, одинаковых или похожих между собойДоменное имя
каждое вписанное доменное имя, будет является маской. В данное поле вписываем доменное имя сайта, если их несколько, то каждое в новой строке. Используется для реализации многосайтовости на разных доменахПапка сайта
поле обязательное для заполнения, указываемое значение используется как опорный уровень для построения логической и физической структуры в самом модулеСортировка
задаем числовой параметр, приоритетности сайта в спискеПуть к корневой папке
веб сервера для этого сайта, указываем полный путь к папке, на которую настроена переменнаяDOCUMENT_ROT
для данного сайта. Используется для реализации многосайтовости на разных доменахВ секции параметры
задаем для сайта параметры под почтовые шаблоныНазвание сайта
прописываем название сайта, которое может быть использовано в почтовых шаблонах. Если значение не задать тогда оно будет браться из настроек главного модуляUrl сервиса
текущий адрес будет использован для формирования почтовых сообщений. Адрес прописывается безhttp://
. Если его не задать берется данный адрес из настроек главного модуля. Используется для реализации многосайтовости на разных доменахE-mail адрес по умолчанию
тут можно задать почтовый адрес который будет использован в качестве значения макросаDEFAUL_EMAIL_FROM
при формирование почтовых шаблонов. Если его не задать эти данные возьмутся из настроек главного модуляРегиональные настройки
настройки по текущим языкам, формату даты, кодировки, направлению текстыПочтовые шаблоны
при помощи данной секции можем создать и привязать почтовые шаблоны к имеющимся сайтам или скопировать егоШаблон сайта
поможет запустить мастера установки готового решения
Мультисайтовость в Битрикс на одном домене
Каждый сайт для мультисайтовости должен быть размещен в отдельном подкаталоге внутри единого каталога, например:
public_html/вашсайт.com/site1/
public_html/вашсайт.com/site2/
Названия каталогов site1
и site2
выбраны случайно, вы можете назвать подкаталоги как захотите. Если речь идет о многоязычном сайте, en
и ru
соответственно.
Также возможен и другой вариант, когда один сайт размещен в корневом разделе, а второй в подкаталоге. Выглядеть это будет так:
public_html/вашсайт.com/
public_html/вашсайт.com/site2/
Далее устанавливаем Битрикс в корневую директорию, в нашем случае в вашсайт.com.
Переходим в раздел Настройки
админ панели, оттуда в Настройки продукта -> Сайты -> Список сайтов
и выбираем основной сайт, сохраняя с настройками как на картинке ниже:
Переходим в раздел Настройки
админ панели, оттуда в Настройки продукта -> Сайты -> Список сайтов -> Добавить сайт
и добавляем новый сайт, с настройками как на картинке ниже:
Если планируется установка основного сайта в корневую папку, а все прочие в подкаталоги - то надо поставить слэш /
для основного, если же речь идет о размещении всех сайтов в подкаталогах - пишем для каждого из них свой путь. Путь к корневой папке веб-сервера
в этом случае должен быть пустым для всех сайтов, так как данный метод настройки мультисайтовости не подразумевает его использование.
Мультисайтовость в Битрикс на разных доменах
Для правильной работы многосайтовости в битрикс на поддоменах, большую роль играет сортировка, для поддомена СОРТИРОВКА ДОЛЖНА БЫТЬ МЕНЬШЕ, чем для основного домена, причем нужно переключать админку на тот поддомен с которым сейчас работаешь (меняешь сортировку)
Рассмотрим настройку мультисайтовости на примере двух сайтов: основного site1.ru
, где установлено ядро системы и дополнительного site2.ru
.
site1.ru/public_html/
site2.ru/public_html/
Создание симлинков
Чтобы настроить мультисайтовость на Bitrix, нужно сделать симлинки в дополнительном сайте к папкам основного bitrix
, upload
, local
:
cd /site2.ru/public_html
ln -s $HOME/site1.ru/public_html/bitrix bitrix
ln -s $HOME/site1.ru/public_html/upload upload
ln -s $HOME/site1.ru/public_html/local local
Операции с файлами
Дальше для теста нужно скопировать файлы index.php
(стартовая страница) и .access.php
(отвечает за доступ) с основного сайта. Для этого нужно выполнить в командной строке:
cd /site2.ru/public_html
cp $HOME/site1.ru/public_html/index.php .
cp $HOME/site1.ru/public_html/.access.php .
Если все сделано правильно, можно перейти на дополнительный сайт и в браузере должен отобразится основной сайт.
Настройки в административной панели
Перейдем к настройкам в административной панели основного сайта на Bitrix. Для этого в адресной строке браузера нужно ввести:
http://site1.ru/bitrix/admin
Переходим в раздел Настройки
админ панели, оттуда в Настройки продукта -> Сайты -> Список сайтов
и выбираем основной сайт, сохраняя с настройками как на картинке ниже:
Переходим в раздел Настройки
админ панели, оттуда в Настройки продукта -> Сайты -> Список сайтов -> Добавить сайт
и добавляем новый сайт, с настройками как на картинке ниже:
Отличия с первым вармантом заключаются в том, что в поле Папка сайта
должен быть слэш, а в поле Путь к корневой папке веб-сервера
должен быть указан путь к папке на виртуальном хостинге для каждого сайта. Самый простой метод узнать путь, это нажать на кнопку Вставить текущий
, тогда адрес появится автоматически, нужно обязательно убедитесь в том, что обозначен именно текущий сайт.
Еще один важный момент, проверка поля Сортировка сайтов
. Если сайт работает на поддомене главного, то в перечне у него должно быть значение ниже. Например, сортировка у первого сайта 10
, сортировка у второго сайта, работающего на поддомене 5
.
Скрипт проверки
Для проверки можно добавить небольшой скрипт в корень обоих сайтов в виде файла и вызвать из браузера, на странице будет отображен ID
сайта:
test.php<?require($_SERVER['DOCUMENT_ROOT']."/bitrix/header.php");?>
<? echo "SITE_ID = ".SITE_ID; ?>
<?require($_SERVER['DOCUMENT_ROOT']."/bitrix/footer.php");?>