В статье будет рассмотрена настройка мультисайтовости на движке Bitrix CMS на примере двух сайтов: основного site1.ru, где установлено ядро системы, и дополнительного site2.ru.
Мы разработали видеоинструкцию, где в удобном формате объяснили как осуществляется настройка многосайтовости (мультисайтовости) Bitrix.
Создание симлинков
Чтобы настроить мультисайтовость на 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


Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Бегета – ждем вас в нашем сообществе в Telegram.