converted UPGRADING.pod
This commit is contained in:
parent
a1823c8f50
commit
d1bc00b2e2
199
README
199
README
@ -1,199 +0,0 @@
|
|||||||
#
|
|
||||||
# this file is best read with `perldoc README`
|
|
||||||
#
|
|
||||||
|
|
||||||
=head1 NAME
|
|
||||||
|
|
||||||
Qpsmtpd - qmail perl simple mail transfer protocol daemon
|
|
||||||
|
|
||||||
web:
|
|
||||||
http://smtpd.github.io/qpsmtpd/
|
|
||||||
|
|
||||||
mailinglist:
|
|
||||||
qpsmtpd-subscribe@perl.org
|
|
||||||
|
|
||||||
FAQ:
|
|
||||||
https://github.com/smtpd/qpsmtpd/wiki/faq
|
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
|
||||||
|
|
||||||
What is Qpsmtpd?
|
|
||||||
|
|
||||||
Qpsmtpd is an extensible SMTP engine written in Perl. No, make that
|
|
||||||
easily extensible! See plugins/quit_fortune for a very useful, er,
|
|
||||||
cute example.
|
|
||||||
|
|
||||||
=head2 License
|
|
||||||
|
|
||||||
Qpsmtpd is licensed under the MIT License; see the LICENSE file for
|
|
||||||
more information.
|
|
||||||
|
|
||||||
=head2 What's new in this release?
|
|
||||||
|
|
||||||
See the Changes file! :-)
|
|
||||||
|
|
||||||
|
|
||||||
=head1 Installation
|
|
||||||
|
|
||||||
=head2 Required Perl Modules
|
|
||||||
|
|
||||||
The following Perl modules are required:
|
|
||||||
Net::DNS
|
|
||||||
MIME::Base64
|
|
||||||
Mail::Header (part of the MailTools distribution)
|
|
||||||
|
|
||||||
If you use a version of Perl older than 5.8.0 you will also need
|
|
||||||
Data::Dumper
|
|
||||||
File::Temp
|
|
||||||
Time::HiRes
|
|
||||||
|
|
||||||
The easiest way to install modules from CPAN is with the CPAN shell.
|
|
||||||
Run it with
|
|
||||||
|
|
||||||
perl -MCPAN -e shell
|
|
||||||
|
|
||||||
=head2 qpsmtpd installation
|
|
||||||
|
|
||||||
Make a new user and a directory where you'll install qpsmtpd. I
|
|
||||||
usually use "smtpd" for the user and /home/smtpd/qpsmtpd/ for the
|
|
||||||
directory.
|
|
||||||
|
|
||||||
Put the files there. If you install from git you can just do
|
|
||||||
run the following command in the /home/smtpd/ directory.
|
|
||||||
|
|
||||||
git clone git://github.com/smtpd/qpsmtpd.git
|
|
||||||
|
|
||||||
Beware that the master branch might be unstable and unsuitable for anything
|
|
||||||
but development, so you might want to get a specific release, for
|
|
||||||
example (after running git clone):
|
|
||||||
|
|
||||||
git checkout -b local_branch v0.93
|
|
||||||
|
|
||||||
chmod o+t ~smtpd/qpsmtpd/ (or whatever directory you installed qpsmtpd
|
|
||||||
in) to make supervise start the log process.
|
|
||||||
|
|
||||||
Edit the file config/IP and put the ip address you want to use for
|
|
||||||
qpsmtpd on the first line (or use 0 to bind to all interfaces).
|
|
||||||
|
|
||||||
If you use the supervise tools, then you are practically done!
|
|
||||||
Just symlink /home/smtpd/qpsmtpd into your /services (or /var/services
|
|
||||||
or /var/svscan or whatever) directory. Remember to shutdown
|
|
||||||
qmail-smtpd if you are replacing it with qpsmtpd.
|
|
||||||
|
|
||||||
If you don't use supervise, then you need to run the ./run script in
|
|
||||||
some other way.
|
|
||||||
|
|
||||||
The smtpd user needs write access to ~smtpd/qpsmtpd/tmp/ but should
|
|
||||||
not need to write anywhere else. This directory can be configured
|
|
||||||
with the "spool_dir" configuration and permissions can be set with
|
|
||||||
"spool_perms".
|
|
||||||
|
|
||||||
As per version 0.25 the distributed ./run script runs tcpserver with
|
|
||||||
the -R flag to disable identd lookups. Remove the -R flag if that's
|
|
||||||
not what you want.
|
|
||||||
|
|
||||||
|
|
||||||
=head2 Configuration
|
|
||||||
|
|
||||||
Configuration files can go into either /var/qmail/control or into the
|
|
||||||
config subdirectory of the qpsmtpd installation. Configuration should
|
|
||||||
be compatible with qmail-smtpd making qpsmtpd a drop-in replacement.
|
|
||||||
|
|
||||||
If qmail is installed in a nonstandard location you should set the
|
|
||||||
$QMAIL environment variable to that location in your "./run" file.
|
|
||||||
|
|
||||||
If there is anything missing, then please send a patch (or just
|
|
||||||
information about what's missing) to the mailinglist or a PR to github.
|
|
||||||
|
|
||||||
|
|
||||||
=head1 Better Performance
|
|
||||||
|
|
||||||
For better performance we recommend using "qpsmtpd-forkserver" or
|
|
||||||
running qpsmtpd under Apache 2.x. If you need extremely high
|
|
||||||
concurrency use http://haraka.github.io/
|
|
||||||
|
|
||||||
=head1 Plugins
|
|
||||||
|
|
||||||
The qpsmtpd core only implements the SMTP protocol. No useful
|
|
||||||
function can be done by qpsmtpd without loading plugins.
|
|
||||||
|
|
||||||
Plugins are loaded on startup where each of them register their
|
|
||||||
interest in various "hooks" provided by the qpsmtpd core engine.
|
|
||||||
|
|
||||||
At least one plugin MUST allow or deny the RCPT command to enable
|
|
||||||
receiving mail. The "rcpt_ok" is one basic plugin that does
|
|
||||||
this. Other plugins provide extra functionality related to this; for
|
|
||||||
example the resolvable_fromhost plugin described above.
|
|
||||||
|
|
||||||
|
|
||||||
=head1 Configuration files
|
|
||||||
|
|
||||||
All the files used by qmail-smtpd should be supported; so see the man
|
|
||||||
page for qmail-smtpd. Extra files used by qpsmtpd include:
|
|
||||||
|
|
||||||
=over 4
|
|
||||||
|
|
||||||
=item plugins
|
|
||||||
|
|
||||||
List of plugins, one per line, to be loaded in the order they
|
|
||||||
appear in the file. Plugins are in the plugins directory (or in
|
|
||||||
a subdirectory of there).
|
|
||||||
|
|
||||||
|
|
||||||
=item rhsbl_zones
|
|
||||||
|
|
||||||
Right hand side blocking lists, one per line. For example:
|
|
||||||
|
|
||||||
dsn.rfc-ignorant.org does not accept bounces - http://www.rfc-ignorant.org/
|
|
||||||
|
|
||||||
See http://www.rfc-ignorant.org/ for more examples.
|
|
||||||
|
|
||||||
|
|
||||||
=item dnsbl_zones
|
|
||||||
|
|
||||||
Normal ip based DNS blocking lists ("RBLs"). For example:
|
|
||||||
|
|
||||||
relays.ordb.org
|
|
||||||
spamsources.fabel.dk
|
|
||||||
|
|
||||||
|
|
||||||
=item spool_dir
|
|
||||||
|
|
||||||
If this file contains a directory, it will be the spool directory
|
|
||||||
smtpd uses during the data transactions. If this file doesn't exist, it
|
|
||||||
will default to use $ENV{HOME}/tmp/. This directory should be set with
|
|
||||||
a mode of 700 and owned by the smtpd user.
|
|
||||||
|
|
||||||
=item spool_perms
|
|
||||||
|
|
||||||
The default spool permissions are 0700. If you need some other value,
|
|
||||||
chmod the directory and set it's octal value in config/spool_perms.
|
|
||||||
|
|
||||||
=item tls_before_auth
|
|
||||||
|
|
||||||
If this file contains anything except a 0 on the first noncomment line, then
|
|
||||||
AUTH will not be offered unless TLS/SSL are in place, either with STARTTLS,
|
|
||||||
or SMTP-SSL on port 465.
|
|
||||||
|
|
||||||
=item everything (?) that qmail-smtpd supports.
|
|
||||||
|
|
||||||
In my test qpsmtpd installation I have a "config/me" file containing
|
|
||||||
the hostname I use for testing qpsmtpd (so it doesn't introduce itself
|
|
||||||
with the normal name of the server).
|
|
||||||
|
|
||||||
=back
|
|
||||||
|
|
||||||
|
|
||||||
=head1 Problems
|
|
||||||
|
|
||||||
In case of problems, always check the logfile first.
|
|
||||||
|
|
||||||
By default, qpsmtpd logs to log/main/current. Qpsmtpd can log a lot of
|
|
||||||
debug information. You can get more or less by adjusting the number in
|
|
||||||
config/loglevel. Between 1 and 3 should give you a little. Setting it
|
|
||||||
to 10 or higher will get lots of information in the logs.
|
|
||||||
|
|
||||||
If the logfile doesn't give away the problem, then post to the
|
|
||||||
mailinglist (subscription instructions above). If possible, put
|
|
||||||
the logfile on a webserver and include a reference to it in the mail.
|
|
||||||
|
|
@ -1,22 +1,21 @@
|
|||||||
|
# Upgrade notes
|
||||||
=head1 Upgrade notes
|
|
||||||
|
|
||||||
When upgrading please review these notes for the versions you are
|
When upgrading please review these notes for the versions you are
|
||||||
upgrading I<from>.
|
upgrading _from_.
|
||||||
|
|
||||||
=head2 v0.84 or below
|
## v0.84 or below
|
||||||
|
|
||||||
=head3 CHECK_RELAY, CHECK_NORELAY, RELAY_ONLY
|
### CHECK\_RELAY, CHECK\_NORELAY, RELAY\_ONLY
|
||||||
|
|
||||||
All 3 plugins are deprecated and replaced with a new 'relay'
|
All 3 plugins are deprecated and replaced with a new 'relay'
|
||||||
plugin. The new plugin reads the same config files (see 'perldoc
|
plugin. The new plugin reads the same config files (see 'perldoc
|
||||||
plugins/relay') as the previous plugins. To get the equivalent
|
plugins/relay') as the previous plugins. To get the equivalent
|
||||||
functionality of enabling 'relay_only', use the 'only' argument to the
|
functionality of enabling 'relay\_only', use the 'only' argument to the
|
||||||
relay plugin as documented in the RELAY ONLY section of plugins/relay.
|
relay plugin as documented in the RELAY ONLY section of plugins/relay.
|
||||||
|
|
||||||
=head3 GREYLISTING plugin
|
### GREYLISTING plugin
|
||||||
|
|
||||||
'mode' config argument is deprecated. Use reject and reject_type instead.
|
'mode' config argument is deprecated. Use reject and reject\_type instead.
|
||||||
|
|
||||||
The greylisting DB format has changed to accommodate IPv6
|
The greylisting DB format has changed to accommodate IPv6
|
||||||
addresses. (The DB key has colon ':' seperated fields, and IPv6
|
addresses. (The DB key has colon ':' seperated fields, and IPv6
|
||||||
@ -28,19 +27,16 @@ qpsmtpd once, make one connection. A log entry will be made, telling
|
|||||||
how many records were upgraded. Remove the upgrade option from your
|
how many records were upgraded. Remove the upgrade option from your
|
||||||
config.
|
config.
|
||||||
|
|
||||||
=head3 SPF plugin
|
### SPF plugin
|
||||||
|
|
||||||
spf_deny setting deprecated. Use reject N setting instead, which
|
spf\_deny setting deprecated. Use reject N setting instead, which
|
||||||
provides administrators with more granular control over SPF. For
|
provides administrators with more granular control over SPF. For
|
||||||
backward compatibility, a spf_deny setting of 1 is mapped to 'reject
|
backward compatibility, a spf\_deny setting of 1 is mapped to 'reject
|
||||||
3' and a 'spf_deny 2' is mapped to 'reject 4'.
|
3' and a 'spf\_deny 2' is mapped to 'reject 4'.
|
||||||
|
|
||||||
|
### P0F plugin
|
||||||
=head3 P0F plugin
|
|
||||||
|
|
||||||
defaults to p0f v3 (was v2).
|
defaults to p0f v3 (was v2).
|
||||||
|
|
||||||
Upgrade p0f to version 3 or add 'version 2' to your p0f line in
|
Upgrade p0f to version 3 or add 'version 2' to your p0f line in
|
||||||
config/plugins. perldoc plugins/ident/p0f for more details.
|
config/plugins. perldoc plugins/ident/p0f for more details.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user