summaryrefslogtreecommitdiff
path: root/exim/debian/manpages/update-exim4.conf.8
blob: c8c631995aeac516820c1b17df44129b19cbaf57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH UPDATE-EXIM4.CONF 8 "January  11, 2004" EXIM4
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.\" \(oqthis text is enclosed in single quotes\(cq
.\" \(lqthis text is enclosed in double quotes\(rq
.SH NAME
update\-exim4.conf \- Generate exim4 configuration files.
.SH SYNOPSIS
.B update\-exim4.conf [\-v|\-\-verbose] [\-h|\-\-help] [\-\-keepcomments] [\-\-removecomments] [\-o|\-\-output file]

.SH OPTIONS
.TP
.I \-v|\-\-verbose
Enable verbose mode, tell about ignored, user modified files
.TP
.I \-h|\-\-help
Show short help message and exit
.TP
.I \-\-keepcomments
Do not remove comment lines from the output file.
.TP
.I \-\-removecomments
Remove comment lines from the output file. [Default]
.TP
.I \-o|\-\-output file
Write output to file instead of /var/lib/exim4/config.autogenerated.
.TP
.I \-d|\-\-confdir directory
Read input from directory instead of /etc/exim4.

.SH DESCRIPTION
The script
.B update\-exim4.conf
generates the main configuration files
.I /var/lib/exim4/config.autogenerated
for
.B Exim v4
by merging the data in the template file
.I /etc/exim4/exim4.conf.template
or the ones in the
.I /etc/exim4/conf.d
directory tree respectively and
.I /etc/exim4/update\-exim4.conf.conf
to the output file
.I /var/lib/exim4/config.autogenerated.
.PP
Depending on the setting of dc_use_split_config in
/etc/exim4/update\-exim4.conf.conf
.B update\-exim4.conf
either sorts the files in the subdirectories main, acl, router, transport,
retry, rewrite and auth of /etc/exim4/conf.d in the lexical sort order,
concatenates them and replaces the patterns DEBCONFsomethingDEBCONF or only
replaces the patterns DEBCONFsomethingDEBCONF listed in
/etc/exim4/exim4.conf.template.
It does not change the other contents of these files.
This makes it very simple to make small changes to the configuration and
still have the benefits of debconf.

On the other hand if you don't want to manage exim4.conf with debconf
install your own handcrafted version as /etc/exim4/exim4.conf.
- Exim will use this file if it exists and ignore the autogenerated one.
Additionally you might want to set
.I dc_eximconfig_configtype=none
in /etc/exim4/update\-exim4.conf.conf to stop debconf from asking you questions about exim4.

.B update\-exim4.conf
exits silently and does nothing if /etc/exim4/exim4.conf exists and -o
was not used to direct the output to a different file than
/var/lib/exim4/config.autogenerated.

.B update\-exim4.conf
ignores all files in the conf.d directory that have a filename which
does not consist only of letters, numbers, underscores and hyphens
([:alnum:]_\-), similar to
.B run\-parts(8).
For easy interaction with packages extending Exim additionally
/etc/exim4/conf.d/foo/bar.rul is used instead of
/etc/exim4/conf.d/foo/bar if it exists!

If 
.B update\-exim4.conf
is called without the option \-o it checks the validity of the
freshly generated configurationfile and exits with an error instead
of installing the file to /var/lib/exim4/config.autogenerated.

.SH EXAMPLES
You want to be able to check exim's queue as normal user: Generate a new
file, e.g. /etc/exim4/conf.d/main/40_local_mailq, containing only the line
.I queue_list_requires_admin = false

.SH NOTES
.B update\-exim4.conf
changes the file permissions of the output file to the value of the environment
variable CFILEMODE, if CFILEMODE is set neither in
/etc/exim4/update\-exim4.conf.conf nor in the environment it defaults to 0644.
Change this to 0640 if you're keeping sensible information (LDAP credentials
et. al.) in there.

.SH FILES
.B update\-exim4.conf
manages these files:
.TP
.I /var/lib/exim4/config.autogenerated
Exim's main configuration file

.SH REPLACEMENT PATTERNS
.B update\-exim4.conf
know about these identifiers:
.TP
.I DEBCONFrelay_domainsDEBCONF
is replaced by the contents of dc_relay_domains in
/etc/exim4/update\-exim4.conf.conf
.TP
.I DEBCONFrelay_netsDEBCONF
is replaced by the contents of dc_relay_nets in
/etc/exim4/update\-exim4.conf.conf
.TP
.I DEBCONFvisiblenameDEBCONF
holds the contents of (the first line of) /etc/mailname
.TP
.I DEBCONFreadhostDEBCONF
corresponds to dc_readhost in /etc/exim4/update\-exim4.conf.conf and holds
the visible mailname for satellite\-systems.
.TP
.I DEBCONFsmarthostDEBCONF
corresponds to dc_smarthost in /etc/exim4/update\-exim4.conf.conf and
contains the name of the SMTP smarthost that takes care of outgoing mail.
.TP
.I DEBCONFconfigtypeDEBCONF
dc_eximconfig_configtype in /etc/exim4/update\-exim4.conf.conf.
.TP
.I DEBCONFpackageversionDEBCONF
contains the complete Debian version-number of the exim4-config package, you
could use this in smtp_banner or received_header_text.
.TP
.I DEBCONFlistenonpublicDEBCONF
If dc_local_interfaces is set to nonempty value this is replaced with
\(lqlocal_interfaces = <value of dc_local_interfaces>\(rq
and a empty string otherwise.
.TP
.I DEBCONFminimaldnsDEBCONF
is replaced  with \(lqDC_minimaldns = 1\(rq if dc_minimaldns is set to true
and to an empty string otherwise.
.TP
.I DEBCONFnever_usersDEBCONF
is deleted. (In versions prior 4.30-7 it was used to set the never_users
option.)

.SH RECOMMENDED USAGE
If you are running exim as daemon (that is the default setup of the Debian
packages) you should not invoke
.B update\-exim4.conf
directly when exim is running, because the forked processes exim starts
for SMTP receiving or queue running would use the new configuration file,
while the original main exim-daemon would still use the old configuration
file. You should use
.I invoke\-rc.d exim4 reload
instead.

.SH SEE ALSO
.BR exim (8),
/usr/share/doc/exim4\-base/ and for general notes and details about interaction
with debconf
/usr/share/doc/exim4\-base/README.Debian.gz

.SH AUTHOR
Andreas Metzler <ametzler at downhill.at.eu.org>