source: server/mail/postfix.xml@ 5152df99

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.0 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 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 5152df99 was 5152df99, checked in by Randy McMurchy <randy@…>, 20 years ago

Fixed validation/rendering error in Postfix instructions

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

  • Property mode set to 100644
File size: 11.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7<!ENTITY postfix-download-http "http://www.mirrorspace.org/postfix/official/postfix-&postfix-version;.tar.gz">
8<!ENTITY postfix-download-ftp "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-&postfix-version;.tar.gz">
9<!ENTITY postfix-size "1.9 MB">
10<!ENTITY postfix-buildsize "81 MB">
11<!ENTITY postfix-time "0.29 SBU">
12
13]>
14
15<sect1 id="postfix" xreflabel="Postfix-&postfix-version;">
16<sect1info>
17<othername>$LastChangedBy$</othername>
18<date>$Date$</date>
19</sect1info>
20<?dbhtml filename="postfix.html"?>
21<title>Postfix-&postfix-version;</title>
22
23<sect2>
24<title>Introduction to Postfix</title>
25
26<para>The <application>Postfix</application> package contains a Mail
27Transport Agent (<acronym>MTA</acronym>). This is useful for sending email
28to other users of your host machine. It can also be configured to be a
29central mail server for your domain, a mail relay agent or simply a mail
30delivery agent to your local Internet Service Provider
31(<acronym>ISP</acronym>).</para>
32
33<sect3><title>Package information</title>
34<itemizedlist spacing='compact'>
35<listitem><para>Download (HTTP): <ulink
36url="&postfix-download-http;"/></para></listitem>
37<listitem><para>Download (FTP): <ulink
38url="&postfix-download-ftp;"/></para></listitem>
39<listitem><para>Download size: &postfix-size;</para></listitem>
40<listitem><para>Estimated Disk space required:
41&postfix-buildsize;</para></listitem>
42<listitem><para>Estimated build time:
43&postfix-time;</para></listitem></itemizedlist>
44</sect3>
45
46<sect3><title><application>Postfix</application> dependencies</title>
47<sect4><title>Required</title>
48<para><xref linkend="db"/></para></sect4>
49<sect4><title>Optional</title>
50<para>
51<xref linkend="pcre"/>,
52<xref linkend="mysql"/>,
53<xref linkend="postgresql"/>,
54<xref linkend="openldap"/> and
55<xref linkend="cyrus-sasl"/>
56</para></sect4>
57</sect3>
58
59</sect2>
60
61<sect2>
62<title>Installation of <application>Postfix</application></title>
63
64<para>Before you compile the program, you need to create users and groups that
65will be expected to be in place when the install script executes. Add the
66users and groups with the following commands:</para>
67
68<screen><userinput><command>groupadd postfix &amp;&amp;
69groupadd postdrop &amp;&amp;
70groupadd -g 65534 nogroup &amp;&amp;
71useradd -c postfix -d /dev/null -g postfix -s /bin/false postfix &amp;&amp;
72useradd -c nobody -d /home -g nogroup -s /bin/bash -u 65534 nobody &amp;&amp;
73chown postfix:postfix /var/mail</command></userinput></screen>
74
75<para>Install <application>Postfix</application> by running the following commands:</para>
76
77<screen><userinput><command>make &amp;&amp;
78sh postfix-install daemon_directory=/usr/sbin \
79 manpage_directory=/usr/share/man \
80 sample_directory=/usr/share/doc/postfix \
81 -non-interactive</command></userinput></screen>
82
83<para>The final installation step is to install the program's documentation with
84the following commands:</para>
85
86<screen><userinput><command>install -d /usr/share/doc/postfix &amp;&amp;
87cp -rf html/* /usr/share/doc/postfix</command></userinput></screen>
88
89</sect2>
90
91<sect2>
92<title>Command explanations</title>
93
94<para><command>sh postfix-install ... -non-interactive</command> : This keeps
95the install script from asking any questions, thereby accepting default
96destination directories in all but the three cases explicitly mention.</para>
97
98<para><option>CCARGS="$CCARGS -DHAS_PCRE" AUXLIBS="$AUXLIBS -lpcre"</option> : These
99<command>make</command> variables add
100<application><acronym>PCRE</acronym></application> support to
101<application>Postfix</application>.</para>
102
103<para><option>CCARGS="$CCARGS -DHAS_MYSQL -I/usr/include/mysql"
104AUXLIBS="$AUXLIBS -L/usr/lib/mysql -lmysqlclient -lz -lm"</option> :
105These <command>make</command> variables add
106<application>My<acronym>SQL</acronym></application> support to
107<application>Postfix</application>.</para>
108
109<para><option>CCARGS="$CCARGS -DHAS_PGSQL -I/usr/include/postgresql/server"
110AUXLIBS="$AUXLIBS -lpq"</option>: These <command>make</command> variables add
111<application>Postgre<acronym>SQL</acronym></application> support to
112<application>Postfix</application>.</para>
113
114<para><option>CCARGS="$CCARGS -DHAS_LDAP" AUXLIBS="$AUXLIBS -ldap -llber"</option> : These
115<command>make</command> variables add
116<application>Open<acronym>LDAP</acronym></application> support to
117<application>Postfix</application>.</para>
118
119<para><option>CCARGS="$CCARGS -DUSE_SASL_AUTH" AUXLIBS="$AUXLIBS -lsasl"</option> : These
120<command>make</command> variables add <application>Cyrus
121<acronym>SASL</acronym></application> support to
122<application>Postfix</application>.</para>
123
124</sect2>
125
126<sect2>
127<title>Configuring <application>Postfix</application></title>
128
129<sect3><title>Config files</title>
130<para><filename>/etc/aliases</filename>,
131<filename>/etc/postfix/main.cf</filename> and
132<filename>/etc/postfix/master.cf</filename></para>
133</sect3>
134
135<sect3><title>Configuration Information</title>
136
137<screen><userinput><command>cat &gt;&gt; /etc/aliases &lt;&lt; "EOF"</command>
138# Begin /etc/aliases
139
140MAILER-DAEMON: postmaster
141postmaster: root
142
143root: LOGIN
144# End /etc/aliases
145<command>EOF</command></userinput></screen>
146
147<note><para>To protect an existing <filename>/etc/aliases</filename> file, the
148above command appends these aliases to it if it exists. This file should be
149checked and duplicate aliases removed, if present.</para></note>
150
151<para>The <filename>/etc/aliases</filename> file that was just created or
152appended, the <filename>main.cf</filename> and the
153<filename>master.cf</filename> must be personalized for your system. The
154<filename>aliases</filename> file needs your non-root login identity so mail
155addressed to root can be forwarded to you at the user level. The
156<filename>main.cf</filename> file needs your fully qualified hostname. All of
157these edits can be done with sed commands entered into the console with
158appropriate substitutions of your non-root login name for
159<replaceable>[user]</replaceable> and your fully qualified hostname for
160<replaceable>[localhost.localdomain]</replaceable>. You will find the
161<filename>main.cf</filename> file is self documenting, so load it into your
162editor to make the changes you need for your situation.</para>
163
164<screen><userinput><command>sed -i "s/LOGIN/<replaceable>[user]</replaceable>/" /etc/aliases &amp;&amp;
165sed -i "s/#myhostname = host.domain.tld/myhostname = \
166 <replaceable>[localhost.localdomain]</replaceable>/" /etc/postfix/main.cf &amp;&amp;
167/usr/bin/newaliases &amp;&amp;
168/usr/sbin/postfix start</command></userinput></screen></sect3>
169
170<sect3><title>Postfix init.d script</title>
171
172<para>To automate the running of Postfix at startup, install the <filename>/etc/rc.d/init.d/postfix</filename>
173init script included in the <xref linkend="intro-important-bootscripts"/> package.</para>
174
175<screen><userinput><command>make install-postfix</command></userinput></screen>
176
177</sect3>
178
179</sect2>
180
181<sect2>
182<title>Contents</title>
183
184<para>The <application>Postfix</application> package contains
185<command>bounce</command>, <command>cleanup</command>,
186<command>error</command>, <command>flush</command>,
187<command>lmtp</command>, <command>local</command>,
188<command>mailq</command>, <command>master</command>,
189<command>newaliases</command>, <command>nqmgr</command>,
190<command>pickup</command>, <command>pipe</command>,
191<command>postalias</command>, <command>postcat</command>,
192<command>postconf</command>, <command>postdrop</command>,
193<command>postfix</command>, <command>postkick</command>,
194<command>postlock</command>, <command>postlog</command>,
195<command>postmap</command>, <command>postqueue</command>,
196<command>postsuper</command>, <command>qmgr</command>,
197<command>qmqpd</command>, <command>sendmail</command>,
198<command>showq</command>, <command>smtp</command>,
199<command>smtpd</command>, <command>spawn</command>,
200<command>trivial-rewrite</command>, and <command>virtual</command>.</para>
201
202</sect2>
203
204<sect2><title>Description</title>
205
206<sect3><title>postfix</title>
207<para><command>postfix</command> is the program that starts and stops the mail delivery system.</para></sect3>
208
209<sect3><title>master</title>
210<para><command>master</command> is the resident process that runs
211<filename>bounce</filename>, <filename>cleanup</filename>,
212<filename>error</filename>, <filename>flush</filename>,
213<filename>lmtp</filename>, <filename>local</filename>,
214<filename>nqmgr</filename>, <filename>pickup</filename>,
215<filename>pipe</filename>, <filename>qmgr</filename>,
216<filename>qmqpd</filename>, <filename>showq</filename>,
217<filename>smtp</filename>, <filename>smtpd</filename>,
218<filename>spawn</filename>, <filename>trivial-rewrite</filename> and
219<filename>virtual</filename> on demand. These programs are not designed to
220work as user commands.</para></sect3>
221
222<sect3><title>postqueue</title>
223<para><command>postqueue</command> implements the
224<application>Postfix</application> user interface for
225queue management. It implements all the operations that are traditionally
226available via the <command>sendmail</command> command.</para></sect3>
227
228<sect3><title>sendmail</title>
229<para><command>sendmail</command> implements the
230<application>Postfix</application> to
231<application>Sendmail</application> compatibility interface.
232<filename class="symlink">mailq</filename> and <filename
233class="symlink">newaliases</filename> are symlinks to
234<command>sendmail</command>.</para></sect3>
235
236<sect3><title>showq</title>
237<para><command>showq</command> will emulate the <filename
238class="symlink">mailq</filename> command when the
239<application>Postfix</application> mail system is
240not running.</para></sect3>
241
242<sect3><title>postsuper</title>
243<para><command>postsuper</command> does maintenance jobs on the
244<application>Postfix</application> queue.</para></sect3>
245
246<sect3><title>postalias</title>
247<para><command>postalias</command> creates, queries or updates
248<application>Postfix</application> alias
249databases.</para></sect3>
250
251<sect3><title>postcat</title>
252<para><command>postcat</command> prints the contents of a
253<application>Postfix</application> queue file in human-readable
254form.</para></sect3>
255
256<sect3><title>postconf</title>
257<para><command>postconf</command> prints or changes the value of configuration
258parameters.</para></sect3>
259
260<sect3><title>postdrop</title>
261<para><command>postdrop</command> creates a file in the maildrop directory and
262copies its standard input to the file.</para></sect3>
263
264<sect3><title>postkick</title>
265<para><command>postkick</command> makes the mail system private
266<acronym>IPC</acronym> accessible for use in shell
267scripts.</para></sect3>
268
269<sect3><title>postlock</title>
270<para><command>postlock</command> locks a file for exclusive access and
271executes a command on that file.</para></sect3>
272
273<sect3><title>postlog</title>
274<para><command>postlog</command> implements a logging interface for use in
275shell scripts.</para></sect3>
276
277<sect3><title>postmap</title>
278<para><command>postmap</command> creates, queries or updates
279<application>Postfix</application> lookup tables.</para></sect3>
280
281</sect2>
282
283</sect1>
284
Note: See TracBrowser for help on using the repository browser.