Что такое многосайтовость в битрикс. А если общая корневая папка

Сложность урока:

4 уровень - сложно, требуется сосредоточится, внимание деталям и точному следованию инструкции.

Для работы многосайтовости на разных доменах нам потребуется произвести настройку программного продукта. Настройку веб-сервера Apache, как и в случае с многосайтовостью на одном домене, должна произвести хостинговая компания.

Будем использовать для примера конфигурацию из двух сайтов:

  • www.site1.com - корпоративный сайт компании
  • www.site2.com - интернет-магазин компании

Настройка многосайтовости на разных доменах

Каждый сайт надо разместить в соответствующем каталоге, например:

  • /home/www/site1/
  • /home/www/site2/

Установка продукта и настройка символьных ссылок

Продукт устанавливается в один из сайтов. Чтобы ядро могло работать для обоих сайтов, необходимо создать символьные ссылки для сайта, в котором нет установленного ядра. Ссылки потребуются для папок /bitrix , /local и /upload . Эти папки являются общими для обоих сайтов, такова особенность архитектуры.

Примечание: Есть возможность простого копирования указанных папок из первого сайта во второй. При таком копировании получится две копии ядра, которые работают с одной базой данных. Такой вариант будет работать, но есть два отрицательных момента: технический и юридический. Техническая проблема заключается в том, что после обновления одного из ядер обновится база данных, и второй сайт перестанет работать. Юридическая проблема заключается в том, что копирование ядра противоречит лицензии на продукт.

Примечание: Технически возможно (но не рекомендуется) копирование указанных папок в некоторую внешнюю папку, на которую для всех сайтов настраиваются символические ссылки.

Символьная ссылка: (также симлинк от англ. Symbolic link, символическая ссылка) - cпециальный файл, для которого в файловой системе не хранится никакой информации, кроме одной текстовой строки. Эта строка трактуется как путь к файлу, который должен быть открыт при попытке обратиться к данной ссылке.

Практически символьные ссылки используются для более удобной организации структуры файлов на компьютере, так как позволяют одному файлу или каталогу иметь несколько имён и свободны от некоторых ограничений, присущих жёстким ссылкам (последние действуют только в пределах одного раздела и не могут ссылаться на каталоги).

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

Первый вариант (зеленым цветом приведены примеры для установки на UNIX системы):

  1. установите программный продукт
  2. создайте каталог /home/www/shared/ , в котором будут располагаться общие для всех сайтов файлы:
    mkdir /home/www/shared
  3. перенесите весь каталог /home/www/site1/bitrix/ в /home/www/shared/bitrix/ :
    mv /home/www/site1/bitrix /home/www/shared/bitrix
  4. перенесите весь каталог /home/www/site1/upload/ в /home/www/shared/upload/ :
    mv /home/www/site1/upload /home/www/shared/upload
  5. перенесите весь каталог /home/www/site1/local/ в /home/www/shared/local/ :
    mv /home/www/site1/local /home/www/shared/local
  6. создайте символическую связь для каталога /bitrix/ в каждом из сайтов:
    1. ln -s /home/www/shared/bitrix /home/www/site1/
    2. ln -s /home/www/shared/upload /home/www/site1/
    3. ln -s /home/www/shared/local /home/www/site1/
    4. ln -s /home/www/shared/bitrix /home/www/site2/
    5. ln -s /home/www/shared/upload /home/www/site2/
    6. ln -s /home/www/shared/local /home/www/site2/
  7. убедитесь, что веб-сервер (Apache, IIS ) имеет право на запись в каталог /home/www/shared/ (это необходимо будет для работы системы обновлений и загрузки графических файлов)
  8. разместите публичную часть второго сайта в каталог /home/www/site2/

Примечание : Для создания и удаления символьных ссылок в Windows (начиная с Vista) есть команда mklink , либо воспользуйтесь дополнительными программами, например, Far Manager или Junction от Sysinternals.

Важно! Файловая система FAT32 не поддерживает создание символьных ссылок.

При настройке многосайтовой конфигурации на UNIX, можно воспользоваться программным методом создания символьных ссылок:

Примечание:

В ряде случаев, например если web сервер работает в chroot, необходимо делать относительные ссылки.

Пример:
/var/www/s1 - первый сайт
/var/www/s2 - второй сайт
/var/www/shared - папка с ядром системы

