Для работы многосайтовости на разных доменах нам потребуется произвести настройку программного продукта. Настройку веб-сервера Apache, как и в случае с многосайтовостью на одном домене, должна произвести хостинговая компания.
Будем использовать для примера конфигурацию из двух сайтов:
- www.site1.com — корпоративный сайт компании
- www.site2.com — интернет-магазин компании
Настройка многосайтовости на разных доменах
Каждый сайт надо разместить в соответствующем каталоге, например:
/home/www/site1/
/home/www/site2/
Установка продукта и настройка символьных ссылок
Продукт устанавливается в один из сайтов. Чтобы ядро могло работать для обоих сайтов, необходимо создать символьные ссылки для сайта, в котором нет установленного ядра. Ссылки потребуются для папок /bitrix
и /upload
.
Практически символьные ссылки используются для более удобной организации структуры файлов на компьютере, так как позволяют одному файлу или каталогу иметь несколько имён и свободны от некоторых ограничений, присущих жёстким ссылкам (последние действуют только в пределах одного раздела и не могут ссылаться на каталоги).
Ссылки можно создать двумя способами. Первый — классический, который рекомендовался компанией с самого начала. Второй — более поздний, считается более «красивым и изящным». В нем отсутствует шаг создания отдельной папки и переноса в нее ядра системы.
Первый вариант (зеленым цветом приведены примеры для установки на 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/
При настройке многосайтовой конфигурации на UNIX, можно воспользоваться программным методом создания символьных ссылок:
<? symlink("/virt/homes/forinsured/bitrix", "/virt/homes/forinsured/htdocs/bitrix"); symlink("/virt/homes/forinsured/upload", "/virt/homes/forinsured/htdocs/upload"); ?>
Пример:
/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:
<html> <head><title>Создание ссылок на папки bitrix и upload</title></head> <body> <? 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 "<font color=green>Символические ссылки удачно созданы</font>"; else $strError = 'Не удалось создать ссылку на папку upload, обратитесь к администратору сервера'; } else $strError = 'Не удалось создать ссылку на папку bitrix, обратитесь к администратору сервера'; } else $strError = 'Указанный путь не содержит папку bitrix'; } else $strError = 'Неверно указан путь или ошибка прав доступа'; if ($strError) echo '<font color=red>'.$strError.'</font><br>Исходный путь: '.$full_path; } ?> <form method=post> Путь к папке, содержащей папки bitrix и upload: <input name=path value="<?=htmlspecialchars($path)?>"><br> <input type=submit value='Создать' name=create> </form> </body> </html>
- Запустите скрипт и укажите путь к корневой папке первого сайта, в нашем случае
/home/www/site1/
. - После того как символьные ссылки созданы наберите в адресной строке браузера
site1/bitrix/admin
. Откроется панель авторизации. - Вводите данные администратора, которые указывали при установке продукта на первый сайт и попадете в административную панель «1С-Битрикс: Управление сайтом».
После завершения работы скрипта наличие символических ссылок на папки /bitrix
и /upload
в папке второго сайта можно проверить по появлению одноименных папок.
На этапе создания могут возникнуть проблемы:
- отсутствия прав на запись в текущую папку;
- ограничение безопасности (open_basedir), которое не позволяет пользователям разделяемого хостинга обращаться к другим сайтам.
В случае возникновения проблем с этим скриптом следует обратиться за помощью к хостеру.
Конфигурирование сайтов
Настройка сайтов выполняется в административном разделе системы на странице Настройки > Настройки продукта > Сайты > Список сайтов.
В строке первого сайта (www.site1.com), в колонке действий выбираем команду Изменить и указываем в них:
- Название: site1
- Доменное имя: www.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).
/.htaccess
и /404.php
.
Файл .access.php
Создайте файл .access.php c таким содержанием в корне второго сайта:
<? $PERM["/"]["*"]="R"; ?>
Конфигурация готова к работе.
Вход в систему
- Наберите в адресной строке браузера http://site1/bitrix/admin (или http://site2/bitrix/admin). Откроется панель авторизации.
- Вводите данные администратора, которые указывали при установке продукта на первый сайт и попадете в административную панель «1С-Битрикс: Управление сайтом«.
Поскольку ядро одно и база одна — административная панель для обоих сайтов будет одинаковая.
Технически система допускает создание произвольного числа сайтов работающих по этой схеме. В каждом из вновь создаваемых сайтов необходимо настроить веб-сервер и создать символическую ссылку. Юридически для создания каждого нового сайта (кроме первых двух) необходимо приобрести дополнительный купон.
Good chance of finding a decent casino with instant pays!
The sportbecome striking and this one be revealed to be first-class casino.
I have not made clear any hurtful reviews.|
It is very kids’ stuff sport{.} There is no line
to overcome and my bets are 20 cents each. as a rule I will wager for
an hour, donate 1 dollar in total. But voluminous luxury.
If you play quite you commit contribute.|
It give the feeling of like a routine game. I did not locate any clip!|
My friends and I are really leg up money on this hole. The rest are very
long shot … In this online game purposely, but unmistakably you can win.
Feel free to surf to my web page; играть в aviator|https://aviator-play-game.com/1win-aviator.php
My friends and I are really hike money on this socket. The rest are very precarious …
In this online game unhurriedly, but to be sure you can win.
Numerous collection of games which everyone will appreciate!
The fair casino in Brazil!Check out free spins just now.
Here is my website: 188bet é confiavel
obviously like your website but you have to take a
look at the spelling on quite a few of your posts. Several of them are rife with
spelling problems and I to find it very bothersome to tell the truth however I’ll surely come
again again.
Thhis ijfo is worth everyone’s attention. Where can I find out more?