Шаблонизатор конф. файлов

Логачёв Дмитрий Евгеньевич добавил(а) 3 года назад
Не проблема

Имеется потребность определённую группу пользователей/доменов "вешать" на отдельный IP:PORT apache (НЕ 127.0.0.1)

Создаём конфиг


[root@srv2 templates]# cat apache2-vhosts.template

{#}{% if $RESELLER_NAME == RESELLER_NAME %}

{#}<VirtualHost IP:PORT>

{#}{% else %}

<VirtualHost [% $LISTEN_ON %]>

{#}{% endif %}

Естественно без {#}

Создание/удаление корректно, НО при изменении домена, данные дописываются в конец файла, при чём у любого домена, даже не принадлежащего реселлеру

Полагаю парсер конфига из-за этого условия не видит уже созданный виртуалхост

Комментарии (2)

фото
1

Для корректной работы шаблонизатора в пределах блока IF/ELIF/ELSE все открывающие теги должны иметь закрывающие. Т.е. для решения проблемы нужно в блок IF и в блок ELSE поместить полностью всю секцию VirtualHost:


{% if $RESELLER_NAME == RESELLER_NAME %}


<VirtualHost IP:PORT>

...


</VirtualHost>


{% else %}


<VirtualHost [% $LISTEN_ON %]>


...


</VirtualHost>


{% endif %}

фото
1

Это помогло

Спасибо, жаль что на решение такого вопроса ушёл целый месяц..