Ln -s ../shared/bitrix bitrix ln -s ../shared/upload upload ln -s ../shared/local local Переходим в /var/www/s2 и выполняем те же команды.

Второй вариант . В нем символьные ссылки создаются непосредственно в папке второго сайта.

  1. Установите программный продукт сначала в каталог первого сайта /home/www/site1/
  2. Создайте в корневой папке второго сайта (/home/www/site2/) скрипт, например, под именем symlink.php :
  3. Создание ссылок на папки bitrix, local и upload Символические ссылки удачно созданы "; else $strError = "Не удалось создать ссылку на папку upload, обратитесь к администратору сервера"; } else $strError = "Не удалось создать ссылку на папку bitrix, обратитесь к администратору сервера"; } else $strError = "Указанный путь не содержит папку bitrix"; } else $strError = "Неверно указан путь или ошибка прав доступа"; if ($strError) echo "".$strError."
    Исходный путь: ".$full_path; } ?>
    Путь к папке, содержащей папки bitrix, local и upload:
  4. Запустите скрипт и укажите путь к корневой папке первого сайта, в нашем случае /home/www/site1/ .
  5. После того как символьные ссылки созданы, наберите в адресной строке браузера site1/bitrix/admin . Откроется панель авторизации.
  6. Введите данные администратора, которые указывали при установке продукта на первый сайт, и попадете в административную панель «1С-Битрикс: Управление сайтом» .

После завершения работы скрипта наличие символических ссылок на папки /bitrix , /local и /upload в папке второго сайта можно проверить по появлению одноименных папок.

На этапе создания могут возникнуть проблемы:

  • отсутствия прав на запись в текущую папку;
  • ограничение безопасности (open_basedir ), которое не позволяет пользователям разделяемого хостинга обращаться к другим сайтам.

В случае возникновения проблем с этим скриптом следует обратиться за помощью к хостеру.

Конфигурирование сайтов

Настройка сайтов выполняется в административном разделе системы на странице Настройки > Настройки продукта > Сайты > Список сайтов .

В строке первого сайта (www.site1.com ), в колонке действий выбираем команду Изменить и указываем в них:

  • Название: site1
  • Доменное имя: site1.com
  • Папка сайта: /
  • Название сайта: Корпоративный сайт компании "Название компании "
  • URL сервера: www.site1.com
  • /home/www/site1/

Если DNS настроен таким образом, что ваш сайт отвечает на адрес http://site1.com , то в поле Доменное имя желательно указывать без www. Можно перечислить в этом поле с новой строки любое число доменных имен, по которым вы хотите, чтобы отвечал сайт (или уже отвечает).

Важно иметь в виду, что значения, указанные в поле Доменное имя , используются продуктом для распространения в указанные домены информации о посетителях по технологии переноса посетителей . Поэтому крайне желательно указывать полный список доменов, по которым может ответить сайт.

Очень важно не указывать в списке доменов сайты, которые не работают на данном экземпляре продукта. Указанный неправильно или несуществующий домен может не только замедлить работу пользователей, но и фактически не позволит перенести данные в сайты, работающие не на общем экземпляре продукта .

Аналогично настроим параметры второго сайта (www.site2.com/ ):

  • Название: site2
  • Доменное имя: site2.com
  • Папка сайта: /
  • Название сайта: Интернет-магазин компании "Название компании "
  • URL сервера: www.site2.com
  • Путь к корневой папке веб-сервера для этого сайта: /home/www/site2/

Обратите внимание, что для двух сайтов в параметре Папка сайта указано одинаковое значение: "/ ". Это связано с тем, что сайты обслуживаются разными "виртуальными серверами" (в терминологии Apache) у которых для размещения файлов использован разный каталог.

Также необходимо обратить внимание на параметр Путь к корневой папке веб-сервера для этого сайта . Для разных сайтов у него свое значение, взятое из параметра DocumentRoot настроек соответствующего "виртуального сервера" (см. ниже пример части файла httpd.conf настроек Apache).

Примечание:

Необходимо иметь в виду, что при организации многосайтовости по данному способу, вы можете использовать как виртуальные сервера одной установки Apache , так и просто разные установки Apache. Это справедливо для других веб-серверов: IIS , EServ и т.д.

Важно : при создании второго сайта необходимо скопировать с основного сайта или заново создать файлы /.htaccess и /404.php .

