
#
# $Id: INSTALL.pod,v 1.12 2004/02/16 16:57:58 matt Exp $
#

=head1 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


=head1 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/.


=head1 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.


=head1 Step 4: Edit config files

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

Edit to suit your preferences.

=head1 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". 

=head1 Step 7: Install Qmail

   toaster_setup.pl -s qmail

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

=head1 Step 8: Install Web/POP3/IMAP servers

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

=head1 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


=head1 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)


=head1 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


=head1 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. 

=cut
