mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-04 07:17:15 +08:00
e1e58be454
neither firefox nor epiphany can download them, and they are not well maintained, because rarely tested. This is WIP because the "(HTTP)" part of "Download (HTTP)" will need to be removed too. But let's see what users think first...
524 lines
17 KiB
XML
524 lines
17 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY sendmail-download-http "https://ftp.sendmail.org/sendmail.&sendmail-version;.tar.gz">
|
|
<!ENTITY sendmail-download-ftp " ">
|
|
<!ENTITY sendmail-md5sum "eb21e7c8a1d2a69a4597e9ce6b1cb3d5">
|
|
<!ENTITY sendmail-size "2.2 MB">
|
|
<!ENTITY sendmail-buildsize "18 MB">
|
|
<!ENTITY sendmail-time "0.1 SBU">
|
|
]>
|
|
|
|
<sect1 id="sendmail" xreflabel="sendmail-&sendmail-version;">
|
|
<?dbhtml filename="sendmail.html"?>
|
|
|
|
|
|
<title>sendmail-&sendmail-version;</title>
|
|
|
|
<indexterm zone="sendmail">
|
|
<primary sortas="a-sendmail">sendmail</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to sendmail</title>
|
|
|
|
<para>
|
|
The <application>sendmail</application> package contains a Mail
|
|
Transport Agent (MTA).
|
|
</para>
|
|
|
|
&lfs120_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&sendmail-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&sendmail-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &sendmail-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &sendmail-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &sendmail-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &sendmail-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<!-- Sendmail 8.16.1 does have official support for OpenSSL 1.1
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Required patch:
|
|
<ulink url="&patch-root;/sendmail.&sendmail-version;-openssl-1.patch"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
-->
|
|
|
|
<bridgehead renderas="sect3">sendmail Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<xref linkend="openldap"/> (client)
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<xref linkend="cyrus-sasl"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="gs"/> (for creating PDF documentation),
|
|
<xref linkend="procmail"/> (the configuration proposed below requires
|
|
that <command>procmail</command> be present at run-time), and
|
|
<ulink url="https://github.com/chaos/nph">nph</ulink>
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">Editor Notes:
|
|
<ulink url="&blfs-wiki;/sendmail"/></para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of sendmail</title>
|
|
|
|
<para>
|
|
Before building <application>sendmail</application>, create the
|
|
required user, group and directory with the following commands issued as
|
|
the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>groupadd -g 26 smmsp &&
|
|
useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \
|
|
-s /bin/false -u 26 smmsp &&
|
|
chmod -v 1777 /var/mail &&
|
|
install -v -m700 -d /var/spool/mqueue</userinput></screen>
|
|
|
|
<note>
|
|
<para>
|
|
See the source tree <filename>sendmail/README</filename> file
|
|
for information on linking optional packages into the build. Use the
|
|
example below, which adds support for SASL, StartTLS
|
|
(<application>OpenSSL</application>) and
|
|
<application>OpenLDAP</application>, as a starting point. Of course,
|
|
modify it to suit your particular needs.
|
|
</para>
|
|
</note>
|
|
|
|
<screen><userinput>cat >> devtools/Site/site.config.m4 << "EOF"
|
|
<literal>APPENDDEF(`confENVDEF',`-DSTARTTLS -DSASL -DLDAPMAP -DHASFLOCK')
|
|
APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -ldb')
|
|
APPENDDEF(`confINCDIRS', `-I/usr/include/sasl')</literal>
|
|
EOF</userinput></screen>
|
|
|
|
<para>
|
|
Install <application>sendmail</application> with the following commands:
|
|
</para>
|
|
|
|
<screen><userinput>cat >> devtools/Site/site.config.m4 << "EOF"
|
|
<literal>define(`confMANGRP',`root')
|
|
define(`confMANOWN',`root')
|
|
define(`confSBINGRP',`root')
|
|
define(`confUBINGRP',`root')
|
|
define(`confUBINOWN',`root')</literal>
|
|
EOF
|
|
|
|
sed -i 's|/usr/man/man|/usr/share/man/man|' \
|
|
devtools/OS/Linux &&
|
|
|
|
cd sendmail &&
|
|
sh Build &&
|
|
cd ../cf/cf &&
|
|
cp generic-linux.mc sendmail.mc &&
|
|
sh Build sendmail.cf</userinput></screen>
|
|
|
|
<para>
|
|
This package does not come with a test suite.
|
|
</para>
|
|
|
|
<!-- When doing a DESTDIR= build, for example, for an update to check for new
|
|
installed files, you need to create $DEST/usr/{bin,sbin,share/man/man{1,5,8}
|
|
first. "sh Build" is a wrapper for Make, so it will accept DESTDIR=
|
|
as an argument. -->
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>install -v -d -m755 /etc/mail &&
|
|
sh Build install-cf &&
|
|
|
|
cd ../.. &&
|
|
sh Build install &&
|
|
|
|
install -v -m644 cf/cf/{submit,sendmail}.mc /etc/mail &&
|
|
cp -v -R cf/* /etc/mail &&
|
|
|
|
install -v -m755 -d /usr/share/doc/sendmail-&sendmail-version;/{cf,sendmail} &&
|
|
|
|
install -v -m644 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
|
|
/usr/share/doc/sendmail-&sendmail-version; &&
|
|
|
|
install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \
|
|
/usr/share/doc/sendmail-&sendmail-version;/sendmail &&
|
|
|
|
install -v -m644 cf/README /usr/share/doc/sendmail-&sendmail-version;/cf &&
|
|
|
|
for manpage in sendmail editmap mailstats makemap praliases smrsh
|
|
do
|
|
install -v -m644 $manpage/$manpage.8 /usr/share/man/man8
|
|
done &&
|
|
|
|
install -v -m644 sendmail/aliases.5 /usr/share/man/man5 &&
|
|
install -v -m644 sendmail/mailq.1 /usr/share/man/man1 &&
|
|
install -v -m644 sendmail/newaliases.1 /usr/share/man/man1 &&
|
|
install -v -m644 vacation/vacation.1 /usr/share/man/man1</userinput></screen>
|
|
|
|
<para>
|
|
Install the <application>sendmail</application> Installation and
|
|
Operations Guide with the following commands:
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
Remove <filename>op.pdf</filename> from the <command>make</command>
|
|
and <command>install</command> commands below if
|
|
you don't have <application>Ghostscript</application> installed.
|
|
</para>
|
|
</note>
|
|
|
|
<screen remap="doc"><userinput>cd doc/op &&
|
|
sed -i 's/groff/GROFF_NO_SGR=1 groff/' Makefile &&
|
|
make op.txt op.pdf</userinput></screen>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"
|
|
remap="doc"><userinput>install -v -d -m755 /usr/share/doc/sendmail-&sendmail-version; &&
|
|
install -v -m644 op.ps op.txt op.pdf /usr/share/doc/sendmail-&sendmail-version; &&
|
|
cd ../..</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<command>cat > devtools/Site/site.config.m4 << "EOF"</command>:
|
|
This creates a configuration file changing some of the default settings.
|
|
</para>
|
|
|
|
<para>
|
|
<command>sed ... devtools/OS/Linux</command>: The site.config.m4
|
|
does not honor a change to the man directory, so fix it in the OS
|
|
definitions.
|
|
</para>
|
|
|
|
<!-- No longer valid with 8.16.1
|
|
<para>
|
|
<command>sed ... include/sm/bdb.h</command>: This allows sendmail to
|
|
build properly with <xref linkend='db'/> versions 5 and above.
|
|
</para>
|
|
-->
|
|
|
|
<para>
|
|
<command>sh Build; sh Build sendmail.cf; sh Build install-cf;
|
|
sh Build install</command>: <application>sendmail</application> uses an
|
|
<application>m4</application> based build script to create the various
|
|
<filename>Makefile</filename>s. These commands build and install the
|
|
package.
|
|
</para>
|
|
|
|
<para>
|
|
<command>for manpage in...;do...;done; install ...</command>: The man
|
|
pages are installed already formatted and <command>man</command> displays
|
|
them somewhat garbled. These commands replace the formatted pages with
|
|
pages <command>man</command> can display properly.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring sendmail</title>
|
|
|
|
<sect3 id="sendmail-config">
|
|
<title>Config Files</title>
|
|
|
|
<para>
|
|
<filename>/etc/mail/*</filename>
|
|
</para>
|
|
|
|
<indexterm zone="sendmail sendmail-config">
|
|
<primary sortas="e-etc-mail">/etc/mail/*</primary>
|
|
</indexterm>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Configuration Information</title>
|
|
|
|
<note>
|
|
<para>
|
|
Ensure you have a fully qualified domain name defined
|
|
in <filename>/etc/hosts</filename> for your system before proceeding.
|
|
</para>
|
|
</note>
|
|
|
|
<para>
|
|
Create the <filename>/etc/mail/local-host-names</filename> and
|
|
<filename>/etc/mail/aliases</filename> files using the following
|
|
commands as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>echo $(hostname) > /etc/mail/local-host-names
|
|
cat > /etc/mail/aliases << "EOF"
|
|
<literal>postmaster: root
|
|
MAILER-DAEMON: root</literal>
|
|
|
|
EOF
|
|
newaliases</userinput></screen>
|
|
|
|
<para>
|
|
<application>sendmail</application>'s primary configuration file,
|
|
<filename>/etc/mail/sendmail.cf</filename>, is complex and not meant to
|
|
be directly edited. The recommended method for changing it is to modify
|
|
<filename>/etc/mail/sendmail.mc</filename> and various
|
|
<application>m4</application> files, then run the <command>m4</command>
|
|
macro processor from within
|
|
<filename class='directory'>/etc/mail</filename> as follows:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>cd /etc/mail &&
|
|
m4 m4/cf.m4 sendmail.mc > sendmail.cf</userinput></screen>
|
|
|
|
<para>
|
|
A full explanation of the files to modify, and the available
|
|
parameters can be found in <filename>/etc/mail/README</filename>.
|
|
</para>
|
|
|
|
</sect3>
|
|
|
|
<sect3 id="sendmail-init">
|
|
<title><phrase revision="sysv">Boot Script</phrase>
|
|
<phrase revision="systemd">Systemd Unit</phrase></title>
|
|
|
|
<para>
|
|
To automate the running of <application>sendmail</application>
|
|
at startup, install the
|
|
<phrase revision="sysv"><filename>/etc/rc.d/init.d/sendmail</filename>
|
|
init script</phrase>
|
|
<phrase revision="systemd"><filename>sendmail.service</filename>
|
|
unit</phrase> included in the
|
|
<xref linkend="bootscripts" revision="sysv"/>
|
|
<xref linkend="systemd-units" revision="systemd"/> package:
|
|
</para>
|
|
|
|
<indexterm zone="sendmail sendmail-init">
|
|
<primary sortas="f-sendmail-init">sendmail</primary>
|
|
</indexterm>
|
|
|
|
<screen role="root"><userinput>make install-sendmail</userinput></screen>
|
|
|
|
<note>
|
|
<para>
|
|
The -qNm option to <command>sendmail</command>, where N is number
|
|
of minutes, controls how often <application>sendmail</application>
|
|
will process the mail queue. A default of 5 minutes is used in the
|
|
<phrase revision="sysv">init script.</phrase>
|
|
<phrase revision="systemd">systemd unit.</phrase> Individual
|
|
workstation users may want to set this as low as 1 minute, large
|
|
installations handling more mail may want to set it higher.
|
|
</para>
|
|
</note>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>editmap, mailstats, makemap, praliases, sendmail, smrsh,
|
|
and vacation; symlinks to /usr/sbin/sendmail: hoststat, mailq,
|
|
newaliases, and purgestat</seg>
|
|
<seg>None</seg>
|
|
<seg>/etc/mail, /usr/share/doc/sendmail-&sendmail-version;,
|
|
and /var/spool/clientmqueue</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="editmap">
|
|
<term><command>editmap</command></term>
|
|
<listitem>
|
|
<para>
|
|
queries and edits <application>sendmail</application> map files
|
|
</para>
|
|
<indexterm zone="sendmail editmap">
|
|
<primary sortas="b-editmap">editmap</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="hoststat">
|
|
<term><command>hoststat</command></term>
|
|
<listitem>
|
|
<para>
|
|
prints <application>sendmail</application>'s persistent host status
|
|
</para>
|
|
<indexterm zone="sendmail hoststat">
|
|
<primary sortas="b-hoststat">hoststat</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="mailstats">
|
|
<term><command>mailstats</command></term>
|
|
<listitem>
|
|
<para>
|
|
displays <application>sendmail</application> statistics
|
|
</para>
|
|
<indexterm zone="sendmail mailstats">
|
|
<primary sortas="b-mailstats">mailstats</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="mailq-sendmail">
|
|
<term><command>mailq</command></term>
|
|
<listitem>
|
|
<para>
|
|
prints a summary of outbound mail messages waiting for delivery
|
|
</para>
|
|
<indexterm zone="sendmail mailq-sendmail">
|
|
<primary sortas="b-mailq">mailq</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="makemap">
|
|
<term><command>makemap</command></term>
|
|
<listitem>
|
|
<para>
|
|
creates <application>sendmail</application> map files
|
|
</para>
|
|
<indexterm zone="sendmail makemap">
|
|
<primary sortas="b-makemap">makemap</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="newaliases-sendmail">
|
|
<term><command>newaliases</command></term>
|
|
<listitem>
|
|
<para>
|
|
rebuilds <filename>/etc/mail/aliases.db</filename> from the
|
|
contents of <filename>/etc/mail/aliases</filename>
|
|
</para>
|
|
<indexterm zone="sendmail newaliases-sendmail">
|
|
<primary sortas="b-newaliases">newaliases</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="praliases">
|
|
<term><command>praliases</command></term>
|
|
<listitem>
|
|
<para>
|
|
displays current <application>sendmail</application> aliases
|
|
</para>
|
|
<indexterm zone="sendmail praliases">
|
|
<primary sortas="b-praliases">praliases</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="purgestat">
|
|
<term><command>purgestat</command></term>
|
|
<listitem>
|
|
<para>
|
|
causes <application>sendmail</application> to clear (purge)
|
|
all its host-status information
|
|
</para>
|
|
<indexterm zone="sendmail purgestat">
|
|
<primary sortas="b-purgestat">purgestat</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="sendmail-prog-sendmail">
|
|
<term><command>sendmail</command></term>
|
|
<listitem>
|
|
<para>
|
|
is the <application>sendmail</application> mail transport agent
|
|
</para>
|
|
<indexterm zone="sendmail sendmail-prog-sendmail">
|
|
<primary sortas="b-sendmail">sendmail</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="smrsh">
|
|
<term><command>smrsh</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a restricted shell for <application>sendmail</application>
|
|
</para>
|
|
<indexterm zone="sendmail smrsh">
|
|
<primary sortas="b-smrsh">smrsh</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="vacation-sendmail">
|
|
<term><command>vacation</command></term>
|
|
<listitem>
|
|
<para>
|
|
is an email auto responder
|
|
</para>
|
|
<indexterm zone="sendmail vacation-sendmail">
|
|
<primary sortas="b-vacation">vacation</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|