- 论坛徽章:
- 0
|
--------------------------------------------------------------------------------
Create an E-Mail NEO
qmail + vpopmail + qmailadmin + vQamin + maildrop + qmail-scanner + SpamAssassin + ClamAV+ sqWebMail + Squirrelmail + MRTG
Version: 1.0.6 (view change log)
Last Modified Date: 2002-11-04
Compiled and written by: Jeremy Oddo (joddo@apixels.net)
--------------------------------------------------------------------------------
CONTENTS:
Change Log
Resources, Mail-Lists, And Links
Troubleshooting
FAQ
0. Preamble
1. Start with a clean install of RedHat 7.3
2. Remove existing sendmail/pop/imap/httpd servers
3. Download needed packages and put them in /var/src
4. Install daemontools
5. Install ucspi-tcp
6. Install qmail
7. Install Vpopmail
8. Install Courier-IMAP
9. Install Apache
10. Install SqWebmail
11. Install autorespond
12. Install ezmlm-idx
13. Install qmailadmin
14. Test drive your qmail + vpopmail setup
15. Take a break!
16. Install vQadmin
17. Install PHP4
18. Install Squirrelmail
19. Install SpamAssassin
20. Install MailDrop and TNEF reader
21. Add the maildrop script for sorting spam
22. Enable SpamAssassin via maildrop
23. Create the SpamAssassin startup script
24. Final SpamAssassin clean-up
25. Installing qmail-scanner and the ClamAV Virus scanner
26. Installing MRTG (Multi Router Traffic Grapher)
--------------------------------------------------------------------------------
0. Preamble
Company e-mail has become a critical part of every business. With powerful commercial e-mail server packages costing upwards of $7,000 for a base install, I decided to look for alternatives. With a lot of research, I decided to look into qmail (and later opted for a qmail + vpopmail solution). This turned out to be a wise solution indeed. I was able to put together an inexpensive yet powerful e-mail server using a neglected Pentium-133, free (open source) software, and a lot of time for trial-and-error. All-in-all, not including my time, the e-mail server didn't cost me a dime (the Pentium-133 was a sunk cost from six years ago). After determining that this solution would indeed fit my needs, I built a new mail server using a multi-processor Pentium III-450 with 40 times more storage capacity.
This HOW-TO should act as a guideline (a near-key-by-key installation tutorial) for a qmail+vpopmail+spamassassin mail server. It is merely my installation notes compiled for others to use. No guarantee or support is offered...and if you trash your linux box, don't look to me for help! Again, support is not provided. If you need commercial support, I suggest pointing your browser to http://merchbox.com/qmail.php
1. Start with a clean install of RedHat 7.3
If you are building a mail server from the ground up, you may want to install a clean operating system. This tutorial assumes that your OS is RedHat Linux 7.3, however, it should work for other flavors of Unix without too much modification. Choose a “server install” as we will need some of the packages that this mode installs by default. You will find that you don't even need to install X-Windows (X-Windows burns up a lot of room, and you'll probably be spending all your time in a shell all the time anyway!).
By default, vpopmail (the virtual domain add-on for qmail) stores all the e-mail under /home/vpopmail. For this reason, you should consider the size of your /home volume. If you plan on generating a large volume of e-mails, you should adjust your /home volume accordingly. I typically partition an additional hard drive just for the /home volume.
(steps 2 through 13, lifted from Bill Shupp's Toaster Guide at http://www.shupp.org/toaster)
2. Remove existing sendmail/pop/imap/httpd servers
rpm -e --nodeps sendmail
rpm -e --nodeps apache
Next, make sure that you have these packages installed:
rpm -q gdbm
rpm -q gdbm-devel
rpm -q openssl
rpm -q openssl-devel
rpm -q stunnel
# for qmail-scanner you may need perl-suidperl
rpm -q perl-suidperl
If you do not have these packages installed, download them and install them now. You should be able to find all these RPMs at http://www.rpmfind.net.
3. Download needed packages and put them in /var/src
mkdir -p /var/src/tar
cd /var/src/tar
# Needed packages
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://cr.yp.to/software/qmail-1.03.tar.gz
wget http://www.jerfu.com/downloads/toaster/qmail-toaster-0.4.7.patch
wget http://www.jerfu.com/downloads/toaster/vpopmail-5.3.11.tar.gz
wget http://www.inter7.com/devel/autorespond-2.0.3.tar.gz
wget http://www.inter7.com/vqadmin/vqadmin-2.3.4.tar.gz
wget http://www.jerfu.com/downloads/toaster/qmailadmin-1.0.6.tar.gz
wget http://www.tiski.de/linux/patches/vpopmail/patch-quotafix-1.06.gz
wget http://cr.yp.to/software/ezmlm-0.53.tar.gz
wget http://www.jerfu.com/downloads/toaster/idx.shupp.patch.gz
wget http://telia.dl.sourceforge.net/sourceforge/courier/courier-imap-1.6.0.20021025.tar.bz2
wget http://www.apache.org/dist/httpd/apache_1.3.27.tar.gz
wget http://www.jerfu.com/downloads/toaster/toaster-scripts.tar.gz
# Optional packages
wget http://www.jerfu.com/downloads/toaster/optionalScripts.tar.gz
wget http://us3.php.net/distributions/php-4.2.3.tar.gz
wget http://telia.dl.sourceforge.net/sourceforge/courier/sqwebmail-3.4.0.20021026.tar.bz2
wget http://telia.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.3.2.tar.gz
wget http://www.spamassassin.org/released/Mail-SpamAssassin-2.31.tar.gz
wget http://telia.dl.sourceforge.net/sourceforge/qmail-scanner/qmail-scanner-1.15.tgz
wget http://download.sourceforge.net/courier/maildrop-1.5.0.tar.bz2
wget http://telia.dl.sourceforge.net/sourceforge/tnef/tnef-1.1.3.tar.gz
# Download the perl-suidperl RPM. If you aren't using RedHat
# you may need to find an alternate way of getting perl-suidperl installed.
wget ftp://rpmfind.net/linux/redhat/7.3/en/os/i386/RedHat/RPMS/perl-suidperl-5.6.1-34.99.6.i386.rpm
# Virus related optional packages
wget http://clamav.elektrapro.com/stable/clamav-0.53.tar.gz
# Test virus files
wget http://www.eicar.org/download/eicar.com
wget http://www.eicar.org/download/eicar.com.txt
wget http://www.eicar.org/download/eicar_com.zip
wget http://www.eicar.org/download/eicarcom2.zip
# Download MRTG and supporting packages
wget http://www.boutell.com/gd/http/gd-1.8.3.tar.gz
wget http://www.libpng.org/pub/png/src/old/libpng-1.0.12.tar.gz
wget http://www.libpng.org/pub/png/src/zlib-1.1.4.tar.gz
wget http://www.inter7.com/qmailmrtg7/qmailmrtg7-3.4.tar.gz
wget http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/mrtg-2.9.25.tar.gz
4. Install daemontools
daemontools is a collection of tools for managing UNIX services. It will monitor qmail-send, and qmail-smtpd, and qmail-pop3d services.
The below steps assume that your "rc" directories are in /etc/rc.d, and your "init.d" path is "/etc/rc.d/init.d". If yours are different, please substitue paths accordingly.
mkdir -p /package
chmod 1755 /package
cd /package
tar -xpzf /var/src/tar/daemontools-0.76.tar.gz
cd admin/daemontools-0.76
package/install
5. Install ucspi-tcp
ucspi-tcp contains tcpserver and tcpclient, command line tools for building client-server applications.
cd /var/src/
tar -xzf tar/ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
make
make setup check
6. Install qmail
qmail is a replacement for sendmail. It's fast, free, and easy to use. Follow the next steps closely.
mkdir /var/qmail
/usr/sbin/groupadd nofiles
/usr/sbin/useradd -g nofiles -d /var/qmail/alias alias
/usr/sbin/useradd -g nofiles -d /var/qmail qmaild
/usr/sbin/useradd -g nofiles -d /var/qmail qmaill
/usr/sbin/useradd -g nofiles -d /var/qmail qmailp
/usr/sbin/groupadd qmail
/usr/sbin/useradd -g qmail -d /var/qmail qmailq
/usr/sbin/useradd -g qmail -d /var/qmail qmailr
/usr/sbin/useradd -g qmail -d /var/qmail qmails
# we need to add the vpopmail user here
/usr/sbin/groupadd vchkpw
/usr/sbin/useradd -g vchkpw vpopmail
cd /var/src
tar -xzf tar/qmail-1.03.tar.gz
tar -xzf tar/toaster-scripts.tar.gz
cd qmail-1.03
patch -p0 < ../tar/qmail-toaster-0.4.7.patch
make
make setup check
(cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root)
chmod 644 ~alias/.qmail*
# on the next line replace "full.hostname" with the hostname of your mail server
./config-fast full.hostname
make cert
# enter your company's information
cd /var/qmail/control
rm clientcert.pem
cp servercert.pem clientcert.pem
chown qmaild.qmail clientcert.pem
cd /var/src
cp toaster-scripts/rc /var/qmail/rc
chmod 755 /var/qmail/rc
mkdir /var/log/qmail
echo ./Maildir/ >;/var/qmail/control/defaultdelivery
cp toaster-scripts/qmailctl /var/qmail/bin/
#Make qmail start at boot time.
ln -s ../init.d/qmail /etc/rc.d/rc0.d/K30qmail
ln -s ../init.d/qmail /etc/rc.d/rc1.d/K30qmail
ln -s ../init.d/qmail /etc/rc.d/rc2.d/S80qmail
ln -s ../init.d/qmail /etc/rc.d/rc3.d/S80qmail
ln -s ../init.d/qmail /etc/rc.d/rc4.d/S80qmail
ln -s ../init.d/qmail /etc/rc.d/rc5.d/S80qmail
ln -s ../init.d/qmail /etc/rc.d/rc6.d/K30qmail
ln -s /var/qmail/bin/qmailctl /etc/rc.d/init.d/qmail
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
#Now create the supervise directories/scripts for the qmail services:
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
mkdir -p /var/qmail/supervise/qmail-pop3d/log
mkdir -p /var/qmail/supervise/qmail-pop3ds/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtpd
chmod +t /var/qmail/supervise/qmail-pop3d/log
chmod +t /var/qmail/supervise/qmail-pop3ds/log
cp /var/src/toaster-scripts/send.run /var/qmail/supervise/qmail-send/run
cp /var/src/toaster-scripts/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /var/src/toaster-scripts/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /var/src/toaster-scripts/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /var/src/toaster-scripts/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /var/src/toaster-scripts/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /var/src/toaster-scripts/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /var/src/toaster-scripts/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
echo 20 >; /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run
mkdir -p /var/log/qmail/smtpd
mkdir -p /var/log/qmail/pop3d
mkdir -p /var/log/qmail/pop3ds
chown qmaill /var/log/qmail /var/log/qmail/smtpd
chown qmaill /var/log/qmail/pop3d /var/log/qmail/pop3ds
#allow daemontools to start qmail
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
#verify that it's running with qmailctl
qmailctl stat
qmail should now be up and running. I suggest reviewing steps 2 through 6 to help "cement" in your mind what we just did. We will now move on to the vpopmail section of the install.
7. Install Vpopmail
Vpopmail is a virtual domain package add-on for qmail. It can handle multiple domains on a single IP address, and none of the user accounts are /etc/passwd or "system" accounts. NICE!
Because we will only be using vchkpw (the pop authentication tool) with qmail-smtpd for SMTP-AUTH, we don't want it to open relays. The patch applied below fixes this.
cd /var/src
# the vchkpw group and vpopmail user was created while installing qmail for make cert
tar -xzf tar/vpopmail-5.3.11.tar.gz
cd vpopmail-5.3.11
./configure --enable-roaming-users=y –-enable-logging=y \
–-enable-learn-passwords=y –-enable-clear-passwd=y \
--enable-default-domain=your-main-domain-FQDN \
--enable-mysql –-enable-defaultquota=10M
make
make install-strip
echo '127.:allow,RELAYCLIENT=""' >;/home/vpopmail/etc/tcp.smtp
qmailctl cdb
# add the followowing line to your crontab via `crontab -e`
9-59,10 * * * * /home/vpopmail/bin/clearopensmtp 2>;&1 >; /dev/null
# install the vpopmail start script
cp ../toaster-scripts/vpopmailctl /var/qmail/bin/vpopmailctl
#Make vpopmail start at boot time.
ln -s ../init.d/vpopmail /etc/rc.d/rc0.d/K30vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc1.d/K30vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc2.d/S80vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc3.d/S80vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc4.d/S80vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc5.d/S80vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc6.d/K30vpopmail
ln -s /var/qmail/bin/vpopmailctl /etc/rc.d/init.d/vpopmail
chmod 755 /var/qmail/bin/vpopmailctl
ln -s /var/qmail/bin/vpopmailctl /usr/bin
#allow daemontools to start vpopmail
ln -s /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3ds /service
#verify that it's running with vpopmailctl
vpopmailctl stat
8. Install Courier-IMAP
Courier-IMAP will supply IMAP/SIMAP access.
cd /var/src
tar -xjf tar/courier-imap-1.6.0.20021025.tar.bz2
cd courier-imap-1.6.0.20021025
# configure may take some time...
./configure --disable-root-check --without-authdaemon --with-authvchkpw \
--enable-workarounds-for-imap-client-bugs
make
make install-strip
make install-configure
cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap
chmod 755 /etc/rc.d/init.d/courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc0.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc1.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc2.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc3.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc4.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc5.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc6.d/K30courier-imap
Edit /usr/lib/courier-imap/etc/imapd
change:
'AUTHMODULES="..."'
to:
'AUTHMODULES="authvchkpw"'
change :
'IMAPDSTART=NO'
to:
'IMAPDSTART=YES'
Edit /usr/lib/courier-imap/etc/imapd-ssl
change:
'IMAPDSSLSTART=NO'
to:
'IMAPDSSLSTART=YES'
NOTE: courier-imap does (should) run under user vpopmail.vchkpw
Edit /usr/lib/courier-imap/libexec/imapd.rc AND /usr/lib/courier-imap/libexec/imapd-ssl.rc as follows:
change:
/usr/lib/courier-imap/libexec/couriertcpd -address=$ADDRESS \
to:
/usr/lib/courier-imap/libexec/couriertcpd -address=$ADDRESS \
-user=vpopmail -group=vchkpw \
Start IMAP server:
/etc/rc.d/init.d/courier-imap start
Make the new imapd.pem certificate readable by vpopmail since that's the user that the imap server runs as
chown vpopmail.vchkpw /usr/lib/courier-imap/share/imapd.pem
OK, we've now made it past the vpopmail install. You should now have qmail and vpopmail up and running.
Again, you may want to review steps 7 and 8 to familiarize yourself with the vpopmail install. We are going to move on to the Apache install next.
9. Install Apache
The Apache Web server is needed for webmail and qmailadmin access.
We'll compile it with DSO support so we can add PHP later.
cd /var/src
tar -xzf tar/apache_1.3.27.tar.gz
cd apache_1.3.27
./configure --enable-module=so --prefix=/usr/local/apache
make
make install
#Make apache start at boot time.
cd /usr/local/apache/bin
ln -s apachectl /etc/rc.d/init.d/httpd
ln -s ../init.d/httpd /etc/rc.d/rc0.d/K30httpd
ln -s ../init.d/httpd /etc/rc.d/rc1.d/K30httpd
ln -s ../init.d/httpd /etc/rc.d/rc2.d/S80httpd
ln -s ../init.d/httpd /etc/rc.d/rc3.d/S80httpd
ln -s ../init.d/httpd /etc/rc.d/rc4.d/S80httpd
ln -s ../init.d/httpd /etc/rc.d/rc5.d/S80httpd
ln -s ../init.d/httpd /etc/rc.d/rc6.d/K30httpd
Now (and this is important), edit your /usr/local/apache/conf/httpd.conf file.
Replace the <Directory /usr/local/apache/cgi-bin/>; contents with this:
<Directory /usr/local/apache/cgi-bin/>;
AllowOverride All
Options ExecCGI
Order allow,deny
Allow from all
</Directory>;
Start up the Apache web server:
/usr/local/apache/bin/apachectl start
10. Install SqWebmail
SqWebmail is a web cgi client that provides direct access to users' mailboxes, bypassing the need for a pop or imap client in between.
cd /var/src
tar -xjf tar/sqwebmail-3.4.0.20021026.tar.bz2
cd sqwebmail-3.4.0.20021026
# configure may take some time...
./configure --without-authdaemon --with-authvchkpw
make
make install-strip
Add the following line to your crontab via `crontab -e`
crontab -e
40 * * * * /usr/local/share/sqwebmail/cleancache.pl 2>;&1 >; /dev/null
11. Install autorespond
Autorespond is compatible autoresponder/vacation type tool that works well with vdelivermail and qmailadmin.
cd /var/src
tar -xzf tar/autorespond-2.0.3.tar.gz
cd autorespond-2.0.3
make
make install
12. Install ezmlm-idx
Fast, full featured Mailing List Manager configureable from qmailadmin.
cd /var/src
tar -xzf tar/ezmlm-0.53.tar.gz
cd ezmlm-0.53
gunzip -cd ../tar/idx.shupp.patch.gz | patch -p0
make
make setup
13. Install qmailadmin
Qmailadmin can handle nearly all virtual email administration tasks for you from a web browser, except for adding and removing virtual domains. The patch applied below fixes a problem with the default_quota directive used in the .qmailadmin-limits file.
cd /var/src
tar -xzf tar/qmailadmin-1.0.6.tar.gz
cd qmailadmin-1.0.6
#gunzip -cd ../tar/patch-quotafix-1.06.gz | patch -p0
./configure --enable-cgibindir=/usr/local/apache/cgi-bin/ --enable-htmldir=/usr/local/apache/htdocs \
--with-htmllibdir=/usr/local/apache/htdocs
make
make install-strip
Your toaster installation is done! Now we're ready to take it for a test drive.
14. Test drive your qmail + vpopmail setup
Here we'll add a virtual domain, test.com, and test sending/receiving mail. Substitue test.com for whatever domain you setup DNS for.
# Add the domain to vpopmail
/home/vpopmail/bin/vadddomain test.com [password]
This creates the default "postmaster" account for test.com. You will use this account with qmailadmin.
Try adding/removing users with qmailadmin. Open up a web browser, and type in the following address:
http://mail.test.com/cgi-bin/qmailadmin
To test out quota usage support, create a user with a 6MB quota like so:
/home/vpopmail/bin/vadduser -q 6000000000S user@test.com [password]
Verify the user settings, and create the "maildirsize" file:
/home/vpopmail/bin/vuserinfo user@test.com
Now, to log into sqwebmail as user@test.com, point your browser here:
http://mail.test.com/cgi-bin/sqwebmail
Send yourself a message. If you get it, it's likely you're up and running.
To test your POP server, try telnetting to port 110 and logging in.
telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.
user user@test.com
+OK Password required.
pass [password]
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.
Test your IMAP server in the same way:
telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK Courier-IMAP ready. Copyright 1998-2001 Double Precision, Inc. See COPYING for distribution information.
a001 login user@test.com [password]
a001 OK LOGIN Ok.
a001 logout
* BYE Courier-IMAP server shutting down
a001 OK LOGOUT completed
Connection closed by foreign host.
15. Take a break!
Ahhh.... You have a fully functioning mail server. The rest of the stuff if optional, but highly recommend. You can stop now, or you can continue. It's your call.
16. Install vQadmin
vqadmin is a web based control pannel. It allows system administrators to perform actions which require root access.
cd /var/src
tar -zxf tar/vqadmin-2.3.4.tar.gz
cd vqadmin-2.3.4
./configure
make
make install
Now we need to add a few lines to our httpd.conf file:
vi /usr/local/apache/conf/httpd.conf
<Directory "/usr/local/apache/cgi-bin/vqadmin">;
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
</Directory>;
Save the file, and end your vi session.
cd /usr/local/apache/cgi-bin/vqadmin
chown nobody .htaccess
chmod 600 .htaccess
# Create an admin account with a password:
/usr/local/apache/bin/htpasswd -bc /usr/local/apache/conf/vqadmin.passwd admin adminpass
chown nobody.nobody /usr/local/apache/conf/vqadmin.passwd
/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl start
Test out the installation in your favorite broswer:
http://www.test.com/cgi-bin/vqadmin/vqadmin.cgi
17. Install PHP4
PHP4 is needed for Squirrelmail. You'll actually probably need it for something else, too, so you should install it. NOTE: I had problems getting php-4.2.2 to run as a DSO under Apache, but php-4.2.1 worked fine.
cd /var/src
tar -xzf tar/php-4.2.3.tar.gz
cd php-4.2.3
./configure --with-mysql --with-apxs=/usr/local/apache/bin/apxs --prefix=/usr/local/apache \
--enable-track-vars --enable-force-cgi-redirect --with-gettext
make
make install
cp php.ini-dist /usr/local/lib/php.ini
vi /usr/local/lib/php.ini
change:
register_globals = Off
to:
register_globals = On
vi /usr/local/apache/conf/httpd.conf
change:
DirectoryIndex index.html index.html.var
to:
DirectoryIndex index.html index.html.var index.php
add:
AddType application/x-httpd-php .php
Action application/x-httpd-php /usr/local/apache/cgi-bin
18. Install Squirrelmail
Squirrelmail is a great web-based e-mail client with IMAP support. NOTE: Squirrelmail requires PHP4 to be installed.
cd /usr/local/apache/htdocs
tar -xzf /var/src/tar/squirrelmail-1.3.2.tar.gz
mv squirrelmail-1.2.7 squirrelmail
cd squirrelmail
mkdir attachment
chown -R nobody.nobody data
chown -R nobody.nobody attachment
chmod 733 attachment
You need to create a .htaccess file in you SquirrelMail directory that looks something like this:
AddType application/php4script .php
Action application/php4script /cgi-bin/php
Now, run the squirrelmail configuration script (the configure routine should be self explanatory):
./configure
The one thing you must do is change the IMAP settings from cyrus to courier. Do this by pressing D at the prompt, then at the next prompt, type courier. Also, you should set up your attachment directory path. From the main menu, press 4, then press 3, and set the path to ../attachment/ and then press s to save and q to quit.
19. Install SpamAssassin
Spam is a dirty word where I come from. Most people don't like it, don't read it, and don't want it. If you want to protect yourself against spam, your should install SpamAssassin. As of the time of writing this, there is a newer version of SpamAssassin (version 2.43); however, many people have reported problems, so we're going to stick with version 2.31.
SpamAssassin requires Time-HiRes. If you don't have it, we'll need to install it.
# Install the Time-HiRes perl module
cd /var/src
# NOTE: If you are running CPAN for the first time, you will be asked
# a series of questions. The defaults are fine for most questions.
# It should be easy enough to figure out.
perl -MCPAN -e'shell'
cpan>; install Time::HiRes
cpan>; exit
# Install SpamAssassin
cd /var/src
tar -xzf tar/Mail-SpamAssassin-2.31.tar.gz
cd Mail-SpamAssassin-2.31
perl Makefile.PL
make
make install
# Run a spam and non-spam test
spamassassin -t < sample-spam.txt >; spamtest.txt
less spamtest.txt
spamassassin -t < sample-nonspam.txt >; nospamtest.txt
less nospamtest.txt
The spamtest.txt should contain the prefix "*****SPAM*****" on the subject line, while the nospamtest.txt should not.
20. Install MailDrop and TNEF reader
TNEF is a program for unpacking MIME attachments of type "application/ms-tnef". This is a Microsoft only attachment.
The TNEF program allows one to unpack the attachments which were encapsulated into the TNEF attachment. It is not essential to install TNEF, but it is highly recommended!
Cd /var/src
tar -xzf tar/qmail-scanner-1.15.tgz
tar -xzf tar/maildrop-1.4.0.tar.gz
tar -xzf tar/tnef-1.1.3.tar.gz
# Install maildrop
cd /var/src/maildrop-1.4.0
./configure
make install-strip
make install-man
# Install the tnef
cd /var/src/tnef-1.1.3
./configure
make
make install
21. Add the maildrop script for sorting spam
NOTE: This script puts the mail into a “JunkMail” IMAP folder. Because of this, you need to choose one of these two options:
1. You'll have to manually create this folder for each new user, like this:
su vpopmail
maildirmake -f JunkMail /home/vpopmail/domains/[domain name]/[user name]/Maildir/
(end of option #1)
2. You can edit vpopmail.c (or download it from me) to automatically create the “JunkMail” folder for each new user. If you choose this method, you can use vadduser or the qmailadmin web interface to automatically generate the JunkMail folder when you create the user.
Add this to the frunction variable declares (around, oh geeze, let's say line 1450):
FILE *fs;
Next, look for the following lines, they should be arround line 1512 through line 1522:
if (mkdir("new",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 6\n" ;
return(NULL);
}
if (mkdir("tmp",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 7\n" ;
return(NULL);
}
Now, add the following lines right after the above lines (should be around line 1525):
/* BEGIN: Create .JunkMail IMAP folder and IMAP subscribe file */
if (mkdir(".JunkMail",VPOPMAIL_DIR_MODE) == -1){
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 3\n" ;
return(NULL);
}
if (chdir(".JunkMail" == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 4\n" ;
return(NULL);
}
if (mkdir("cur",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 5\n" ;
return(NULL);
}
if (mkdir("new",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 6\n" ;
return(NULL);
}
if (mkdir("tmp",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 7\n" ;
return(NULL);
}
chdir(".." ;
if ( (fs = fopen("courierimapsubscribed", "w+" )==NULL) {
free("courierimapsubscribed");
return(0);
printf ("Error creating IMAP subscribe file.\n");
} else {
fprintf(fs, "INBOX.Sent\n");
fprintf(fs, "INBOX.Trash\n");
fprintf(fs, "INBOX.Drafts\n");
fprintf(fs, "INBOX.JunkMail\n");
fclose(fs);
}
/* END: Create .JunkMail IMAP folder and IMAP subscribe file */
Save the file, and recompile vpopmail, like this:
cd /var/src/vpopmail-5.3.11
make
make install-strip
# You may have to restart apache
/usr/local/apache/bin/apachectl restart
(end of option #2)
We need an /etc/maildroprc script so that maildrop knows how to sort the incoming email.
cd /var/src
tar -xzf optionalScripts.tar.gz
mv optionalScripts/maildroprc /etc/maildroprc
Now we need to make /etc/maildroprc readable by the mail user:
chown vpopmail.vchkpw /etc/maildroprc
22. Enable SpamAssassin via maildrop
This is an "entire domain" setting. If you enable SpamAssassin for one, you enable it for the whole domain.
There are ways to enable a “per user” set-up, but that is not discussed here.
To enable SpamAssassin filtering, you must edit the .qmail-default for that domain:
vi /home/vpopmail/domains/[domain name]/.qmail-default
|maildrop
NOTE: If you use e-mail aliases, you will need to modify the .qmail-[alias name] file. Let's assume that the e-mail account name is user@test.com and should have an alias for user2@test.com. First, comment out the first line in the .qmail-user2 alias file (or remove it, but I like to leave the original line intact). Next, you'll need to add a new line containing the person's e-mail address (with a “&” sign in front of their address) before the original commented-out line, as such:
vi /home/vpopmail/domains/test.com/.qmail-user2
&user@test.com
#/home/vpopmail/domains/test.com/user/Maildir
23. Create the SpamAssassin startup script
We want SpamAssassin to start up automatically upon boot up. A startup script is provided in optionalScripts.tar.gz.
mv /var/src/optionalScripts/spamassassin /etc/rc.d/init.d/spamassassin
# Now let's make sure SpamAssassin starts up at boot time
cd /etc/rc.d/init.d/
chmod 755 spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc0.d/K30spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc1.d/K30spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc2.d/S80spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc3.d/S80spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc4.d/S80spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc5.d/S80spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc6.d/K30spamassassin
/etc/rc.d/init.d/spamassassin start
24. Final SpamAssassin clean-up
If everything goes as planned, you should be catching the damn spam.
There's a few things we may want to clean up. The following is optional. By default, the spam will get caught and the subject line will be prefixed with: '*****SPAM*****'. Many people don't like the e-mail to be altered so let's change that.
mv /var/src/optionalScripts/local.cf /etc/mail/spamassassin/local.cf
Here are a few other variables you may want to add into your local.cf file:
# If you want to include a spam report in the e-mail header:
report_header 1
# Reduce some of the superfluous explanations in the report:
use_terse_report 1
Now, we just have to restart SpamAssassin to reflect these changes:
/etc/rc.d/init.d/spamassassin restart
That should be it! You should now have a fully functioning qmail mail server with spam protection. Yeah! Now you need to build your domains and add your users. The hard part is over.
25. Installing qmail-scanner and the ClamAV Virus scanner
In order for our toaster to scan the incoming e-mail, we'll need to add the qmail-scanner. We'll also need to install perl-suidperl if you don't already have it installed (RedHat 7.3 doesn't install it). The lines below show how to do it.
# Install perl-suidperl
rpm -i /var/src/tar/perl-suidperl-5.6.1-34.99.6.i386.rpm
# Install qmail-scanner
cd /var/src
tar -xzf tar/qmail-scanner-1.15.tgz
cd qmail-scanner-1.15
./configure –-scanners "clamscan,verbose_spamassassin" --admin "user" --domain "test.com" –-install
Note: the "--admin" and "--domain" switches make up the "user"@"domain name" combination. Warnings reported via qmail-scanner will be sent to this e-mail account, so make sure that it's an “admin-type” account. Also, warnings from all domains will be sent to this account, so keep that in mind. At the first prompt, press y to allow qmail-scanner to pre-configure itself. At the second prompt, press y to finalize the qmail-queue-scanner.pl build.
cp quarantine-attachments.txt /var/spool/qmailscan
su qmaild -c "/var/qmail/bin/qmail-scanner-queue.pl -g
# If qmail-scanner-queue.pl has a problem with installing itself, copy it yourself as below
# cp qmail-scanner-queue.pl /var/qmail/bin/qmail-scanner-queue.pl
Now we need to edit our qmail-smtpd run file to call qmail-scanner-queue.pl
vi /var/qmail/supervise/qmail-smtpd/run
add:
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE
change:
exec /usr/local/bin/softlimit -m 2000000 \
to:
exec /usr/local/bin/softlimit -m 15000000 \
Save the file, and exit vi. And now, we'll install the actual virus scanner, “Clam Anti-Virus”. Check out http://clamav.elektrapro.com for more information. First, we'll need to add a user and group for the clamAV user:
/usr/sbin/groupadd clamav
/usr/sbin/useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav
cd /var/src
tar -xzf tar/clamav-0.53.tar.gz
cd clamav-0.53
./configure
make
make install
# check to make sure that it works
clamscan -r -l scan.txt .
cat scan.txt
rm -rf scan.txt
# we need to setup the log files...
touch /var/log/clam-update.log
chmod 644 /var/log/clam-update.log
chown clamav /var/log/clam-update.log
# We can automatically check for anti-virus updates
# by adding a line to our cron file:
crontab -e
0 8 * * * /usr/local/bin/freshclam --quiet -l /var/log/clam-update.log
[ESC]:wq
# Let's tweak the ownership and permissions a bit...
chown -R qmailq.qmail /var/qmail/bin/qmail-scanner-queue.pl
chown -R qmailq.qmail /var/spool/qmailscan
chmod -R 755 /var/spool/qmailscan
# And finally, we'll restart our mail services
/var/qmail/bin/qmailctl restart
/var/qmail/bin/vpopmailctl restart
OK, let's test it out and see if the virus scanner is working. Remember those test virus files that we downloaded in step #3? We're going to use them now. Open your favorite e-mail client (SquirrelMail?) and send a test message from one test user to another (you may need to create a couple of test e-mail accounts). Attach one of the virus test files to your e-mail and send it to the second test account. If you log in as you admin user, you should see a e-mail virus warning. We can look at the log file to see if qmail-scanner and clamAV actually caught the test virus:
cat /var/spool/qmailscan/qmail-queue.log
26. Installing MRTG
The Multi Router Traffic Grapher (MRTG) is a tool to monitor the traffic load on network-links. MRTG generates HTML pages containing graphical images which provide a LIVE visual representation of this traffic. We can use it to monitor the e-mail and spam traffic on our system.
# install zlib (library for compressing graph files)
cd /var/src
tar -xzf tar/zlib-1.1.4.tar.gz
mv zlib-1.1.4/ zlib
cd zlib
./configure
make
cd ..
# install libpng (the PNG graphic format library)
tar -xzf tar/libpng-1.0.12.tar.gz
mv libpng-1.0.12/ libpng
cd libpng
make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
rm *.so.* *.so
cd ..
# install gd (the graph drawing library)
tar -xzf tar/gd-1.8.3.tar.gz
mv gd-1.8.3/ gd
cd gd
make INCLUDEDIRS="-I. -I../zlib -I../libpng" \
LIBDIRS="-L../zlib -L. -L../libpng" LIBS="-lgd -lpng -lz -lm"
make install
cd ..
# compile MRTG
tar -xzf tar/mrtg-2.9.25.tar.gz
cd mrtg-2.9.25/
./configure --prefix=/usr/local/mrtg-2 –-with-gd=/var/src/gd/ \
--with-z=/var/src/zlib/ --with-png=/var/src/libpng/
make
make install
All the software required by MRTG is now installed under in the /usr/local/mrtg-2 subdirectory. You can now safely delete the libraries we compiled above. But then again you might want to keep them around so that you have them available when compiling the next version of MRTG.
Now let's actually add the MRTG functionaity to our server with the aid of qmailmrtg from Inter7 (gotta love those guys!)
# compile qmailmrtg
cd /var/src
tar -xzf tar/qmailmrtg7-3.4.tar.gz
# If you haven't extracted the files from optionalScripts.tar.gz, do so now
tar -xzf tar/optionalScripts.tar.gz
cd qmailmrtg7-3.4
make
make install
mkdir /usr/local/apache/htdocs/qmailmrtg
cp ../optionalScripts/qmail.mrtg.cfg /usr/local/apache/htdocs/qmailmrtg
cp ../optionalScripts/index.html /usr/local/apache/htdocs/qmailmrtg
cd /usr/local/apache/htdocs/qmailmrtg/
Edit qmail.mrtg.cfg and index.html and change all instances of FQDN to your fully qualified domain name (ie: test.com). If your HTTP MRTG directory is not the default (ie: your not using /usr/local/apache as your web root directory), you'll need to change the WorkDir variable at the top of /usr/local/htdocs/qmailmrtg/qmail.mrtg.cfg to the proper path. If you are not logging pop or smtp, you can comment out the pop3 and smtp sections with a # character at the beging of each line. I'm leaving them in for now, and you can pull them out if you decide that you don't want to log them.
You can update the pop3 and smtp lines and set the MaxBytes variable to match your -cX line in tcpserver.
You can also update the concurrency to match your concurrencyremote or concurrencylocal values. The default qmail values are 20 if those files do not exist in your /var/qmail/control directory.
OK, MRTG is now set to graph several qmail logs, but lets add in the SpamAssassin support. We'll need the “Date: arse” module for Perl, so let's strart there:
cd /var/src/optionalScripts
perl -MCPAN -e'shell'
cpan>; install Date: arse
cpan>; quit
#you may have to move the modules to your Perl lib directory, like this:
#mv /root/perl/* /usr/lib/perl5/5.6.1/i386-linux/
cp glmrtg.pl /usr/local/bin
cp mrtgspam /usr/local/bin
chmod 755 /usr/local/bin/glmrtg.pl
chmod 755 /usr/local/bin/mrtgspam
That's it! You'll now be collecting SpamAssassin stats (spam vs. non-spam). Let's finish it off by adding a cron job so that we update MRTG's data every five minutes. On my machine I do the following:
crontab -e
Add the follownig line (which will run MRTG every five minutes) then exit crontab:
*/5 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/apache/htdocs/qmailmrtg/qmail.mrtg.cfg 2>;&1 >; /dev/null
Now run MRTG 3 times to get it setup. You will get warning messages the first 3 times you run it. After that, you should not get more warnings.
/usr/local/mrtg-2/bin/mrtg /usr/local/apache/htdocs/qmailmrtg/qmail.mrtg.cfg
It should be set up now. Wait 15 minutes for the logs to start showing things. You can check the the graphs by pointing a browser to:
http://your.host.name/qmailmrtg/
That should be it! Check out them graphs!
--------------------------------------------------------------------------------
Troubleshooting
For RedHat (and other Linux distros) make sure that your install mode is “server installation”.
You get the "Can't do setuid" message in /var/log/qmail/smtpd/current log file after installing qmail-scanner. If you get this error message, you'll probably need to install perl-suidperl. Look to http://www.rpmfind.net to find this RPM.
After installing qmail-scanner, I'm getting qq errors. If you are using Perl 5.8.0 with qmail-scanner, you will receive the qq error. Downgrade to 5.6.1 to correct the problem. Qmail-scanner doesn't work well with Perl 5.8.0.
My e-mail aliases aren't working after installing qmail-scanner! If you use e-mail aliases, you will need to modify the .qmail-[alias name] file. Let's assume that the e-mail account name is user@test.com and should have an alias for user2@test.com. First, comment out the first line in the .qmail-user2 file (or remove it, but I like to leave the original line intact). Next, you'll need to add a new line containing the person's e-mail address (with a “&” sign in front of their address) before the original commented-out line, as such:
vi /home/vpopmail/domains/test.com/.qmail-user2
&user@test.com
#/home/vpopmail/domains/test.com/user/Maildir
Sadly, that's all I have right now. I'll be filling in this section soon.
--------------------------------------------------------------------------------
FAQ (for lack of a better title)
I've decided to add a little FAQ section with will contain a few common questions and even some answers!
Q: Is there an easy way to deny some users the right to e-mail outside our organization (or local server)?
A: Yes. Take a look at the NO_RELAY flag that can be set for any user:
vmoduser -r email@domain
Q: Is there a way to disable POP access for an entire domain, not just an email address?
A: Yes. Again, vmodeuser is your friend:
vmoduser -p domain.com
Q: Should I be using a MySQL database for authentication, or is cdb good enough?
A: It depends. Here are a few reasons why you might want to use MySQL:
If you have a lot of users in one domain, say more than 10K. This is because cdb updates get slower the more users you add.
If you want other applications to have access to vpopmail user information, it's easy to tailor them to talk to the MySQL database.
It's easy to store additional user information in MySQL.
Q: Our company has both a .com and a .net domain name. Is there a way to bounce all mail from one to the other?
A: You don't really want to bounce the mail. You want to create an alias for that domain, as such:
vaddaliasdomain domain.net domain.com
Q: Is there a way to send an e-mail to every user in a virtual domain, or every user across all domains?
A: Yes, check out the utility “vpopmail”:
vpopbull [options] [virtual_domain] [...]
Q: Is there an easy way to list all users across all virtual domains without a MySQL front-end?
A: Yes. Create a script and call is something like vlistusers (I put it in the /home/vpopmail/bin/ directory):
#!/bin/bash
PATH=$PATH:/home/vpopmail/bin
for DOMAIN in `vdominfo -n` ; do
DIR=`vdominfo -d $DOMAIN`
for USER in `awk -F: '{ print $1 }' $DIR/vpasswd` ; do
echo "$USER@$DOMAIN"
done
done
Q: I have determined that my users are brain-dead and cannot empy their trash folder. Can this be automated?
A: Yes. Open the courier-imap/etc/imapd file, and look for the “IMAP_EMPTYTRASH“ line. If you'd like to purge after 7 days, try this:
IMAP_EMPTYTRASH=Trash:7
Q: We just don't have the space to keep user's e-mail around forever. How can I delete mail older than 45 days old?
A: You can do this by setting up a cron job similar to this:
0 22 * * * find /home/vpopmail/domains/ -ctime +45 -type f -path '*Maildir/cur*' | xargs -i --verbose rm '{}' 2>;&1
Q: Most of my users are on one domain. Is there a way to set a default domain name so they don't have to log in with “@domain.com”?
A: Yes, it is a compile-time option for vpopmail. Add this switch to your “configure” command before compiling vpopmail:
./configure --enable-roaming-users=y –-enable-logging=v --enable-default-domains=yourdomain.com
Q: My pop3 connections are taking an extreme amount of time authenticating. Is there a solution?
A: This may or may not work for you, but try adding the switch “-l0” to your tcpserver options in your qmail-smtpd/run file (note: that is lower-case L followed by a zero). If you are using the included scripts, this option is already set.
Q: I have one domain that needs to have a default quota of 5MB per user, and another domain that needs a 10MB per user quota. How can I go about putting this is place so that new users can be created with the correct quota?
A: To set per domain defaults for Qmailadmin you create a .qmailadmin-limits in your /home/vpopmail/domains/yourdomain directory.
Among other things, you can specify default quota for the domain. Look in your Qmailadmin INSTALL file for syntax and further instructions.
Q: I keep hearing about something called “the seekable patch” for vpopmail. Do I need to patch my vpopmail?
A: If you are using vpopmail version < 5.3.7 you should get the seekable patch from http://www.thesafebox.com
Q: I get an error message when I try to install the new version of qmail-scanner. How do I fix the problem?
A: In step 25, we copied a file called quarantine-attachments.txt to /var/spool/qmailscan. The problem is in this file. Open up that file in your favorite editor. Look for this line:
message/partial<tab>;Virus-Content-Type:<tab>;Message/partial MIME attachments blocked by policy
The second <tab>; is a space in the 1.15 release.
The second <tab>; is actually a <space>;. Replace that <space>; with a <tab>; and all will be good.
Q: I need to move my domains and users from one mailserver to another. What do I need to back up?
A: Nothing. Real sysadmin's don't back up. That said, this is what I do.... I use tar to back up all the directories I'm going to need. This is my tar command:
tar -Pczf /tmp/mailbackup.tar.gz ~vpopmail/etc/* ~vpopmail/domains/* /var/qmail/control/* /var/qmail/users/* /user/local/apache/htdocs/squirrelmail/data/*
It may take a bit if you have a lot of user and domains. Move the tarball over to the new server and issue:
tar -Pxzf /tmp/mailbackup.tar.gz
Note: this will overwrite any users/domains currently on the new server (in other words, it should be used to move old users over to a new fresh system).
--------------------------------------------------------------------------------
Resources, Mail-Lists, and Links
Resources:
* http://www.shupp.org: qmail toaster HOW-TO (the basis for my HOW-TO)
* http://www.lifewithqmail.org: Life With Qmail. Excellent guide and information page for qmail (A MUST READ!)
* http://matt.simerson.net/computing/mail/toaster: FreeBSD qmail toaster HOW-TO (the basis for Bill Shupp's HOW-TO)
Mail-Lists:
* http://shupp.org/pubcgi-bin/ezmlm-cgi?1: Bill Shupp's “qmail toaster” mail-list archive
* toaster-subscribe@shupp.org: Bill Shupp's “qmail toaster” mail-list subscriber
* http://bluedot.net/mail/archive/list.php?f=2: Vpopmail mail-list archive
* vchkpw-subscribe@inter7.com: Vpopmail mail-list subscriber.
* http://www.mail-archive.com/qmailadmin%40inter7.com: qmailadmin mail-list archive
* qmailadmin-subscribe@inter7.com: qmailadmin mail-list subscriber
* http://sourceforge.net/mailarchive/forum.php?forum_id=1981: SpamAssassin mail-list achive
* http://lists.sourceforge.net/lists/listinfo/spamassassin-talk: SpamAssassin mail-list subscribe page
* http://lists.sourceforge.net/lists/listinfo/qmail-scanner-general: Mail list for qmail-scanner
Helpful Links:
* http://www.qmail.org: Home of qmail and qmail related tools
* http://www.inter7.com: Home of vpopmail/qmailadmin/vQadmin and other great tools
* http://www.spamassassin.org: Home of SpamAssassin spam filter system
* http://clamav.elektrapro.com/: Clam Anit-Virus home page
* http://qmail-scanner.sourceforge.net/: Home page for qmail-scanner
--------------------------------------------------------------------------------
Change Log
1.0.6: 11-04-02
* Moved to the newest versions of many of the packages.
* Added “how to backup and move users/domains to another server” to the FAQ.
* Fixed a few typos, and error.
1.0.5: 10-27-02
* Added a small FAQ, and fixed a few errors.
* Added some scripts for the optional packages.
* Added MRTG graphics functionality
1.0.4: 09-15-02
* Fixed some typing mistakes, and added a bit more info to a few sections.
* Added some scripts for the optional packages.
1.0.3: 09-11-02
* Added the “Clam Anit-Virus “ virus scanner.
* Made modifications to the qmail-queue-scanner installation.
1.0.2: 08-21-02
* Added modifications to vpopmail.c to automatically create the “JunkMail” folder upon user creation
1.0.1: 08-19-02
* Added Preamble
* Added resources, mail-lists, and other helpful links
* Added links to download files
* Fixed several small typing errors
1.0.0: 08-15-02
* Initial release |
|