При включенной Проактивной защите второй сайт должен быть обязательно добавлен в список .

Файл.access.php

Создайте файл .access.php c таким содержанием в корне второго сайта:

Примечание:

Для данного способа организации многосайтовости не требуется настраивать на индексной странице алгоритм выбора сайтов, как это делается при , т.к. сайт будет однозначно определяться по полю Доменное имя .

Конфигурация готова к работе.

Вход в систему

  • Наберите в адресной строке браузера http://site1/bitrix/admin (или http://site2/bitrix/admin ). Откроется панель авторизации.
  • Вводите данные администратора, которые указывали при установке продукта на первый сайт и попадете в административную панель "1С-Битрикс: Управление сайтом" .

Поскольку ядро одно и база одна - административная панель для обоих сайтов будет одинаковая.

Технически, система допускает создание произвольного числа сайтов, работающих по этой схеме. В каждом из вновь создаваемых сайтов необходимо настроить веб-сервер и создать символическую ссылку. Юридически, для создания каждого нового сайта (кроме первых двух) необходимо приобрести дополнительный купон.

Примечание: HTML кеширование не поддерживается на второй многосайтовости. Более того, этот функционал считается устаревшим. Рекомендуется использовать технологию .

Сортировка сайтов в общем списке

Есть особенность в установке значений в поле Сортировка

Наткнулся на одну статью про безгеморройный способ обеспечить Битриксу многосайтовость. Лицензия Битрикса по умолчанию подразумевает создание двух отдельных сайтов на одном движке. Но документация Битрикса вводит в ступор. Неудобно, геморройно, долго и неразумно. Некий Шаромов Денис придумал очень удобный способ организации многосайтовости на Битриксе. Не ручаюсь что именно он придумал, однако вот его статья, из которой я взял только самую основную часть, дабы разжевать все исключительно по делу, без воды и альтернативных методов, ну и на всякий пожарный - вдруг оригинал выпилят.

Здесь подразумевается многосайтовость с учетом того, что сайты будут располагаться на разных доменах. То есть, не так: www.first_site.ru и www.first_site.ru/second_site , при таком раскладе ничего настраивать не нужно. Я имею в виду вот такую связку: www.first_site.ru и www.second_site.ru (или second_site.first_site.ru ).

Суть метода Шаромова Дениса заключается в создании символических ссылок на системные папки Битрикса. По сути, эти символические ссылки есть ни что иное, как банальные ярлыки (ну, в русскоязычной Винде это так называется, в Макоси - псевдонимы). А теперь внимание : этот способ подходит только для UNIX-хостинга, при чем, физические папки обоих сайтов должны располагаться на одном и том же сервере, доступ не должен быть ограничен. То есть, на примере ftp, вы должны иметь возможность один раз залогинившись в фтп-клиенте, попасть как на первый сайт, так и на второй. Вот пример:

Это структура взята с хостинга NIC. На одном тарифе два сайта. Работает все отлично. Теперь, когда вы осознали все нюансы, перейдем к пошаговой настройки многосайтовости.

1. Установка Битрикса. Вам необходимо установить Битрикс на основной домен. В нашем случае это будет www.first_site.ru .

2. Создание символических ссылок. Вот сама суть метода. Есть php-скрипт, который, судя по статье, и написал Шаромов Денис. Вот его код:

  1. Создание ссылок на папки bitrix и upload

  2. error_reporting (E_ALL & ~E_NOTICE ) ;

    @ ini_set ("display_errors" , 1 ) ;

  3. if ($_POST [ "path" ] )

    $path = rtrim ($_POST [ "path" ] , "/\\ " ) ;

    else

    $path = "../../first_site.ru/docs" ;

  4. if ($_POST [ "create" ] )

    if (preg_match ("#^/#" , $path ) )

    $full_path = $path ;

    else

    $full_path = realpath ($_SERVER [ "DOCUMENT_ROOT" ] . "/" . $path ) ;

  5. if (file_exists ($_SERVER [ "DOCUMENT_ROOT" ] . "/bitrix" ) )

    $strError = "В текущей папке уже существует папка bitrix" ;

    elseif (is_dir ($full_path ) )

    if (is_dir ($full_path . "/bitrix" ) )

    if (symlink ($path . "/bitrix" , $_SERVER [ "DOCUMENT_ROOT" ] . "/bitrix" ) )

    if (symlink ($path . "/upload" , $_SERVER [ "DOCUMENT_ROOT" ] . "/upload" ) )

    echo "Символические ссылки удачно созданы" ;

    else

    $strError = "Не удалось создать ссылку на папку upload, обратитесь к администратору сервера" ;

    else

    $strError = "Не удалось создать ссылку на папку bitrix, обратитесь к администратору сервера" ;

  6. else

    $strError = "Указанный путь не содержит папку bitrix" ;

    else

    $strError = "Неверно указан путь или ошибка прав доступа" ;

  7. if ($strError )

    echo "" . $strError . "
    Исходный путь: " . $full_path ;

