Step 1: Make Perl happy.

Certain features (like spam filtering) require perl 5.6.1 or higher to function fully. If perl -v reflects anything smaller than 5.6.1, do either of the following:

pkg_add -r perl  (on FreeBSD 5+)

    or 

cd /usr/ports/lang/perl5;
make install clean;
rehash; use.perl port;

You need Perl's CPAN working for installing perl modules so make sure it's configured. If the following command doesn't give you a prompt, then you'll be prompted to configure.

perl -MCPAN -e shell
exit

Step 2: Install MATT::Bundle.

http://www.tnpi.biz/computing/perl/MATT-Bundle/MATT-Bundle.tar.gz

perl Makefile.PL
make install

There is a fair amount of documenation on MATT::Bundle which can be read via "perldoc MATT::Bundle". That also applies for subsequent MATT::* targets. The docs are also available at http://www.tnpi.biz/computing/perl/MATT-Bundle/.

Step 3: Install Mail::Toaster

http://www.tnpi.biz/internet/mail/toaster/Mail-Toaster.tar.gz

perl Makefile.PL
make install
make newconf (overwrites installed .conf files)
make cgi

or

perl -e 'use MATT::Utility; InstallMailToaster';

Documentation for the modules being called by toaster_setup.pl, toaster_watcher.pl, maillogs, and index.cgi are all installed in Perl's pod format (perldoc Mail::Toaster, perldoc Mail::Toaster::CGI, etc) as well as being available online at http://www.tnpi.biz/internet/mail/toaster/.

You will likely get prompted to install a few missing perl modules such as DBI and DBD::mysql. When prompted, choose no. The modules will get installed later.

Step 4: Edit config files

vi /usr/local/etc/toaster.conf
vi /usr/local/etc/toaster-watcher.conf

Edit to suit your preferences.

Step 5: Start building the toaster!

rehash
toaster_setup.pl -s pre
toaster_setup.pl -s ports
toaster_setup.pl -s mysql
toaster_setup.pl -s [ apache2 | apache ]
toaster_setup.pl -s apachessl (create ssl certs)
toaster_setup.pl -s phpmyadmin (optional)
toaster_setup.pl -s ucspi
toaster_setup.pl -s ezmlm 
toaster_setup.pl -s vpopmail
toaster_setup.pl -s qmailadmin

If toaster_setup.pl has any problems running, fix what it complains about and then run it again with the same parameter. It will resume and finish that section.

If you want something installed "your" way, install it first. Toaster_setup.pl will detect it (assuming it's registered in the package database) and skip that portion of the install.

When you install Apache, it'll also install PHP which is required by squirrelmail and QSS. Make sure to select the following modules: GD, MYSQL, OPENSSL, & SNMP. Other modules are optional, I recommend selecting those I've listed in addition to the "defaults".

Step 7: Install Qmail

toaster_setup.pl -s qmail

patch info: http://www.tnpi.biz/internet/mail/toaster/patches/

Step 8: Install Web/POP3/IMAP servers

toaster_setup.pl -s courier
toaster_setup.pl -s sqwebmail
toaster_setup.pl -s squirrelmail

Step 9: Configure Courier-IMAP

cd /usr/local/etc/courier-imap
vi pop3d.cnf imapd.cnf quotawarnmsg

cd /usr/local/share/courier-imap
./mkimapdcert; ./mkpop3dcert

Step 10: Set up mail filtering and logging

toaster_setup.pl -s filter
toaster_setup.pl -s supervise
toaster_setup.pl -s maillogs
toaster_setup.pl -s rrdutil (optional)

Step 11: Add cron entries

Run all these commands from the command line and verify their proper functionality (no complaints or errors) BEFORE adding to cron.

crontab -u root -e 

 9-59/10 * * * * /usr/local/vpopmail/bin/clearopensmtp
 40  * * * *  /usr/local/share/sqwebmail/cleancache.pl
 */5 * * * * /usr/local/sbin/toaster-watcher.pl
 */5 * * * * /usr/local/www/cgi-bin/rrdutil.cgi -a update

Step 12: Continue with Configuration.

Visit this URL: http://www.tnpi.biz/internet/mail/toaster/config.shtml Skipping this step is guaranteed to make you less than pleased with your toaster.

See http://mail.cadillac.net/ for an example of index.cgi.