LINUX.ORG.RU
ФорумAdmin

Настройка EXIM4 в Ubuntu. Откуда он берёт переменные в конфиге?


0

0

Пытаюсь настроить EXIM4 в Ubuntu, точнее допилить тот конфиг который выдаёт dpkg-reconfigure exim4-config. Выбрал опцию «весь конфиг одним файлом», разбираюсь теперь в exim4.conf.template.

Вот например, там есть

# Decide which domain to use to add to all unqualified addresses.
# If MAIN_PRIMARY_HOSTNAME_AS_QUALIFY_DOMAIN is defined, the primary
# hostname is used. If not, but MAIN_QUALIFY_DOMAIN is set, the value
# of MAIN_QUALIFY_DOMAIN is used. If both macros are not defined,
# the first line of /etc/mailname is used.
.ifndef MAIN_PRIMARY_HOSTNAME_AS_QUALIFY_DOMAIN
.ifndef MAIN_QUALIFY_DOMAIN
qualify_domain = ETC_MAILNAME
.else
qualify_domain = MAIN_QUALIFY_DOMAIN
.endif
.endif
Откуда exim узнает значение ETC_MAILNAME, например? Откуда он узнает, что в ETC_MAILNAME лежит /etc/mailname? В exim4.conf.template эта переменная не устанавливается, в /etc/init.d/exim4 тоже. И так со многими переменными. Меня интересует не что лежит в конкретной переменной, а откуда берётся это значение. Это мне кажется, или в самом деле в exim4.conf.template огромное количество незаданных переменных?

★★★★★

Судя по комментарию, если оба .ifndef не определены, то берется первая строка из /etc/mailname. Скорее всего они как раз и не определены, поэтому конфигуратор и не задал нигде ETC_MAILNAME

gruy ★★★★★
()

В дебьяне так:

exim4.conf.localmacros - там можешь задавать свои макросы и переменные. Стартовый скрипт на основе exim4.conf.template и exim4.conf.localmacros генерит тебе конфиг /var/lib/exim4/config.autogenerated, с которым ексим и стартует.

sabonez ★☆☆☆
()
Ответ на: комментарий от gruy

macro меня побери

Вписал строчку ETC_MAILNAME = /etc/mailname, получил ошибку

macro "ETC_MAILNAME" is already defined (use "==" if you want to redefine it

То есть где-то оно всё же определяется. "Только где же этот кто-то и куда он мог залезть?"

Camel ★★★★★
() автор топика
Ответ на: комментарий от sabonez

ЗЫ, а dpkg-reconfigure генерит update-exim4.conf.conf он тоже используется для создания config.autogenerated. Во.

sabonez ★☆☆☆
()
Ответ на: macro меня побери от Camel

> То есть где-то оно всё же определяется.

может прямо в коде?

anonymous
()

От простого к сложному.

Меня всё больше прельщает идея использовать взять /var/lib/exim4/config.autogenerated в качестве основы и дальше допиливать его вручную. Уж больно велосипедисты всякие надстройки для облегчения моей жизни.

Camel ★★★★★
() автор топика
Ответ на: От простого к сложному. от Camel

По сабжу -

dpkg -L exim4-config

>Меня всё больше прельщает идея использовать взять /var/lib/exim4/config.autogenerated в качестве основы и дальше допиливать его вручную.

+1, слишком много наворотили. Пока не разберусь, всё лишнее уберу. Но, ИМХО, вместо копирования куда-нибудь config.autogenerated лучше разбить при настройке (dpkg-reconfigure exim4-config ) конфиг на отдельные файлы (/etc/exim4/conf.d), закомментировать там всё левое, а рабочий конфиг генерить тем же dpkg-reconfigure

router ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.