Сделайте из этого кода файл, назовите его как-нибудь. Например, siteconfig.php , а так же не забудьте поменять путь в строке №13 - ../../first_site.ru/docs на свой.

Логика здесь очень простая - вам нужно скомандовать серверу переместиться из папки docs второго сайта в папку docs первого сайта, найти там папки bitrix и upload и проставить на них ярлыки. Изображу это графически:

Для этого мы пишем ../ чтобы переместиться из docs в second_site.ru , после чего пишем еще раз ../ чтобы попасть в корневую папку аккаунта (или домашнюю папку сервака), в которой находятся папки первого и второго сайтов, а потом пишем путь к корневой папке первого сайта, то бишь first_site.ru/docs

Когда по аналогии с примером, вы пропишете данный путь, сохраните файл, загрузите его на сервер и откройте http://second_site.ru/siteconfig.php , где вы увидите это:

Просто жмите кнопку «Создать», вы должны увидеть сообщение, что символические ссылки удачно созданы. Если оно не появилось, вылезет сообщение об ошибке с подсказкой куда смотреть. Если у вас неправильный путь, отредактировать его можно прямо на странице в форме и снова нажать кнопку «Создать».

Если все так, поздравляю! Этот шаг завершен.

3. Создаем и настраиваем второй сайт. Заходим в http://second_site.ru/bitrix/admin/ , логинимся админским паролем от первого сайта, переходим в Настройки -> Настройки продукта -> Сайты -> Список сайтов и жмем на кнопку «Добавить сайт» и заполняем появившуюся форму:

То, что необходимо изменить я выделил серым цветом. Ориентируйтесь на этот скрин - там должно быть все понятно. Единственный момент - если не знаете абсолютный путь к корневой папке второго сайта, жмите на [вставить текущий ], у вас пропишется путь типа /home/account/first_site.ru /docs . Просто замените название папки первого сайта на папку второго и сохраняйте.

Что же касается шаблона - либо устанавливаете готовое решение в этот сайт, либо выбираете подготовленный и установленный шаблон, ваше право выбора ущемлять не буду.

Собственно, на этом все. Один только момент - при создании инфоблоков, пожалуйста, не забывайте о том, что их нужно привязывать к определенному сайту. И называйте инфоблоки так, чтобы можно было легко определить где он будет отображаться. Например, Новости (первый сайт) и Новости (второй сайт) .

Прочитано 20411 раз

Много сайтов

Решение бизнес-задачи по общему принципу «на каждый веб-ресурс своя система управления» является неэффективным; и особенно неэффективным, когда каждый раз система управления разная. Возникающие при таком подходе проблемы следующие:

  1. Излишние финансовые затраты, требуемые на покупку или разработку систем управления сайтами.
  2. Различные точки входа в управление сайтами, различный интерфейс управления.
  3. Разные системы авторизации и базы данных пользователей сайтов.
  4. Различное рекламное пространство.
В итоге компания имеет децентрализацию в управлении своими веб-проектами. Тратятся излишние ресурсы на создание веб-решений, а решение бизнес-задач в сети Интернет затягивается. Посетители веб-проектов компании также могут испытывать неудобства при работе с ними.

«1С-Битрикс» предлагает изменить данную ситуацию. На каждом экземпляре продукта можно создать множество сайтов в соответствии с применяемой схемой лицензирования.

Почему возникла необходимость создания многосайтовых систем и что это вообще означает? Чтобы ответить на этот вопрос я приведу вам красноречивый пример нашего разговора с клиентом.

