Руководство по конфигурированию многосайтовых систем Содержание использование многосайтовости 5 - korshu.ru o_O
Главная
Поиск по ключевым словам:
страница 1страница 2
Похожие работы
Название работы Кол-во страниц Размер
Руководство по эксплуатации Содержание Комплект поставки 3 Вступление... 2 611.1kb.
Руководство по эксплуатации Содержание (краткое) подсоединение 13 2371.28kb.
Руководство поставщика (данное руководство не предназначено для иностранных... 7 676.59kb.
График семинаров 2010-2011 уч г 1 87.59kb.
Информатизация образования предполагает использование современных... 2 502.39kb.
Руководство по планированию установки Microsoft Office 2010 для ит-специалистов 75 6914.12kb.
Руководство пользователя Содержание Начало работы с приложением 3 1 204.06kb.
Руководство пользователя санкт-Петербург 2012г содержание краткое... 1 312.45kb.
Руководство по развертыванию услуги Содержание глава I. Аренда для... 1 156.88kb.
Руководство пользователя содержание 1 краткое описание 3 1 Основные... 3 429.14kb.
Проектирование информационных систем 1 196.37kb.
"Любовь самая зыбкая разновидность счастья" 1 25.62kb.
Инструкция по работе с сервисом «sms-платеж» 1 218.94kb.

Руководство по конфигурированию многосайтовых систем Содержание использование многосайтовости - страница №2/2

Языковые версии сайта


Очень часто возникает вопрос: для проекта необходимо представить на сайте материалы на разных языках, потребуется ли для этого покупать дополнительные лицензии на сайты?

Многосайтовость и языковые версии сайта – это разные понятия, хотя иногда взаимосвязанные. При необходимости языковые версии можно реализовать и как отдельные языковые папки (разделы) в составе одного сайта и как отдельные сайты.

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

Разные языковые папки


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

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



  • Обратите внимание! Создание языковых версий сайтов как отдельных языковых папок требует хорошего знания системы и программирования высокого уровня, связанные с корректным распознанием необходимой пользователю языковой версией проекта. Поэтому мы рекомендуем реализовывать языковые версии именно как многосайтовость, то есть в виде отдельного сайта на другом языке.

  • Примечание: для различных разделов на сайте могут быть установлены различные шаблоны сайта. Для каждого шаблона можно задать отдельную кодовую страницу. Таким образом, можно представить каждый языковой раздел в отдельном дизайне. Для задания разных шаблонов для разных папок в этом случае в настройках сайта нужно выбрать условие для отображения шаблона "для файла или папки" и ввести в поле название папки. Например: /ru/

Языковые версии как отдельные сайты


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

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

Технология переноса посетителей между сайтами


Особенностями многосайтовой системы являются:

единые права на все сайты

единый набор бюджетов пользователей на все сайты

единая система ведения статистики на все сайты

и т.п.

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



Распознавание посетителей осуществляется с помощью файлов cookie (куков), представляющих из себя информацию, передаваемую между веб-сервером и браузером и хранимую только на локальном диске посетителя.

Теперь постараемся объяснить на примере суть проблемы:

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

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

Теперь представим, что этот же посетитель пришел на сайт B. Возникает задача "узнать" его как посетителя в недавнем прошлом сайта A. Под термином "узнать" здесь понимается - получить идентификаторы, выданные ему на сайте A. Проблема осложняется тем, что если доменное имя сайта B отличается от доменного имени сайта A, то информация хранимая в cookie принадлежащих сайту A не может быть получена при заходе посетителя на сайт B. Также есть обратная проблема - cookie устанавливаемые с сайта A (и на этот же сайт A) не могут быть установлены на сайт B. Такова политика безопасности браузеров.

Для решения вышеописанных проблем используется технология переноса cookie посетителя между разными сайтами с разными доменными именами и принадлежащих одному порталу. Она имеет также название UserMultiSiteTransfer.

Алгоритм работы технологии можно описать так:

Когда посетитель заходит на сайт A, идентификаторы, выдаваемые ему, будут сохраняться в cookie с помощью функции CMain::set_cookie, основная задача которой не только установить cookie для текущего сайта A, но и запомнить данные этого cookie для дальнейшего распространения его на другие сайты B, C, D.

В конце визуальной части эпилога вызывается функция CMain::ShowSpreadCookieHTML. Эта функция выводит набор IMG'ов, в каждом из которых вызывается скрипт spread.php с того домена на который необходимо установить cookie. Таким образом для сайтов B, C, D будет создано три IMG'а, в каждом из которых будет вызван скрипт http://доменное имя сайта/bitrix/spread.php. В параметрах этого скрипта будет передана необходимая информация для установки cookie. Эта информация передается в зашифрованном виде и подписана зашифрованным лицензионным ключом этого портала. В результате получится, что cookie, установленный на сайте A, будет скопирован (перенесен) на другие сайты - B, C, D.

Аналогично происходит и для других сайтов. Если посетитель, зайдя на сайт B, получит какой либо идентификатор который необходимо сохранить в cookie, то этот идентификатор будет также сохранен и для других сайтов A, C, D. Таким образом мы добиваемся единого набора cookie для всех сайтов одного портала.

Использование данной технологии позволяет:

В модуле Веб-Аналитика подсчитывать уникальных посетителей для всего портала.

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

Другие модули также активно используют эту методику.



  • Примечание: Технология UserMultiSiteTransfer будет использоваться для сайтов многосайтовой конфигурациии, если активирована опция: Распространять куки на все домены в настройках Главного модуля.


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


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

Многосайтовость на одном домене. (Старое название: Многосайтовость по первому способу.) Продукт и все сайты работают под управлением одной копии веб-сервера Apache.

Многосайтовость на разных доменах. (Старое название: Многосайтовость по второму способу.) Каждый сайт работает под управлением отдельной копии веб-сервера Apache или отдельного виртуального веб-сервера.

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

Многосайтовость на одном домене рекомендуется:

если вам необходимо создание сайтов на разных языках или, например, региональных сайтов одной компании;

если планируется, что оба сайта будут использовать общее доменное имя;

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

В этом случае URL будут представлены как:

http://example.com/s1 (http://example1.com/s1)

http://example.com/s2 (http://example.com/s)

или как:


http://example.com/ (http://example1.com/)

http://example.com/s2 (http://example.com/s2)

Многосайтовость на разных доменах рекомендуется:

если тематика создаваемых сайтов разная или требуется создание сайтов с уникальными URL;

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

Использование многосайтовости на разных доменах так же позволяет исключить из URL-ов на сайте лишние подкаталоги /s1/ или /s2/ и начинать формирование URL адресов прямо от каталога "/". То есть адреса сайтов будут иметь вид:

http://www.example.ru/

http://www.example.com/

http://www.second.example.ru/

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

Обе конфигурации будут рассмотрены на примере создания многосайтовой системы, состоящей из двух сайтов:

www.site1.com - корпоративный сайт компании

www.site2.com - Интернет-магазин компании

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

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


Перед настройкой системы на работу с несколькими сайтами необходимо создать новый сайт. Это осуществляется в Административном разделе на странице Список сайтов (Настройки > Настройки продукта > Сайты > Список сайтов) В момент добавления записи о новом сайте в таблицу сайтов необходимо указать следующие параметры:

идентификатор сайта – двухсимвольная комбинация, например: ru, en, de, s1, s2 и т.п.

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

доменное имя – указываются доменные имена, которые соответствуют данному сайту.

  • Обратите внимание: доменные имена задаются в отдельной строке (одно имя на строку). Каждое доменное имя является «маской», т.е. может включать субдомены. Например, по имени site.ru могут быть выбраны www.site.ru или www1.site.ru, а также my-site.ru. В данном случае site.ru частично входит в состав всех трех доменных имен.



  • Важно! Будьте внимательны при указании доменных имен сайта. Если на сайте используется технология cookies, то в случае некорректного указания доменных имен при просмотре пользователем страниц вашего сайта также будет выполняться обращение и к другому сайту (доменное имя которого указано по ошибке).

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

    Например, если для сайта http://demo.bitrixsoft.com/ вместо demo.bitrixsoft.com указано demo.bitirxsoft.com (ошибка в написании второго i), то в код страниц сайта http://demo.bitrixsoft.com/ будет добавлен код вида:

src="http://demo.bitirxsoft.com/bitrix/spread.php?

s=QklUUklYX1NNX0dVRVNUX0lEATk5NDgBMTE5MTU5NDU0OAEvAQECQklUUkl

YX1NNX0xBU1RfVklTSVQBMTAuMTAuMjAwNiAxODoyOTowOAExMTkxNTk0NTQ4AS8BAQI%3D&

k=9e8de698c64709edf2e76202279ce889">


    В результате посетителям сайта http://demo.bitrixsoft.com/ будет выполняться показ всплывающих окон сайта с доменным именем demo.bitirxsoft.com:



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

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

Папка сайта – задается папка, в которой расположено информационное содержимое сайта, его разделы и страницы.

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



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

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

URL сервера – заданный адрес сервера будет использован при формировании почтовых сообщений на основе шаблонов. Задание адреса производится без http://. В случае, если значение не задается в настройках сайта, будет использовано одноименное значение из настроек главного модуля.

E-mail адрес по умолчанию – задается электронный адрес, который будет использован в качестве значения макроса DEFAULT_EMAIL_FROM при формировании почтовых сообщений для каждого сервера. В случае, если данное поле не заполнено для сайта, в шаблоне будет использован почтовый адрес, указанный в настройках главного модуля.

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

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

    Например, находясь в административном разделе при заходе с сайта site1.ru/bitrix/admin будет подставлено значение пути именно для этого сайта:

/home/public_html/site1/

    Чтобы установить текущее значение для site2.ru необходимо зайти в административную часть site2.ru/bitrix/admin. Тогда будет подставлено значение пути:

/home/public_html/site2/

При создании нового сайта дополнительно предлагается опция по созданию почтовых шаблонов. Доступны следующие варианты:

Не создавать - шаблоны для сайта не будут созданы;

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

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

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


Настройки сайта и настройки языков


В Административном разделе «1С-Битрикс: Управление сайтом» настройки языков и сайтов выполняются раздельно.

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



  • Примечание: настройки языков предназначены для задания параметров языка интерфейса в Административном разделе.

Настройка осуществляется в разделе Настройки > Настройки продукта > Языки интерфейса.

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





Параметр Направление текста также влияет только на отображение административного раздела сайта.



  • Обратите внимание: количество языков интерфейса никак не влияет на количество сайтов в системе.

Для каждого сайта можно задать определенные языковые настройки. Это делается в Административном разделе сайта на странице настроек параметров сайта (Настройки > Настройки продукта > Сайты > Список сайтов) в разделе Параметры.

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



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



За выбор языка интерфейса в кодах сайта отвечает функция.







  • Обратите внимание: Выбор языка интерфейса определяет, например, язык сообщений публичных компонентов и сообщений об ошибке, которые выдаются в публичной части сайта.

Как система различает сайты


В плане многосайтовости при создании сайтов в системе «1С-Битрикс: Управление сайтом» нас интересуют поля: Доменное имя и Папка сайта. Именно они определяют, какой из сайтов откроет система по запросу пользователя. Эти поля вы найдете в форме создания (редактирования) сайта на странице Настройки > Настройки продукта > Сайты > Список сайтов.


Доменное имя


По получении запроса от пользователя система сначала проверяет текущий домен: из настроек всех сайтов выбираются домены и сопоставляются с доменом, на котором находится пользователь. При этом сравнивается только правая часть до точки (т.е. все поддомены автоматически относятся к этому домену). Например, если в настройках указано: example.com, а пользователь открыл www.example.com, то условие будет считаться выполненным. Но если он откроет my-example.com - это уже другой домен, его надо отдельно указывать в поле Доменное имя.

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

Доменное имя желательно указывать без www. Можно перечислить в этом поле с новой строки любое число доменных имен, по которым вы хотите, чтобы отвечал сайт. Все домены третьего или более низких уровней продукт будет считать принадлежащими данному сайту и будет открывать сайт №1 как по имени www.site1.com так же, как и без www.

Папка сайта


Если доменные имена не указаны или на разных сайтах указаны одинаковые домены, то определение происходит по полю Папка сайта. Обратите внимание, что здесь указывается папка относительно корня сайта (т.е. путь в URL), а не путь в файловой системе на сервере.

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

Пример: В настройках сайтов в поле Папка сайта для первого указана папка - /, другого - /ru. При открытии страницы example.com/forum/messages/ попадаем на первый сайт, при открытии example.com/ru/forum/messages/ - на второй. При этом папка bitrix (содержащая ядро продукта) лежит в корне, никуда не копируется и никакие другие настройки на сервере не делаются.

При создании сайтов по многосайтовости на одном домене:

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

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

При создании сайтов по многосайтовости на разных доменах:

в поле Путь к корневой папке веб-сервера для этого сайта должны быть указаны разные пути.

поле Папка сайта должна быть указана корневая папка «/» для обоих сайтов.

  • Важно! Для определения текущего сайта не используется порт, т.е. нельзя настроить многосайтовость на одном домене и разных портах.

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


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

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



/www/s1/ - первый сайт,

/www/s2/ - второй сайт.

Так и комбинации вида:



/www/s1/ - первый сайт,

/www/s1/s2 – второй сайт.

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

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

Настройка на многосайтовость на одном домене


При настройке многосайтовости на одном домене мы располагаем одним веб-сервером Apache, DocumentRoot которого настроен на каталог /home/www/allsites/.

  • Примечание: Путь к корню сайта в файловой системе сервера задается в настройках веб-сервера, например:

для Apache - в файле httpd.conf параметр DocumentRoot;

для IIS - в свойствах сайта, закладка Home Directory > Local Path.

Установим программный продукт «1С-Битрикс: Управление сайтом» в этот каталог.

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

/home/www/allsites/s1/

/home/www/allsites/s2/

Имена каталогов s1, s2 можно выбирать любыми, например, shop и company, или en и de соответственно. Возможен так же вариант, когда один из сайтов располагается в корневом каталоге (например, /home/www/allsites/), а второй сайт в подкаталоге (например, /home/www/allsites/s2/).

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


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

Выбираем Изменить параметры сайта №1 (www.site1.com) и указываем в них:



Название: site1

Доменное имя: оставить пустым

Папка сайта: /s1/

Название сайта: Корпоративный сайт компании "Название компании"

URL сервера: www.site1.com

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

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

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

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



Название: site2

Доменное имя: оставить пустым

Папка сайта: /s2/

Название сайта: Интернет-магазин компании "Название компании"

URL сервера: www.site2.com

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

  • Примечание: Многосайтовость на одном домене на вебсервере IIS реализуется подобно тому, как это делается для сервера Apache.

Многосайтовость на разных доменах


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

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



www.site1.com - корпоративный сайт компании

www.site2.com - интернет-магазин компании

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


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

/home/www/site1/

/home/www/site2/

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


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

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



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

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

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

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

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

установите программный продукт "1С-Битрикс: Управление сайтом" сначала в каталог первого сайта /home/www/site1/

создайте каталог /home/www/shared/, в котором будут располагаться общие для всех сайтов файлы:

mkdir /home/www/shared

перенесите весь каталог /home/www/site1/bitrix/ в /home/www/shared/bitrix/:

mv /home/www/site1/bitrix /home/www/shared/bitrix

перенесите весь каталог /home/www/site1/upload/ в /home/www/shared/upload/:

mv /home/www/site1/upload /home/www/shared/upload

создайте символическую связь для каталога /bitrix/ в каждом из сайтов:

ln -s /home/www/shared/bitrix /home/www/site1/

ln -s /home/www/shared/upload /home/www/site1/

ln -s /home/www/shared/bitrix /home/www/site2/

ln -s /home/www/shared/upload /home/www/site2/

убедитесь, что веб-сервер (Apache, IIS) имеет право на запись в каталог /home/www/shared/ (это необходимо будет для работы системы обновлений и загрузки графических файлов)

разместите публичную часть второго сайта в каталог /home/www/site2/

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



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

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

symlink("/virt/homes/forinsured/bitrix", "/virt/homes/forinsured/htdocs/bitrix");

symlink("/virt/homes/forinsured/upload", "/virt/homes/forinsured/htdocs/upload");

?>

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

/var/www/s1 - первый сайт

/var/www/s2 - второй сайт

/var/www/shared - папка с ядром системы

    Заходим в /var/www/s1 и создаём ссылки:

ln -s ../shared/bitrix bitrix

ln -s ../shared/upload upload

    Переходим в /var/www/s2 и выполняем те же команды.

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

Установите программный продукт «1С-Битрикс: Управление сайтом» сначала в каталог первого сайта /home/www/site1/

Создайте в корневой папке второго сайта (/home/www/site2/) скрипт, например, под именем symlink.php:



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



error_reporting(E_ALL & ~E_NOTICE);

@ini_set("display_errors",1);

if ($_POST['path'])

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

else


$path = '../site2/www';

if ($_POST['create'])

{

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



$full_path = $path;

else


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

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, обратитесь к администратору сервера';

}

else



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

}

else



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

if ($strError)

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

}

?>



Путь к папке, содержащей папки bitrix и upload:







<< предыдущая страница