Многосайтовость битрикс на разных доменах. 1С битрикс многосайтовость
1С-Битрикс многосайтовость на одном домене
Рассмотрим общую информацию об организации многосайтовости 1С-Битрикс на одном домене, и некоторые нюансы, которые не освещены в официальной документации.
Многосайтовость такого типа часто используется для создания мультиязычного сайта. Обычно эти сайты имеют урлы двух видов : site.ru , site.ru/en/ или site.com/ru/ , site.com/en/
Основная идея многосайтовости в Битриксе это 1 сайт - 1 папка со вложенным в неё содержимым сайта. Т.е. структура может выглядеть либо так (1):
/www/s1/ - первый сайт /www/s2/ - второй сайт
Либо сяк (2):
/www/s1/ - первый сайт, /www/s1/s2 – второй сайт.
DocumentRoot веб сервера должен смотреть в корневую папку. В случае (1) это /www/ во втором случае (2) это /www/s1/
Рассмотрим второй случай в плане настроек административной части. Идем в настройки сайтов (Настройки > Настройки продукта > Сайты > Список сайтов)
Выбираем "Изменить" параметры сайта №1 и указываем в них:
Сайт №1:
Название: site1 Доменное имя: оставить пустым Папка сайта: /s1/ Название сайта: Корпоративный сайт компании "Название компании" URL сервера:www.site.com/s1 Путь к корневой папке веб-сервера для этого сайта: оставить пустымВ параметре Папка сайта необходимо указывать путь относительно корня к каталогу в котором расположена публичная часть сайта. Путь к корневой папке веб-сервера для этого сайта не используется в данном способе настройки многосайтовости и должен быть пустым для всех сайтов.
Аналогично настроим параметры сайта №2:
Название: site2 Доменное имя: оставить пустым Папка сайта: /s2/ Название сайта: Интернет-магазин компании "Название компании" URL сервера:www.site.com/s2 Путь к корневой папке веб-сервера для этого сайта: оставить пустымТеперь перейдем к некоторым нюансам первого случая о которых не пишут:
urlrewrite.php для этих всех сайтов один общий и лежать он должен в DocumentRoot. т.е. в /www/. Если вы разложите свои urlrewrite по папкам /www/s1/ и /www/s2/ - это работать не будет.
Аналогично с этим и 404-я страница должна быть там же в корневой папке. Для урлов вида www.site.com/s1/non_existing_page и www.site.com/s2/non_existing_page вы можете определить обработку 404-й странциы которыми сможете показывать 404.php из любого места (например конкретных папкок сайтов), но если у вас будет урл вида www.site.com/non_existing_site/ - вам не останется ничего другого как показать страницу /www/404.php
robots.txt так же должен быть там, в корневой папке. Ну и если у вас корневого сайта нет как такового. т.е. в случае site.com/ru/ , site.com/en/ у вас нет урла site.com - не забывайте делать редиректы из index.php корневой папки.
В многосайтовости случая (2) всё более очевидно, все эти файлы органично вписываются в вышестоящий по иерархии сайт s1.
antonov-dev.ru
Многосайтовость в 1С-Битрикс — webNOOB.ru
В 1С-Битрикс с использованием одной лицензии мы можем развернуть несколько сайтов. Количество одновременно разворачиваемых сайтов обуславливается редакцией Вашего дистрибутива(лицензией). К примеру, в редакции «Малый бизнес» количество сайтов равно двум.
Очень приятная новость, не правда ли?
Но не все так радужно o_O Работать все сайты будут с одним ядром системы, в одной файловой системе, в одной админке, в одном и том же «Эрмитаже» и база зарегистрированных учетных записей у всех сайтов будут одна. Самое плохое во всей этой ситуации, то что мы не можем разграничить уровни доступа так чтобы администраторы имели полный доступ только к настройкам одного или другого сайта. Ограничение уровней доступа будет происходить на уровне информационных блоков.
Существует два способа создания многосайтовости. Первый — это создание сайтов в подкаталогах и его я сегодня рассматривать не буду 🙂
Сегодня будем рассматривать второй способ — создание многосайтовости на разных доменах.
Забегая в перед скажу, что весь способ строится на создании символических ссылок на директории ядра, а поэтому нам нужен будет ssh доступ от файловой системы хостинга или в крайнем случае файловый менеджер хостера должен уметь создавать символические ссылки прямо их вебморды.
Итак, определимся что доменных имен (как и сайтов) у нас будет 2 — webnoob.ru и new.webnoob.ru.
Директории для данных доменов будут /var/www/webnoob.ru и /var/www/new.webnoob.ru соответственно.
Шаг 1.
На этом шаге устанавливается и настраивается дистрибутив первого сайта (/var/www/webnoob.ru). Его мы тоже пропустим тк это тема для отдельного поста и может быть, когда-нибудь у меня дойдут руки и до него.
Шаг 2.
Подготавливаем систему. Заходим в административную часть и переходим в раздел Список сайтов (Администрирование — Настройки — Настройки продукта — Сайты — Список сайтов) и видим перед собой список всех сайтов.
Переходим в настройки нашего единственного сайта (s1), и заполняем все параметры, отмеченные красной стрелочкой. Все они оч важные в дальнейшем и пропуск одного из параметров может в дальнейшем привести к ошибкам в работе доп. сайтов.
Для того чтобы не писать весь путь до папки с сайтом, просто нажмите на ссылку «вставить текущий».
После этого можете нажать на кнопку «Сохранить». На этом шаг 2 завершен.
Шаг 3.
Создаем новый сайт в системе хостинг-провайдера. Важно, чтобы директория нашего нового сайта лежала в одной файловой системе с главным сайтом и не находилась внутри его директорий.
Выше мы уже определились что нашими директориями будут /var/www/webnoob.ru (главный сайт) и /var/www/new.webnoob.ru (новый сайт).
Из директории главного сайта (/var/www/webnoob.ru) переносим файлы index.php и acсess.php в директорию нашего нового сайта.
И приводим acсess.php к нижеприведенному виду:
<? $PERM["index.php"]["6"]="W"; $PERM["/"]["*"]="R"; ?>
<? $PERM["index.php"]["6"]="W"; $PERM["/"]["*"]="R"; ?> |
Шаг 4.
Создаем символические ссылки на директории главного сайта.
Описывать я буду ситуацию, когда у нас есть доступ к ssh удаленного сервера, будь то VPS или виртуальный хостинг. Если у Вас нет таких доступов, то я порекомендовал бы в первую очередь задать вопрос о наличии ssh доступа у вашего хостинг-провайдера той же тех. поддержке.
Подключаемся, выполняем команды заменяя мои адреса-своими:
ln -s /var/www/webnoob.ru/bitrix /var/www/new.webnoob.ru
ln -s /var/www/webnoob.ru/bitrix /var/www/new.webnoob.ru |
(ссылка на директорию ядра Битрикс)
ln -s /var/www/webnoob.ru/upload /var/www/new.webnoob.ru
ln -s /var/www/webnoob.ru/upload /var/www/new.webnoob.ru |
(ссылка на директорию загрузок)
Вам может понадобится перенести полностью папку с шаблонами сайта и с шаблонами компонентов, к примеру, если вы решили создать клон главного сайта. В этом случае я поступил так: перенес директорию /var/www/webnoob.ru/bitrix/templates в директорию /var/www/new.webnoob.ru/local/templates
cp -a -T /var/www/webnoob.ru/bitrix/templates/ /var/www/new.webnoob.ru/local/templates/
cp -a -T /var/www/webnoob.ru/bitrix/templates/ /var/www/new.webnoob.ru/local/templates/ |
(в этом случае директории local и templates должны быть заранее созданы).
Шаг 5.
На данном шаге, зайдем по адресу второго сайта (new.webnoob.ru) и войдем в админку (new.webnoob.ru/bitrix) и перейдем в уже знакомый нам раздел «Список сайтов» (Администрирование — Настройки — Настройки продукта — Сайты — Список сайтов).
Здесь, сверху таблицы нажимаем на кнопку добавить сайт и проделываем все ровно тоже самое что на скриншотах выше (шаг 2).
ID сайта будет s2
Путь до корневой папки также вставляем, щелкнув по ссылке «вставить текущий».
В самом низу страницы настроек, выбираем существующий шаблон сайта либо запускаем мастер готовых решений и устанавливаем существующие в системе гот.решения или скачиваем их с маркетплейса.
На этом все… если есть какие-то вопросы или замечания по статье, велком в комменты.
webnoob.ru
Многосайтовость битрикс на разных доменах
Битрикс является многосайтовой системой. Это значит что на одной копии продукта можно запустить неограниченное колличество сайтов которые будут иметь разную публичную часть но при этом общую админпанель. Покупая одну лицензию на любую редакцию, Вы получаете возможность установить два сайта. если требуется больше- то просто докупаете дополнительные лицензии за полцены. Либо можно приобрести неограниченную лицензию.
Для чего нужна многосайтовость
Очень не удобно содержать большое количество сайтов одной фирмы. Например у Вас один корпоративный сайт и пять сайтов филиалов, Вы публикуете новости компании и для этого приходится заходить в админ панель на шести сайтах ради добавления одной новости. Или же разместить каталог продукции, сегментировав его по нескольким региональным представительствам. Многосайтовость битрикс решает проблему таких трудо затрат на корню- с управлением большого числа сайтов вполне справится один контент-менеджер, не придется выполнять однотипные манипуляции.
Тоже самое с пользователями, им не придется каждый раз регистрироваться на каждом отдельном сайте, достаточно настроить сквозную "регистрацию" и пользователь сможет пообщаться в Вашей социальной сети, купить товары в интернет-магазине или обратиться в техподдержку. Пройдя регистрацию всего один раз на одном из сайтов
Также полезно для компаний имеющих сайты на нескольких языках. Удобно когда все в одном месте.
Многосайтовость битрикс бывает двух видов:
На одном домене- когда сайты располагаются внутри одного домена, например www.site.ru/ru/ и www.site.ru/com/ не особо интересный и применимый вариант, о нем рассказывать не буду, это не сложно.
Многосайтовость на разных доменах- когда сайты работают на разных доменах, например www.one.ru и www.two.ru. В видео рассказываю именно про данный способ, на тестовом хостинге
Видео: как настроить многосайтовость битрикс
В общем и целом ничего сложного. Успехов
miditator.ru