К нам за консультациями по выбору оптимального решения обратилась компания, занимающаяся издательской деятельностью. Руководитель интернет-направления рассказал, что у них одновременно функционируют 18 самых разных сайтов. И на каждом сайте есть какая-то своя система управления контентом, какой-то механизм управления рекламой, где-то есть интернет-магазин со своими пользователями. У большинства проектов есть отдельные форумы со своими аккаунтами пользователей, где-то есть статистика, блоги…

«И вот теперь представьте, говорит он, мою табличку в Excel, где у меня хранятся все мои пароли на доступ к этому заповеднику! Ну ладно мы своих сотрудников смогли заставить помнить пароли и работать с этим, но я же не могу клиентов заставить так работать?! Мы, фактически, уже потеряли контроль над процессом разработки, обновления проектов, мы не можем открывать новые проекты…
Мне нужна система, которая будет не только для одного сайта объединять нужный мне функционал, но и позволит все сайты объединить в единой системе управления, с единой системой авторизации и безопасности, когда клиенту достаточно будет зарегистрироваться на любом из сайтов, и он сможет работать со всеми другими сайтами. Мы его будем узнавать и предлагать ему дополнительные сервисы».

Понимая данную проблематику, мы и реализовывали МНОГОСАЙТОВОСТЬ во всех редакциях программного продукта «1С-Битрикс: Управление сайтом», начиная еще с версии 4.0. Более того, каждая редакция нашего продукта (кроме "Первый сайт" и "Старт" включает лицензию на неограниченное количество сайтов. Т.е. на базе редакции «Бизнес» вы можете создать несколько проектов, объединенных системой управления , и один проект может быть большим порталом , а второй - масштабным интернет-магазином и тп. .

Любопытно, но по мере роста присутствия вашей компании в Интернете, число проектов у вас будет неуклонно расти. И если на одном или двух проектах вы еще не очень остро почувствуете проблемы несогласованности, каждый новый проект будет удваивать сложности и расходы, и замедлять ваше движение, если изначально ваши проекты не будут объединены в многосайтовую систему .

Артем Рябинков, ведущий аналитик, координатор проектов компании «1С-Битрикс»


Технология

Сайты и экземпляры

Под экземпляром продукта понимается приобретенная клиентом копия «1С-Битрикс: управление сайтом», использующая одну базу данных из списка поддерживаемых продуктом СУБД.

Под сайтом понимается совокупность следующих понятий:

  • Учетная запись в общей базе данных;
  • Публичная часть сайта (файлы и папки);
  • Настройки сайта.
Другими словами, сайт – это созданная в системе сущность, обладающая определенным набором данных (контента) и параметров (язык, шаблон дизайна, форматы даты и времени). Данные могут быть уникальными в рамках этого сайта (публичная часть, индивидуальные инфоблоки, веб-формы, опросы, форумы и т.п.) или разделяемыми между несколькими сайтами.

Технология многосайтовости

На каждый из сайтов должно указывать определенное доменное имя или набор доменных имен. Такие соответствия указываются в настройках каждого сайта. По доменным именам и вариантам адресации ограничений нет. Каждый новый создаваемый сайт может быть доменом второго или третьего уровня.

Таким образом, все сайты реализуются на базе одного экземпляра продукта и используют одну общую базу данных . Это имеет следующие неоспоримые преимущества:

  1. Единый интерфейс управления продукта позволяет унифицировано, из одной точки управлять всеми веб-проектами: изменять структуру, добавлять контент, управлять правами доступа и т.п.
  2. Единая система авторизации и единая база данных пользователей позволяет пользователю зарегистрироваться на одном веб-проекте, и в дальнейшем воспользоваться веб-сервисами и информацией на всех остальных ресурсах, в соответствии с его правами.
  3. Единая система сбора статистики как по каждому проекту по отдельности, так и с получением суммарных аналитических данных по всем проектам. Кроме того, благодаря технологи UserMultiSiteTransfer, выполняется распознавание посетителей, которые приходят на разные сайты в рамках многосайтовой конфигурации.
  4. Единое рекламное пространство, позволяющее компании или привлекаемому рекламодателю управлять размещением и показами баннеров из одной точки. А за счет технологии UserMultiSiteTransfer - распознавать посетителей и эффективно использовать баннерные показы.

Если в компании разработаны и отлажены бизнес-процессы по управлению сайтами: создание и публикация материалов, управление рекламой, опросами и т.п., то создание нового веб-ресурса не повлечет изменений этой структуры.

Сайты имеют единую базу, поэтому если у вас был реализован импорт/экспорт с вашими корпоративными или учетными системами, то поддержка нескольких сайтов будет для этого функционала прозрачной.

Многосайтовость можно реализовать двумя основными способами.

В первом и наиболее простом даже не потребуется конфигурирование веб-сервера ! Каждый сайт в корневой папке веб-сервера будет размещаться в отдельной директории, например /site1/ и /site2/. В настройках каждого сайта указываются доменные имена, по которым они должны визуализироваться, и соответствующая директория с публичной частью сайта. В результате Битрикс автоматически будет подключать соответствующие скрипты в этих директориях, которые осуществят визуализацию контента.

Дистрибутив программного продукта поставляется сконфигурированным для работы по первому способу.

Второй прием позволяет максимально разделить публичные части сайтов. Для этого на веб-сервере (Apache, IIS) нужно сконфигурировать несколько виртуальных хостов (веб-серверов). Каждый сайт в системе получает собственную корневую директорию (Document Root), в которой располагается его публичная часть. Иногда каждый сайт может даже иметь собственный IP адрес. При этом, если в первом способе, сам продукт определяет - какой сайт подключать по заданным доменным именам, то здесь эта операция будет выполняться веб-сервером. Ядро системы при такой реализации физически расположено в одном месте, скажем, на основном сайте (папки /bitrix/ и /upload/), а на остальных сайтах делаются символические ссылки на данные папки.

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

Каждый вариант реализации абсолютно прозрачен как для посетителей сайтов, так и для поисковых машин Интернета. Не выполняется никаких редиректов, что не мешает корректному индексированию каждого ресурса поисковым роботом.

Лицензирование

В стандартную поставку продукта включена лицензия на неограниченное количество сайтов (кроме лицензий "Первый сайт" и "Старт") . Приобретая экземпляр «1С-Битрикс: Управление сайтом», вы бесплатно можете создать, например, русскоязычный и англоязычный ресурс, либо корпоративный сайт и интернет-магазин.

Все сайты, работающие на одной лицензии, должны размещаться на одном хостинге, и использовать одну копию программного продукта «1С-Битрикс: Управления сайтом».

1. Вы настроили многосайтовость на разных доменов для сайтов: example.com и shop.example.com. На shop.example.com вы видите правильные данные, но шаблон сайта отображается от example.com. Ваши действия, приводящие к оптимальному результату?



+ Изменить индекс сортировки у сайтов так, чтобы example.com в списке стоял ниже, чем shop.example.com
- Перейти к многосайтовости на одном домене и сделать магазин на адресе example.com/shop
- Отключить автокэширование

2. При работе многосайтовости на разных доменах параметр DocumentRoot для каждого сайта

Значение параметра не определено
+ указывает в разные каталоги на диске, в которых размещены соответствующие сайты
- указывает на общий каталог, в котором расположено ядро системы

3. Для создания символических ссылок на сервере под управлением UNIX

Используется утилита Junction от компании Sysinternals
+ используется команда ln -s
+ может быть использован программный способ создания символической ссылки с использованием PHP функции symlink

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

Купить еще один экземпляр "1С-Битрикс: Управление сайтом" и разнести сайты на разные установки системы
- Настроить серверную переменную BX_PERSONAL_ROOT в конфигурации apache для каждого из сайтов
+ Отключить HTML-кэширование
- Отказаться от многосайтовости и построить все на одном сайте
- Отключить в настройках главного модуля "Распространять куки на все домены"

5. В дистрибутиве продукта демонстрационный сайт сконфигурирован для работы

Для многосайтовости на разных доменах
- используется комбинированный вариант настройки
+ для многосайтовости на одном домене

6. При использовании многосайтовости на разных доменах можно использовать

+ виртуальные сервера одной установки Apache
+ разные виртуальные сервера разных установок Apache

- только один виртуальный сервер одной установки Apache
+ разные установки Apache

7. Функция CMainPage::GetSiteByAcceptLanguage используется для

Определения ID сайта по текущему доменному имени
+ определения ID сайта по переменной Accept-Language в настройках браузера пользователя
- подключения сайта, который использует тот же язык, что и установленный в настройках системы как "Язык административной части по умолчанию"

8. Настройки языков используются

+ для задания параметров языка интерфейса в административном разделе
- для задания параметров отображения содержимого сайта на данном языке в публичной части сайта
- как для публичной, так и для административной части сайта

9. Для уже существующего сайта

+ не предлагается опция по созданию, привязке или копированию шаблонов
- предлагается опция, позволяющая создать новые почтовые шаблоны или скопировать существующие готовые шаблоны другого сайта
- предлагается опция, позволяющая только создать новые почтовые шаблоны

10. Идентификатор сайта определяется

Многосимвольной комбинацией, содержащей буквы латинского алфавита и цифры
+ двухсимвольной комбинацией, содержащей буквы латинского алфавита и цифры
- двухсимвольной комбинацией, содержащей только буквы латинского алфавита

11. Если в настройках сайта задать среди доменных имен какое-либо имя сайта не работающего на данном продукте, то

+ работа пользователей с сайтом может быть существенно замедлена
- в статистике появятся данные по указанному сайту
- при обращении по другим доменным именам из списка будет производится перенаправление на указанный сайт

Многие обладатели лицензии 1С битрикс знают о многосайтовости на этой платформе, как она строится и функционирует. Возможно, кто-то использует этот функционал в полном объеме, а кто-то собирается внедрить его в свой сайт. В том или ином случае данное виде будет интересно как начинающим пользователям, так и тем, кто с этим функционалом работает. Я покажу не просто как установить на одной лицензии второй сайт, а покажу принципы работы данного механизма, постараюсь объяснить все понятным и доступным языком.

Многосайтовая конфигурация 1С Битрикс

Покупая любую лицензию 1С битрикс, мы фактически приобретаем два сайта, но не каждый об этом знает, что в стандартную поставку продукта включена лицензия на их использование.

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

При необходимости установки третьего сайта на многосайтовости и последующих, нам достаточно докупить дополнительный сайт, оплатив за это не полную его стоимость, а лишь чуть меньше его половины, что довольно существенно экономит бюджет при реализации второго сайта.


Ко всему этому можно добавить следующий плюс, при установленных модулей из маркеплейс, будь они платные или бесплатные, все это привязываются к одной лицензии, это дает возможность приобретенным модулем пользоваться на всех остальных сайтах при многосайтовой системе .

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

Да и вообще мне нравится эта система управления, ее простота и удобство использования, все сделано для простых пользователей, не имеющих знания программирования. Достаточно желания и немного времени на просмотр обучающих видео и вы полноценно можете администрировать свой проект.

Детальный разбор многосайтовости на 1С Битрикс

По сути это один сайт, один экземпляр продукта, одна общая база данных и это все дает ряд преимуществ:

  • Мы можем управлять контентом, правами доступа пользователей, у нас единые права на управления модулями, мы можем управлять всеми сайтами и все это из одной административной панели;
  • Сама система авторизации едина, зарегистрировавшись, пользователь на одном проекте он автоматом имеет доступ к остальным в соответствии с его правами;
  • Сбор статистики можно собирать как по одному из проектов, так и в их сумме.



Многосайтовость можно реализовать двумя основными способами:

  • можно ее сделать на одном домене,
  • или создать на разных.


Каждый способ по своему хорош, имеет свои плюсы и минусы, и вам выбирать какой использовать. В данном уроке разберем первый вариант, реализуем многосайтовость на одном домене.

Многосайтовость на одном домене

Первый вариант это наиболее простой и не требует конфигурации веб-сервера, сайты размещаются по разным директориям на одном домене.

Как из данного примера видим второй сайт лежит в директории DWS что довольно легко реализуется:


Так же можем комбинировать виды под разные языки или использовать для других целей:

Данный способ подойдет:

  • для создания сайтов на разных языках, где основной язык будет в первоначальной категории, а второстепенные в подкотегориях;
  • далее можем реализовать региональные сайтов одной компании;
  • если в дальнейшем планируете использовать одно доменное имя;
  • если нет возможности на виртуальном хостинге создать общий доступ к файлам.


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


Давайте на примере яндекса рассмотрим, как они применяют данный функционал.

Зайдя к ним на основной сайт - https://www.yandex.ru , они предлагают ряд сайтов. Сервис по картинкам нажимаем и открывается второй сайт https://yandex.ru/images/ вложенный в другой директории, тоже самое наблюдаем когда переходим в видео https://yandex.ru/video/ , или пользуемся дополнительными сервисами "каталог", его картинкам и так далее.

Я думаю вы поняли суть как можно это задействовать в своем бизнесе.

В битриксе такой функционал поставляется в стандартной коробке и его можно задействовать на любом сайте без необходимости дополнительно настрайки сервера и дополнительных вложений, а как это сделать смотрите далее…

Создание и настройка сайта на одном домене

В первую очередь необходимо создать второй сайт.

Переходим в административную панель, (Настройки-> настройки продукта-> Сайты-> Список сайтов-> ), нажимаем, добавить сайт.

Перед нами появилась форма, которая принимает следующие поля:

  • ID – идентификатор сайта, он является обязательным, состоит из двухсимвольной комбинация, ru, en, s1, s2, и т.п.
  • Активация – включаем или отключаем данный сайт;
  • Название – обязательный параметр, в данное поле вписываем произвольное название сайта, оно используется системой для привязки к тому или иному сайту;
  • По умолчанию – полет по умолчанию, задействуется когда сайт использует несколько доменных имен, скажем так одинаковых, похожих между собой;
  • Доменное имя – каждое вписанное доменное имя, будет является маской. В данное поле вписываем доменное имя сайта, если их несколько, то каждое в новой строке. Данный функционал нам понадобится для реализации многосайтовости на разных доменах;
  • Папка сайта – поле обязательное для заполнения, указываемое значение используется как опорный уровень для построения логической и физической структуры в самом модуле и тут мы пропишем путь к второму сайту (/dws/);
  • Сортировка – задаем числовой параметр, приоритетности сайта в списке;
  • Путь к корневой папке веб сервера для этого сайта – указываем полный путь к папке, на которую настроена переменная DOCUMENT_ROT для данного сайта, используется это когда мы задействуем многосайтовость на разных доменах;
  • В секции параметры – задаем для сайта параметры под почтовые шаблоны;
  • Название сайта – прописываем название сайта, которое может быть использовано в почтовых шаблонах. Если значение не задать тогда оно будет браться из настроек главного модуля;
  • Url сервиса – текущий адрес будет использован для формирования почтовых сообщений. Адрес прописывается без http://. Если его не задать берется данный адрес из настроек главного модуля, данный функционал используется при многосайтовости на разных доменах;
  • E-mail адрес по умолчанию – тут можно задать почтовый адрес который будет использован в качестве значения макроса DEFAUL_EMAIL_FROM при формирование почтовых шаблонов. Если его не задать эти данные возьмутся из настроек главного модуля;
  • Региональные настройки – настройки по текущим языкам, формату даты, кодировки, направлению тексты;
  • Почтовые шаблоны – при помощи данной секции можем создать и привязать почтовые шаблоны к имеющимся сайтам или скопировать его;
  • Шаблон сайта – поможет запустить мастера установки готового решения, мы оставляем галочку по умолчанию и устанавливаем.

После этого мы сразу попадаем в визуальную часть созданного нами сайта, у которого указан путь в URL , который мы задавали. Переходя по его разделам, мы видим его полноценную структуру, с каталогом товаров, с его информационным содержанием, которое отличается кардинально от предыдущего сайта.

Но, а если перейдем в основную директорию, то перед нами откроется старый корпоративный сайт, в котором тоже своя структура и она не изменилась.

И этот способ довольно удобен, так как прост в реализации и не требует дополнительных настроек веб-сервера, мы может стандартным функционалом на одной лицензии сделать себе второй сайт, совсем в другом дизайне и с другим функционалом.

Изменения в системе после установки

Давайте сразу разберем, что у нас появилось, и какие изменения произошли в административной части.

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

Добавились под второй сайт дополнительных инфоблоки (каталог, новости, торговые предложения). Если перейти в сам инфоблок, видим что он, привязан к определенному сайту. Так же при необходимости можем привязать его к двум сайтам одновременно.

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


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


Все это реализуется стандартным функционалом битрикса, без каких то либо предварительных настроек сервера.

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

А на это позитивной ноте мы заканчиваем обзор многосайтовости на одном домене, и в следующем выпуске расскажу, как сконфигурировать веб сервер и установить сайт на разных доменах.

Урок подготовил Горелов Денис