Bitrix веб-окружение 4. Создание виртуальных хостов.

Столкнулся с проблемой в веб-окружения 4. Задача состояла в следующем, – установить CentOS 5.8 + Битрикс Веб-окружение 4, после чего подключить домен 2-го уровня и затем создать поддомены, на каждом из которых будет крутиться своя копия Битрикс – Управления сайтом.

В стандартной комплектации, при добавлении нового поддомена в виртуальной машине первый сайт удачно встал и запустился. Далее, создал второй поддомен и тут вместо стандартного установщика Битрикса увидел контент сайта первого поддомена без шаблона.

Прочитав кучу мануалов, нашел простое решение, которое не требует замены основных скриптов, поставляемых из коробки. Суть решения заключается в том, что каждый сайт нужно сажать на отдельный внутренний порт апача. Т.е. Nginx принимаем на стандартный 80 порт и затем перекидыват выполнение скриптов на какой нибудь 127.0.0.1:8080 для первого поддомена, на 127.0.0.1:8081 для второго поддомена и так далее.

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

Для того, чтобы это сделать, нужно войти в папку /root/bitrix-env/, найти файл add_site.sh и добавить например, после раздела #Get folder name следующие строчки:

Этим мы говорим, что нужно прочитать в файле latest_port номер последнего добавленного порта и прибавить к нему 1. Затем сохранить это значение в переменную siteport и записать его в тот же файл (обновить).

После этого спускаемся вниз, почти в каждый конец.

После строки:

Добавляем:

После строки:

После строки:

Добавляем:

После этого нужно немного подправить шаблоны виртуальных хостов, которые находятся в папке /root/bitrix-env/:

Во всех них нужно найти и заменить:

на

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

Ну и последнее, что осталось сделать, это в /root/bitrix-env/ создать файл latest_port и записать в него значение последнего использованного порта в созданном виртуальном хосте. Если вы еще не добавляли никаких доменов и поддоменов, то можно записать 8079, в результате нумерация при создании хостов начнется с 8080 и так далее. Можно выбрать другие порты, тут уж как хотите.

После произведенных действий перезапустите конфиги:

На этом все :)

  • http://bitva-brendov.ru Battle of Brands

    Данная проблема решена в веб-окружении 4.1 и выше

  • ustas

    Точно весь этот огород нужен?
    Была похожая проблема.
    Решилась добавлением одной строки в конфиг виртуальных хостов апача:
    NameVirtualHost *:80

    • SEr

      Этот огород больше не нужен, в новых версиях решили данную проблему