source: server/mail/postfix.xml@ 0911065

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 0911065 was 0911065, checked in by Bruce Dubbs <bdubbs@…>, 12 years ago

Remove invalid http link for postfix

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9654 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 21.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY postfix-download-http " ">
8 <!--"http://postfix.energybeam.com/source/official/postfix-&postfix-version;.tar.gz">-->
9 <!ENTITY postfix-download-ftp
10 "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-&postfix-version;.tar.gz">
11 <!ENTITY postfix-md5sum "5c81b304a42c691671454dfe80b506ca">
12 <!ENTITY postfix-size "3.6 MB">
13 <!ENTITY postfix-buildsize "132 MB">
14 <!ENTITY postfix-time "0.4 SBU">
15]>
16
17<sect1 id="postfix" xreflabel="Postfix-&postfix-version;">
18 <?dbhtml filename="postfix.html"?>
19
20 <sect1info>
21 <othername>$LastChangedBy$</othername>
22 <date>$Date$</date>
23 </sect1info>
24
25 <title>Postfix-&postfix-version;</title>
26
27 <indexterm zone="postfix">
28 <primary sortas="a-Postfix">Postfix</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to Postfix</title>
33
34 <para>
35 The <application>Postfix</application> package contains a Mail Transport
36 Agent (MTA). This is useful for sending email to other users of your host
37 machine. It can also be configured to be a central mail server for your
38 domain, a mail relay agent or simply a mail delivery agent to your local
39 Internet Service Provider.
40 </para>
41
42 &lfs71_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&postfix-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&postfix-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &postfix-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &postfix-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &postfix-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &postfix-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">Postfix Dependencies</bridgehead>
79
80 <bridgehead renderas="sect4">Required</bridgehead>
81 <para role="required">
82 <xref linkend="db"/>
83 </para>
84
85 <bridgehead renderas="sect4">Optional</bridgehead>
86 <para role="optional">
87 <xref linkend="pcre"/>,
88 <xref linkend="openssl"/>,
89 <xref linkend="openldap"/>,
90 <xref linkend="cyrus-sasl"/>,
91 <xref linkend="sqlite"/>,
92 <xref linkend="mysql"/>,
93 <xref linkend="postgresql"/>, and
94 <ulink url="http://cr.yp.to/cdb.html">cdb</ulink> or
95 <ulink url="http://www.corpit.ru/mjt/tinycdb.html">TinyCDB</ulink>
96 </para>
97
98 <para>
99 Note that <application>Sqlite</application>,
100 <application>Mysql</application>, <application>Postgresql</application>
101 and <application>cdb</application> are only useful if there is a known
102 need for them.
103 </para>
104
105 <para condition="html" role="usernotes">
106 User Notes: <ulink url="&blfs-wiki;/postfix"/>
107 </para>
108 </sect2>
109
110 <sect2 role="installation">
111 <title>Installation of Postfix</title>
112
113 <sect3>
114 <title>Adding Users and Groups</title>
115 <para>
116 Before you compile the program, you need to create users and groups that
117 will be expected to be in place during the installation. Add the users
118 and groups with the following commands issued by the
119 <systemitem class="username">root</systemitem> user:
120 </para>
121
122<screen role="root"><userinput>groupadd -g 32 postfix &amp;&amp;
123groupadd -g 33 postdrop &amp;&amp;
124useradd -c "Postfix Daemon User" -d /dev/null -g postfix \
125 -s /bin/false -u 32 postfix &amp;&amp;
126chown -v postfix:postfix /var/mail</userinput></screen>
127 </sect3>
128
129 <sect3>
130 <title>Configuring the Build</title>
131
132 <para>
133 The README files are formatted to be read with a pager like
134 <application>Less</application> or <application>More</application>.
135 If you want to read them in a text editor, make them legible with a sed:
136 </para>
137
138<screen><userinput>sed -i 's/.\x08//g' README_FILES/*</userinput></screen>
139
140 <para>
141 The <application>Postfix</application> source tree does not contain a
142 <filename>configure</filename> script, rather the makefile in the
143 top-level directory contains a <option>makefiles</option> target that
144 regenerates all the other makefiles in the build tree. If you wish to
145 use additional software such as a database back-end for virtual users,
146 or TLS/SSL authentication, you will need to regenerate the makefiles
147 using one or more of the appropriate <envar>CCARGS</envar> and
148 <envar>AUXLIBS</envar> settings listed below.
149 </para>
150
151 <para>
152 For more details read the readme files.
153 </para>
154
155<!--
156 <para>
157 Here is an example that combines the TLS and
158 <application>Cyrus-SASL</application> arguments:
159 </para>
160
161<screen><userinput>make makefiles \
162CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL \
163 -DDEF_DAEMON_DIR=\"/usr/lib/postfix\" \
164 -DDEF_MANPAGE_DIR=\"/usr/share/man\" \
165 -DDEF_HTML_DIR=\"/usr/share/doc/postfix-&postfix-version;/html\" \
166 -DDEF_README_DIR=\"/usr/share/doc/postfix-&postfix-version;/README\" \
167 -I/usr/include/openssl -I/usr/include/sasl' \
168 AUXLIBS='-lssl -lcrypto -lsasl2'</userinput></screen>
169-->
170
171<!-- it picks up pcre automatically now
172 <sect4>
173 <title>Perl compatible regular expressions</title>
174
175 <para>
176 To use <application>PCRE</application> with
177 <application>Postfix</application>, use the following argument:
178 </para>
179
180<screen><literal>CCARGS='-DHAS_PCRE'</literal></screen>
181 </sect4>
182-->
183
184 <sect4>
185 <title>Cyrus-SASL</title>
186
187 <para>
188 To use <application>Cyrus-SASL</application> with
189 <application>Postfix</application>, use the following arguments:
190 </para>
191
192<screen><literal>CCARGS='-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl'
193AUXLIBS='-lsasl2'</literal></screen>
194 </sect4>
195
196 <sect4>
197 <title>OpenLDAP</title>
198
199 <para>
200 To use <application>OpenLDAP</application> with
201 <application>Postfix</application>, use the following arguments:
202 </para>
203
204<screen><literal>CCARGS='-DHAS_LDAP'
205AUXLIBS='-lldap -llber'</literal></screen>
206 </sect4>
207
208 <sect4>
209 <title>Sqlite</title>
210
211 <para>
212 To use <application>Sqlite</application> with
213 <application>Postfix</application>, use the following arguments:
214 </para>
215
216<screen><literal>CCARGS='-DHAS_SQLITE'
217AUXLIBS='-lsqlite3 -lpthread'</literal></screen>
218 </sect4>
219
220 <sect4>
221 <title>MySQL</title>
222
223 <para>
224 To use <application>MySQL</application> with
225 <application>Postfix</application>, use the following arguments:
226 </para>
227
228<screen><literal>CCARGS='-DHAS_MYSQL -I/usr/include/mysql'
229AUXLIBS='-lmysqlclient -lz -lm'</literal></screen>
230 </sect4>
231
232 <sect4>
233 <title>PostgreSQL</title>
234
235 <para>
236 To use <application>PostgreSQL</application> with
237 <application>Postfix</application>, use the following arguments:
238 </para>
239
240<screen><literal>CCARGS='-DHAS_PGSQL -I/usr/include/postgresql'
241AUXLIBS='-lpq -lz -lm'</literal></screen>
242 </sect4>
243
244 <sect4>
245 <title>CDB/TinyCDB</title>
246
247 <para>
248 To use <application>CDB</application> or
249 <application>TinyCDB</application> with
250 <application>Postfix</application>, use the following arguments:
251 </para>
252
253<screen><literal>CCARGS='-DHAS_CDB'
254AUXLIBS='<replaceable>&lt;/path/to/CDB&gt;</replaceable>/libcdb.a'</literal></screen>
255 </sect4>
256
257 <sect4>
258 <title>StartTLS Authentication</title>
259
260 <para>
261 To use <application>OpenSSL</application> with
262 <application>Postfix</application>, use the following arguments:
263 </para>
264
265<screen><literal>CCARGS='-DUSE_TLS -I/usr/include/openssl/'
266AUXLIBS='-lssl -lcrypto'</literal></screen>
267 </sect4>
268 </sect3>
269
270 <sect3>
271 <title>Installing Postfix</title>
272
273 <para>
274 If you have <application>OpenSSL</application> installed, install
275 <application>Postfix</application> by running the following commands:
276 </para>
277<!--
278<screen><userinput>make makefiles \
279CCARGS='-DDEF_DAEMON_DIR=\"/usr/lib/postfix\" \
280 -DDEF_MANPAGE_DIR=\"/usr/share/man\" \
281 -DDEF_HTML_DIR=\"/usr/share/doc/postfix-&postfix-version;/html\" \
282 -DDEF_README_DIR=\"/usr/share/doc/postfix-&postfix-version;/README\" \
283 <replaceable>&lt;additional args&gt;</replaceable>' \
284 <replaceable>&lt;AUXLIBS='additional args'&gt;</replaceable> &amp;&amp;
285make</userinput></screen>
286-->
287
288<screen><userinput>make CCARGS="-DUSE_TLS -I/usr/include/openssl/ -DNO_NIS" \
289 AUXLIBS="-lssl -lcrypto" makefiles &amp;&amp;
290make</userinput></screen>
291
292 <!-- There is a testsuite, but it fails a lot. It seems to need
293 the host to be specifically setup for the tests.
294 Run with `make tests' and `make root_tests' -->
295 <para>
296 This package does not come with a useful test suite.
297 </para>
298
299 <para>
300 Now, as the <systemitem class="username">root</systemitem> user:
301 </para>
302
303<screen role="root"><userinput>sh postfix-install -non-interactive \
304 manpage_directory=/usr/share/man \
305 html_directory=/usr/share/doc/postfix-&postfix-version;/html \
306 readme_directory=/usr/share/doc/postfix-&postfix-version;/readme</userinput></screen>
307 </sect3>
308 </sect2>
309
310 <sect2 role="commands">
311 <title>Command Explanations</title>
312
313 <para>
314 <command>make makefiles</command>: This command rebuilds the makefiles
315 throughout the source tree to use the options contained in the
316 <envar>CCARGS</envar> and <envar>AUXLIBS</envar> variables.
317 </para>
318
319 <para>
320 <parameter>-DNO_NIS</parameter>: This option disables building Network
321 Information Service/Yellow Pages support. The RPC implementation in glibc
322 (on which NIS/YP depends) is deprecated.
323 </para>
324
325<!--
326 <para>
327 \\\": This structure is used to get a literal \" into the variable
328 definition.
329 </para>
330-->
331
332 <para>
333 <command>sh postfix-install -non-interactive</command>: This keeps the
334 install script from asking any questions, thereby accepting default
335 destination directories in all but the few cases. If the
336 <option>html_directory</option> and <option>readme_directory</option>
337 options are not set then the documentation will not be installed.
338 </para>
339 </sect2>
340
341 <sect2 role="configuration">
342 <title>Configuring Postfix</title>
343
344 <sect3 id="postfix-config">
345 <title>Config Files</title>
346
347 <para>
348 <filename>/etc/aliases</filename>,
349 <filename>/etc/postfix/main.cf</filename>, and
350 <filename>/etc/postfix/master.cf</filename>
351 </para>
352
353 <indexterm zone="postfix postfix-config">
354 <primary sortas="e-etc-aliases">/etc/aliases</primary>
355 </indexterm>
356
357 <indexterm zone="postfix postfix-config">
358 <primary sortas="e-etc-postfix-star">/etc/postfix/*</primary>
359 </indexterm>
360
361 </sect3>
362
363 <sect3>
364 <title>Configuration Information</title>
365
366 <para>
367 Create (or append to an existing) <filename>/etc/aliases</filename>
368 with the following command. Change
369 <replaceable>&lt;LOGIN&gt;</replaceable> for your non-root login
370 identity so mail addressed to
371 <systemitem class="username">root</systemitem> can be forwarded to you.
372 As the <systemitem class="username">root</systemitem> user:
373 </para>
374
375<screen role="root"><userinput>cat &gt;&gt; /etc/aliases &lt;&lt; "EOF"
376<literal># Begin /etc/aliases
377
378MAILER-DAEMON: postmaster
379postmaster: root
380
381root: <replaceable>&lt;LOGIN&gt;</replaceable>
382# End /etc/aliases</literal>
383EOF</userinput></screen>
384
385 <para>
386 To protect an existing <filename>/etc/aliases</filename> file,
387 the above command appends these aliases to it if it exists. This file
388 should be checked and duplicate aliases removed, if present.
389 </para>
390
391 <note>
392 <para>
393 The <filename>/etc/postfix/main.cf</filename> and
394 <filename>/etc/postfix/master.cf</filename> files must be personalized
395 for your system. The <filename>main.cf</filename> file needs your
396 fully qualified hostname. You will find that
397 <filename>main.cf</filename> is self documenting, so load it into your
398 editor to make the changes you need for your situation.
399 </para>
400 </note>
401
402 <para>
403 If you have an existing configuration, you can run the
404 <command>postfix</command> utility to add any necessary definitions to
405 your existing files. As the
406 <systemitem class="username">root</systemitem> user:
407 </para>
408
409<screen role="root"><userinput>/usr/sbin/postfix upgrade-configuration</userinput></screen>
410
411 <para>
412 Before starting <application>Postfix</application>, you should check
413 that your configuration and file permissions will work properly. Run the
414 following commands as the <systemitem class="username">root</systemitem>
415 user to check and start your <application>Postfix</application> server:
416 </para>
417
418<screen role="root"><userinput>/usr/sbin/postfix check &amp;&amp;
419/usr/sbin/postfix start</userinput></screen>
420 </sect3>
421
422 <sect3 id="postfix-init">
423 <title>Boot Script</title>
424
425 <para>
426 To automate the running of Postfix at startup, install the
427 <filename>/etc/rc.d/init.d/postfix</filename> init script included in
428 the <xref linkend="bootscripts"/> package.
429 </para>
430
431 <indexterm zone="postfix postfix-init">
432 <primary sortas="f-postfix">postfix</primary>
433 </indexterm>
434
435<screen role="root"><userinput>make install-postfix</userinput></screen>
436 </sect3>
437 </sect2>
438
439 <sect2 role="content">
440 <title>Contents</title>
441
442 <segmentedlist>
443 <segtitle>Installed Programs</segtitle>
444 <segtitle>Installed Directories</segtitle>
445
446 <seglistitem>
447 <seg>
448 mailq, newaliases, postaliases, postcat, postconf, postdrop, postfix,
449 postkick, postlock, postlog, postmap, postmulti, postqueue, postsuper
450 and sendmail.
451 </seg>
452 <seg>
453 /etc/postfix, /usr/libexec/postfix, /var/lib/postfix,
454 /var/spool/postfix and /usr/share/doc/postfix-&postfix-version;
455 </seg>
456 </seglistitem>
457 </segmentedlist>
458
459 <variablelist>
460 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
461 <?dbfo list-presentation="list"?>
462 <?dbhtml list-presentation="table"?>
463
464 <varlistentry id="mailq">
465 <term><command>mailq</command></term>
466 <listitem>
467 <para>
468 A symlink to <filename>sendmail</filename>.
469 </para>
470 <indexterm zone="postfix mailq">
471 <primary sortas="b-mailq">mailq</primary>
472 </indexterm>
473 </listitem>
474 </varlistentry>
475
476 <varlistentry id="newaliases">
477 <term><command>newaliases</command></term>
478 <listitem>
479 <para>
480 A symlink to <filename>sendmail</filename>.
481 </para>
482 <indexterm zone="postfix newaliases">
483 <primary sortas="b-newaliases">newaliases</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487
488 <varlistentry id="postaliases">
489 <term><command>postaliases</command></term>
490 <listitem>
491 <para>
492 is a utility for <application>Postfix</application> alias database
493 maintenance
494 </para>
495 <indexterm zone="postfix postaliases">
496 <primary sortas="b-postaliases">postaliases</primary>
497 </indexterm>
498 </listitem>
499 </varlistentry>
500
501 <varlistentry id="postcat">
502 <term><command>postcat</command></term>
503 <listitem>
504 <para>
505 Prints the contents of files from the
506 <application>Postfix</application> queue in human readable format.
507 </para>
508 <indexterm zone="postfix postcat">
509 <primary sortas="b-postcat">postcat</primary>
510 </indexterm>
511 </listitem>
512 </varlistentry>
513
514 <varlistentry id="postconf">
515 <term><command>postconf</command></term>
516 <listitem>
517 <para>
518 Displays or changes the value of
519 <application>Postfix</application> configuration parameters.
520 </para>
521 <indexterm zone="postfix postconf">
522 <primary sortas="b-postconf">postconf</primary>
523 </indexterm>
524 </listitem>
525 </varlistentry>
526
527 <varlistentry id="postdrop">
528 <term><command>postdrop</command></term>
529 <listitem>
530 <para>
531 Creates a file in the maildrop directory and copies its standard
532 input to the file.
533 </para>
534 <indexterm zone="postfix postdrop">
535 <primary sortas="b-postdrop">postdrop</primary>
536 </indexterm>
537 </listitem>
538 </varlistentry>
539
540 <varlistentry id="postfix-bin">
541 <term><command>postfix</command></term>
542 <listitem>
543 <para>
544 is the <application>Postfix</application> control program.
545 </para>
546 <indexterm zone="postfix postfix-bin">
547 <primary sortas="b-postfix">postfix</primary>
548 </indexterm>
549 </listitem>
550 </varlistentry>
551
552 <varlistentry id="postkick">
553 <term><command>postkick</command></term>
554 <listitem>
555 <para>
556 Sends requests to the specified service over a local transport
557 channel.
558 </para>
559 <indexterm zone="postfix postkick">
560 <primary sortas="b-postkick">postkick</primary>
561 </indexterm>
562 </listitem>
563 </varlistentry>
564
565 <varlistentry id="postlock">
566 <term><command>postlock</command></term>
567 <listitem>
568 <para>
569 Locks a mail folder for exclusive use, and executes commands passed
570 to it.
571 </para>
572 <indexterm zone="postfix postlock">
573 <primary sortas="b-postlock">postlock</primary>
574 </indexterm>
575 </listitem>
576 </varlistentry>
577
578 <varlistentry id="postlog">
579 <term><command>postlog</command></term>
580 <listitem>
581 <para>
582 A <application>Postfix</application>-compatible logging interface
583 for use in, for example, shell scripts.
584 </para>
585 <indexterm zone="postfix postlog">
586 <primary sortas="b-postlog">postlog</primary>
587 </indexterm>
588 </listitem>
589 </varlistentry>
590
591 <varlistentry id="postmap">
592 <term><command>postmap</command></term>
593 <listitem>
594 <para>
595 Creates or queries one or more Postfix lookup tables, or updates an
596 existing one.
597 </para>
598 <indexterm zone="postfix postmap">
599 <primary sortas="b-postmap">postmap</primary>
600 </indexterm>
601 </listitem>
602 </varlistentry>
603
604 <varlistentry id="postmulti">
605 <term><command>postmulti</command></term>
606 <listitem>
607 <para>
608 is the <application>Postfix</application> multi-instance manager.
609 It allows a system administrator to manage multiple
610 <application>Postfix</application> instances on a single host.
611 </para>
612 <indexterm zone="postfix postmulti">
613 <primary sortas="b-postmulti">postmulti</primary>
614 </indexterm>
615 </listitem>
616 </varlistentry>
617
618 <varlistentry id="postqueue">
619 <term><command>postqueue</command></term>
620 <listitem>
621 <para>
622 The <application>Postfix</application> user interface for
623 queue management.
624 </para>
625 <indexterm zone="postfix postqueue">
626 <primary sortas="b-postqueue">postqueue</primary>
627 </indexterm>
628 </listitem>
629 </varlistentry>
630
631 <varlistentry id="postsuper">
632 <term><command>postsuper</command></term>
633 <listitem>
634 <para>
635 The <application>Postfix</application> user interface for
636 superuser queue management.
637 </para>
638 <indexterm zone="postfix postsuper">
639 <primary sortas="b-postsuper">postsuper</primary>
640 </indexterm>
641 </listitem>
642 </varlistentry>
643
644 <varlistentry id="sendmail-postfix">
645 <term><command>sendmail</command></term>
646 <listitem>
647 <para>
648 is the <application>Postfix</application> to
649 <application>Sendmail</application> compatibility interface.
650 </para>
651 <indexterm zone="postfix sendmail-postfix">
652 <primary sortas="b-sendmail">sendmail</primary>
653 </indexterm>
654 </listitem>
655 </varlistentry>
656 </variablelist>
657 </sect2>
658</sect1>
Note: See TracBrowser for help on using the repository browser.