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 @@
|
||||
|
||||
=head1 Upgrade notes
|
||||
# Upgrade notes
|
||||
|
||||
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'
|
||||
plugin. The new plugin reads the same config files (see 'perldoc
|
||||
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.
|
||||
|
||||
=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
|
||||
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
|
||||
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
|
||||
backward compatibility, a spf_deny setting of 1 is mapped to 'reject
|
||||
3' and a 'spf_deny 2' is mapped to 'reject 4'.
|
||||
backward compatibility, a spf\_deny setting of 1 is mapped to 'reject
|
||||
3' and a 'spf\_deny 2' is mapped to 'reject 4'.
|
||||
|
||||
|
||||
=head3 P0F plugin
|
||||
### P0F plugin
|
||||
|
||||
defaults to p0f v3 (was v2).
|
||||
|
||||
Upgrade p0f to version 3 or add 'version 2' to your p0f line in
|
||||
config/plugins. perldoc plugins/ident/p0f for more details.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user