Настройка многосайтовости для 1С-Битрикс

В статье будет рассмотрена настройка мультисайтовости на движке Bitrix CMS на примере двух сайтов: основного site1.ru, где установлено ядро системы, и дополнительного site2.ru.

Создание симлинков

Чтобы настроить мультисайтовость на Bitrix, нужно сделать симлинки к папкам bitrix и upload. В консоли Unix это выглядит следующим образом (d - директория, l - симлинк):

/home/d/deniatest/site1.ru/public_html/bitrix (d)<----- /home/d/deniatest/site2.ru/public_html/bitrix (l)
/home/d/deniatest/site1.ru/public_html/upload (d)<----- /home/d/deniatest/site2.ru/public_html/upload (l)

Для создания симлинков нужно подключится к аккаунту по SSH. Если у Вас Windows, то для подключения воспользуйтесь утилитой PuTTy. Подробная инструкция здесь. После подключения нужно выполнить следующие команды:

deniatest@robin:~ [0] $ cd ~/site2.ru/public_html
deniatest@robin:~/site2.ru/public_html [0] $ ln -s $HOME/site1.ru/public_html/bitrix bitrix
deniatest@robin:~/site2.ru/public_html [0] $ ln -s $HOME/site1.ru/public_html/upload upload

Если в папке site1.ru/public_html есть папка local - симлинк нужно сделать и на нее:

deniatest@robin:~/site2.ru/public_html [0] $ ln -s $HOME/site1.ru/public_html/local local

Операции с файлами

Дальше нужно скопировать файлы index.php и .access.php с основного сайта. Для этого нужно выполнить в командной строке:

deniatest@robin:~ [0] $ cd ~/site2.ru/public_html
deniatest@robin:~/site2.ru/public_html [0] $ cp $HOME/site1.ru/public_html/index.php .
deniatest@robin:~/site2.ru/public_html [0] $ cp $HOME/site1.ru/public_html/.access.php .

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

/home/d/deniatest/site1.ru/public_html/bitrix
/home/d/deniatest/site1.ru/public_html/upload

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

Необходимо поставить галочки на пункты "Чтение и запись" и "Включая вложенные папки", затем нажать кнопку "Открыть доступ":

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

Если в папке site1.ru/public_html есть папка local - к ней также нужно настроить общий доступ (по аналогии с bitrix и upload).

Настройки в административной панели

Перейдем к настройкам в административной панели Bitrix. Для этого в адресной строке браузера нужно ввести:

http://имя_домена.ru/bitrix/admin

В рассматриваемом примере это основной сайт, где расположено ядро Bitrix:

http://site1.ru/bitrix/admin

В административной части сайта нужно перейти в раздел:

Настройки -> Сайты -> Список сайтов -> Добавить сайт

Затем нужно ввести ID нового сайта site2.ru, в рассматриваемом примере это s2, после чего настроить сайт так, как на скриншоте:

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

Далее в разделе "Шаблон сайта" можно выбрать любой произвольный шаблон, чтобы сайты отличались друг от друга. После этого нужно нажать "Применить" затем "Сохранить":

Для проверки можно добавить небольшой скрипт в корень обоих сайтов:

/home/d/deniatest/site1.ru/public_html
/home/d/deniatest/site2.ru/public_html

Содержимое скрипта:

<?require($_SERVER['DOCUMENT_ROOT']."/bitrix/header.php");?>
<? echo "SITE_ID = ".SITE_ID; ?>
<?require($_SERVER['DOCUMENT_ROOT']."/bitrix/footer.php");?>

Скрипт можно назвать test.php, после чего обратиться к нему через браузер:

http://site1.ru/test.php
http://site2.ru/test.php

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

Теги:

41
17498