Hi all,
I've spent quite a few hours trying to install qpsmtpd, with only
limited success. Here are some of the issues:
1. Does qpsmtpd need to be compiled and installed? This article
http://searchopensource.techtarget.com/tip/0,289483,sid39_gci1235770,00.html
by James Turnbull, which is very recent and detailed, calls for
# perl Makefile.PL
# make
# make install
I've tried this with both the 0.32 tarball and with
http://svn.perl.org/qpsmtpd/branches/0.3x, and both give the same result
from perl Makefile.PL:
Checking if your kit is complete...
Warning: the following files are missing in your kit:
META.yml
Please inform the author.
WARNING: Setting ABSTRACT via file 'README' failed
at /usr/lib/perl5/5.8.6/ExtUtils/MakeMaker.pm line 606
Writing Makefile for qpsmtpd
2. Other instructions, including the README, don't mention compiling at
all. I was able to run
# ./qpsmtpd-forkserver -u $USER
under the root account and successfully queue an email message through
port 2525.
I set up an smtpd user according to the instructions in
http://www.pycs.net/lateral/stories/11.html and
http://searchopensource.techtarget.com/tip/0,289483,sid39_gci1235770,00.html
, but running
# ./qpsmtpd-forkserver
without the -u parameter (which is supposed to default to smtpd) results
in the message:
Could not create spool_dir /root/tmp/: Permission denied at
lib/Qpsmtpd.pm line 464.
Why would it try to create /root/tmp, if it's supposed to run as smtpd?
# ./qpsmtpd-forkserver -u smptd
gives the same result -- at least some consistency in the failure...
3. I'm running a very small mail server, only a few hundred emails per
day. It's a Suse 9.3 running under Plesk 8.0.1 with qmail, but but it's
not a "standard" qmail installation -- qmail-smtpd runs under xinetd.
Since qmail-smtpd is running under xinetd, I figured I might try running
qpsmtpd in the same environment, at least to get started.
http://wiki.qpsmtpd.org/deploy:start#x_inetd
mentions xinetd all right. It points to a patch at
http://www.nntp.perl.org/group/perl.qpsmtpd/5765
which seems to be already included in the current svn version, but I
wasn't able to find any current information on how to actually run it.
Peter J. Holzer wrote that "It's basically the same patch as for 0.28."
and I was able to dig that one up somewhere as qpsmtpd-xinetd.tar.gz,
which also includes run.xi -- that seems like a step in the right
direction, but how do I tell this thing to run on port 25?
4. Well, xinetd seems to be out of favor anyway, so I looked at
http://wiki.qpsmtpd.org/deploy:sysvinit, which should actually fit my
server installation, but telling by the file paths, this seems to apply
to a compiled installation according to James Turnbull (#1 above).
However, in line 18 of http://wiki.qpsmtpd.org/deploy:sysvinit is
. /etc/init.d/functions
I don't have that executable on my server.
If I let line 25 point to
dir="/usr/share/qpsmtpd"
then I get:
Starting /usr/share/qpsmtpd/qpsmtpd-forkserver: ./qpsmtpd-forkserver:
line 32: /usr/share/qpsmtpd/qpsmtpd-forkserver: No such file or directory
OTOH, if I let it point to
dir="/usr/bin"
(where make install has put qpsmtpd-forkserver, then I get:
Starting /usr/bin/qpsmtpd-forkserver: could not open
/usr/bin/plugins/logging/warn: No such file or directory at
/usr/lib/perl5/site_perl/5.8.6/Qpsmtpd/Plugin.pm line 121.
BTW, in http://wiki.qpsmtpd.org/deploy:sysvinit "127.0.0l" (zero-el)
should probably be "127.0.0.1" (zero-dot-one).
I have so many bits and pieces, and none seem to fit together. Can
anyone put me on the right track?
Hans