В данной статье мы рассмотрим настройку мультисайтовости платформы Bitrix CMS на примере двух сайтов: основного - site1.kz, где установлено ядро системы, и дополнительного site2.kz. Для того, чтобы настроить мультисайтовость на Bitrix, необходимо будет сделать симлинки к папкам /bitrix и /upload. В консоли Linux или Unix это выглядит следующим образом: d - директория и l - симлинк.
В статье будет рассмотрена настройка мультисайтовости на движке Bitrix CMS на примере двух сайтов: основного site1.kz, где установлено ядро системы, и дополнительного site2.kz. Чтобы настроить мультисайтовость на Bitrix, нужно сделать симлинки к папкам bitrix и upload. В консоли Unix это выглядит следующим образом (d - директория, l - симлинк):
/home/d/deniatest/site1.kz/public_html/bitrix (d)<----- /home/d/deniatest/site2.ru/public_html/bitrix (l)
/home/d/deniatest/site1.kz/public_html/upload (d)<----- /home/d/deniatest/site2.ru/public_html/upload (l)
Для создания симлинков нужно подключится к аккаунту по SSH. Если у Вас Windows, то для подлключения воспользуйтесь утилитой PuTTy. После подключения нужно выполнить следующие команды:
deniatest@robin:~ [0] $ cd ~/site2.kz/public_html
deniatest@robin:~/site2.kz/public_html [0] $ ln -s $HOME/site1.kz/public_html/bitrix bitrix
deniatest@robin:~/site2.kz/public_html [0] $ ln -s $HOME/site1.kz/public_html/upload upload
Если в папке site1.kz/public_html есть папка local - симлинк нужно сделать и на нее:
deniatest@robin:~/site2.kz/public_html [0] $ ln -s $HOME/site1.kz/public_html/local local
Дальше нужно скопировать файлы index.php и .access.php с основного сайта. Для этого нужно выполнить в командной строке:
deniatest@robin:~ [0] $ cd ~/site2.kz/public_html
deniatest@robin:~/site2.kz/public_html [0] $ cp $HOME/site1.kz/public_html/index.php .
deniatest@robin:~/site2.kz/public_html [0] $ cp $HOME/site1.kz/public_html/.access.php .
Затем нужно настроить общий доступ к двум папкам первого сайта в Файловом менеджере, абсолютный путь к ним:
/home/d/deniatest/site1.kz/public_html/bitrix /home/d/deniatest/site1.kz/public_html/upload
Для этого нужно открыть Файловый менеджер, затем перейти в каталог, который нужно сделать общим. Начнем с каталога bitrix:
Необходимо поставить галочки на пункты "Чтение и запись" и "Включая вложенные папки", затем нажать кнопку "Открыть доступ":
То же самое нужно сделать с каталогом upload, который находится в корне сайта. В итоге должно получиться так, как на скриншоте. Видно, что на обоих каталогах значок, показывающий, что они открыты для всего аккаунта:
Если в папке site1.kz/public_html есть папка local - к ней также нужно настроить общий доступ (по аналогии с bitrix и upload).
Перейдем к настройкам в административной панели Bitrix. Для этого в адресной строке браузера нужно ввести http://имя_домена.kz/bitrix/admin . В рассматриваемом примере это основной сайт, где расположено ядро Bitrix - http://site1.kz/bitrix/admin . В административной части сайта нужно перейти в раздел:
Настройки -> Сайты -> Список сайтов -> Добавить сайт
Затем нужно ввести ID нового сайта site2.kz, в рассматриваемом примере это s2, после чего настроить сайт так, как на скриншоте:
Ниже в пункте "Путь к корневой папке веб-сервера для этого сайта" нужно указать абсолютный путь до основного сайта, для этого можно просто нажать на "Вставить текущий", путь подставится автоматически:
Далее в разделе "Шаблон сайта" можно выбрать любой произвольный шаблон, чтобы сайты отличались друг от друга. После этого нужно нажать "Применить" затем "Сохранить":
Для проверки можно добавить небольшой скрипт в корень обоих сайтов:
/home/d/deniatest/site1.kz/public_html /home/d/deniatest/site2.kz/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.kz/test.php http://site2.kz/test.php