#1  
Old 15th June 2007, 20:25
seangee seangee is offline
Junior Member
 
Join Date: Jun 2007
Posts: 9
Thanks: 1
Thanked 0 Times in 0 Posts
Lightbulb Maia Mailguard with ISPconfig

Hi

has anyone done this or know of a package or howto. If not I'll happily tackle and publish it - no promises on timing though . Just don't see the point in re-inventing the wheel if it has already been done

ta
Sean
Reply With Quote
Sponsored Links
  #2  
Old 16th June 2007, 02:57
nerbas nerbas is offline
Junior Member
 
Join Date: Oct 2006
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Default

I don't have any info - I'd just be really really glad if you could tackle that problem Maia is on my wishlist...
Reply With Quote
  #3  
Old 22nd April 2009, 18:10
pebkac pebkac is offline
Senior Member
 
Join Date: Feb 2009
Posts: 132
Thanks: 2
Thanked 7 Times in 7 Posts
Default

did you ever get this done? I would like to do it as well...
Reply With Quote
  #4  
Old 24th June 2010, 08:39
warlock warlock is offline
Member
 
Join Date: Nov 2008
Posts: 93
Thanks: 1
Thanked 6 Times in 4 Posts
Default

For those who are interested I have written a script that will install maia mailgaurd into an ISPConfig 3.x on ubuntu 9.10, it should work with 10.04 I am busy testing it and will let you know.

Code:
#!/bin/sh
#
# Set up the basic environment
#
MAIA="maia-1.0.2a.tar.gz"
MYSQLPASS="mysqlpasswd"
PASS="maiapasswd"
FQDN="mymail.example.com"
DN="myexample.com"

GEOG="Geography-Countries-2009041301.tar.gz"
IPCOUNTRY="IP-Country-2.27.tar.gz"
DOMKEYS="Mail-DomainKeys-1.0.tar.gz"

#
/usr/bin/apt-get update
/usr/bin/apt-get --yes upgrade
#
#
/usr/bin/apt-get --yes install amavisd-new 
/usr/bin/apt-get --yes install spamassassin
/usr/bin/apt-get --yes install openssh-server
/usr/bin/apt-get --yes install unzip
/usr/bin/apt-get --yes install build-essential
/usr/bin/apt-get --yes install lynx
/usr/bin/apt-get --yes install ncftp2
/usr/bin/apt-get --yes install libssl-dev
/usr/bin/apt-get --yes install apt-show-versions
/usr/bin/apt-get --yes install whois
#
# Set up apache2
#
/usr/bin/apt-get --yes install apache2
/usr/bin/apt-get --yes install apache2-doc
/usr/bin/apt-get --yes install libapache2-mod-perl2
/usr/bin/apt-get --yes install libapache2-mod-auth-mysql
/usr/bin/apt-get --yes install libapache2-mod-php5
#
#Set up MySQL
#
/usr/bin/apt-get --yes install mysql-server
/usr/bin/apt-get --yes install libgd2
/usr/bin/apt-get --yes install php5
/usr/bin/apt-get --yes install php5-cgi
/usr/bin/apt-get --yes install phpmyadmin
/usr/bin/apt-get --yes install php5-imap
/usr/bin/apt-get --yes install php5-ldap
/usr/bin/apt-get --yes install php5-mcrypt
/usr/bin/apt-get --yes install php5-mysql
/usr/bin/apt-get --yes install php5-gd
/usr/bin/apt-get --yes install php-mail-mime
/usr/bin/apt-get --yes install libcrypt-blowfish-perl
/usr/bin/apt-get --yes install libossp-uuid-perl
/usr/bin/apt-get --yes install libio-zlib-perl
/usr/bin/apt-get --yes install libarchive-tar-perl
/usr/bin/apt-get --yes install libarchive-zip-perl
/usr/bin/apt-get --yes install libtemplate-perl
/usr/bin/apt-get --yes install libemail-address-perl
/usr/bin/apt-get --yes install libconvert-tnef-perl
/usr/bin/apt-get --yes install libnet-cidr-lite-perl
/usr/bin/apt-get --yes install libmail-spf-query-perl
/usr/bin/apt-get --yes install libcrypt-cbc-perl
/usr/bin/apt-get --yes install libdbd-pg-perl 
/usr/bin/apt-get --yes install libnet-ldap-perl
/usr/bin/apt-get --yes install libunix-syslog-perl
/usr/bin/apt-get --yes install libnet-dns-perl
/usr/bin/apt-get --yes install libberkeleydb-perl
/usr/bin/apt-get --yes install imagemagick

#Geography:Countries
cd /tmp
if [ -f /var/cache/apt/$GEOG ]
then 
	cp /var/cache/apt/$GEOG /tmp
else
	/usr/bin/wget http://search.cpan.org/CPAN/authors/id/A/AB/ABIGAIL/$GEOG
	cp $GEOG /var/cache/apt/$GEOG
fi
tar xvzf Geogra*
cd Geogra*
perl Makefile.PL
make
make install

#IP::Country
cd /tmp
if [ -f /var/cache/apt/$IPCOUNTRY ]
then 
	cp /var/cache/apt/$IPCOUNTRY /tmp
else
	/usr/bin/wget http://search.cpan.org/CPAN/authors/id/N/NW/NWETTERS/$IPCOUNTRY
	cp $IPCOUNTRY /var/cache/apt/$IPCOUNTRY
fi
tar xvzf IP-Cou*
cd IP-Cou*
perl Makefile.PL
make
make install

#Mail:DomainKeys
cd /tmp
if [ -f /var/cache/apt/$DOMKEYS ]
then 
	cp /var/cache/apt/$DOMKEYS /tmp
else
	/usr/bin/wget http://search.cpan.org/CPAN/authors/id/A/AN/ANTHONYU/$DOMKEYS
	cp $DOMKEYS /var/cache/apt/$DOMKEYS
fi
tar xvzf Mail-D*
cd Mail-D*
perl Makefile.PL
make
make install
#
#
/usr/bin/apt-get --yes install php-pear
/usr/bin/pear channel-update pear.php.net
/usr/bin/pear install Mail_Mime
/usr/bin/pear install XML_RPC
/usr/bin/pear install DB_Pager
/usr/bin/pear install Auth_SASL
/usr/bin/pear install Net_Socket
/usr/bin/pear install Net_IMAP
/usr/bin/pear install Net_POP3
/usr/bin/pear install Net_SMTP
/usr/bin/pear install Log
#
#
/usr/bin/apt-get --yes install clamav
/usr/bin/apt-get --yes install clamav-daemon
/usr/bin/apt-get --yes install clamav-docs
/usr/bin/apt-get --yes install unrar-free
/usr/bin/apt-get --yes install unzoo
/usr/bin/apt-get --yes install amavis
/usr/bin/apt-get --yes install smarty
/bin/ln -s /usr/share/php/smarty /usr/share/php/Smarty
#
#
/usr/bin/pear channel-update pear.php.net
/usr/bin/pear install DB
/usr/bin/pear install Pager
/usr/bin/pear install -f Image_Color
/usr/bin/pear install -f Image_Canvas
/usr/bin/pear install -f Numbers_Words
/usr/bin/pear install Numbers_Roman
/usr/bin/pear install -f Image_Graph-0.7.2
cp /var/cache/apt/Pie.php /usr/share/php/Image/Graph/Plot/Pie.php
#
#
/usr/bin/apt-get --yes install razor
/usr/bin/apt-get --yes install pyzor
#
cp /var/cache/apt/phpinfo.php /var/www/
#
/etc/init.d/apache2 restart
#
# Download and Install Maia
#
cd /usr/src
if [ -f /var/cache/apt/$MAIA ]
then 
	cp /var/cache/apt/$MAIA /usr/src
else
	/usr/bin/wget http://www.maiamailguard.com/files/$MAIA
	cp $MAIA /var/cache/apt/$MAIA
fi
/bin/tar -zxvf $MAIA
cd maia*

/bin/mkdir         /var/amavisd
/bin/mkdir         /var/amavisd/maia
/bin/mkdir         /var/amavisd/db
/bin/mkdir         /var/amavisd/tmp

/bin/mv scripts    /var/amavisd/maia/
/bin/mv templates  /var/amavisd/maia/
/bin/mv php        /var/www/maia
/bin/mv amavisd-maia /usr/sbin

cat amavisd.conf.dist | sed -e 's/yourdomain.tld/'$DN'/' -e 's/host.domain.tld/'$FQDN'/' -e 's/password/'$PASS'/' -e 's/\/amavisd\/clamd.sock/\/run\/clamav\/clamd.ctl/' -e 's/log_level\ =\ 0/log_level\ =\ 3/' -e 's/\$MYHOME\/amavis.log/\/var\/log\/amavis.log/' -e 's/#\$unrar/\$unrar/' > /etc/amavisd.conf
/bin/mv /var/amavisd/maia/templates/digest.tpl /var/amavisd/maia/templates/digest.tpl.bak
/bin/mv /var/cache/apt/digest.tpl /var/amavisd/maia/templates/digest.tpl

cat maia.conf.dist | sed -e 's/password = "passwd"/password = "'$PASS'"/' -e 's/base_url = "http:\/\/example.com\/"/base_url = "http:\/\/www.'$DN'\/maia"/' -e 's/report_options = 1 + 2 + 4 + 8/report_options = 0/' > /etc/maia.conf
cat /var/www/maia/config.php.dist |sed -e 's/passwd/'$PASS'/'  > /var/www/maia/config.php

cat /var/www/maia/admin/configtest.php | sed -e 's/PEAR\/Remote.php/PEAR\/Command\/Remote.php/' > /var/www/maia/admin/configtest.php.bak
mv /var/www/maia/admin/configtest.php.bak /var/www/maia/admin/configtest.php


# Rotate logs
echo 						 >> /etc/logrotate.conf
echo '# amavis'				 >> /etc/logrotate.conf
echo '/var/log/amavis.log {' >> /etc/logrotate.conf
echo '    missingok'		 >> /etc/logrotate.conf
echo '    daily' 			 >> /etc/logrotate.conf
echo '    rotate 7' 		 >> /etc/logrotate.conf
echo '    create' 			 >> /etc/logrotate.conf
echo '    compress'  		 >> /etc/logrotate.conf
echo '    start 0' 			 >> /etc/logrotate.conf
echo '}' 					 >> /etc/logrotate.conf


#
# Ceating Maia database
cat maia-mysql.sql | sed -e 's/-- PREAMBLE/USE maia;/' > maia-mysqldb.sql

echo 'DROP DATABASE IF EXISTS maia;' > create_maia_db.sql
echo 'CREATE DATABASE maia;' >> create_maia_db.sql
echo 'USE maia;' >> create_maia_db.sql
echo 'GRANT CREATE, DROP, ALTER, SELECT, INSERT, UPDATE, DELETE ON maia.* TO amavis@localhost IDENTIFIED BY '\'$PASS\'';' >> create_maia_db.sql

/usr/bin/mysql -u root -p$MYSQLPASS  < create_maia_db.sql
/usr/bin/mysql -u root -p$MYSQLPASS  < maia-mysqldb.sql

cd /root

/usr/sbin/adduser www-data amavis

/bin/chown -R amavis. /var/amavisd
/bin/chown -R www-data /var/www/maia
/bin/chown root. /usr/sbin/amavisd-maia
/bin/chown amavis.amavis /etc/maia.conf
/bin/chmod 640 /var/amavisd/maia/templates/*.tpl
/bin/chmod 750 /var/amavisd/maia/scripts/*.pl
/bin/chmod 640 /etc/maia.conf 
/bin/chmod 755 /usr/sbin/amavisd-maia
/bin/ln -s /usr/sbin/amavisd-maia /usr/sbin/amavisd
cat /var/www/maia/core.php | sed -e 's/:.\/libs:/:\/usr\/share\/php/' > /root/core.php
mv /root/core.php /var/www/maia/core.php

cd /etc/default

echo '# /etc/default/amavisd' > amavisd
echo '#' >> amavisd
echo '' >> amavisd
echo '# Change to one to enable amavis' >> amavisd
echo 'ENABLED=1' >> amavisd
echo '' >> amavisd
echo '# Where should amavisd write its PID to file? If you use the -u or' >> amavisd
echo '# --username option above, this needs to be writable by that user.' >> amavisd
echo '# Otherwise, the init script will not be able to shut amavisd down.' >> amavisd
echo 'PIDFILE="/var/amavisd/amavisd.pid"' >> amavisd
echo '' >> amavisd
echo '# Set nice level of spamd' >> amavisd
echo '#NICE="--nicelevel 15"' >> amavisd


cd /etc/init.d

cp /var/cache/apt/amavisd_init.d_script.sh amavisd
chmod 755 amavisd
update-rc.d amavisd defaults
update-rc.d -f amavis remove
cd /root

/etc/init.d/apache2 restart
/etc/init.d/amavis stop
/etc/init.d/amavisd start
mv /etc/init.d/amavis /root

# 8) Setting up cron
# *******************************************************************************
echo '0 * * * * /var/amavisd/maia/scripts/process-quarantine.pl --learn &> /dev/null' >> /var/spool/cron/crontabs/root
echo '0 1 * * * /var/amavisd/maia/scripts/expire-quarantine-cache.pl &> /dev/null' >> /var/spool/cron/crontabs/root
echo '0 2 * * 1 /var/amavisd/maia/scripts/send-quarantine-reminders.pl &> /dev/null' >> /var/spool/cron/crontabs/root
echo '*/30 * * * * /var/amavisd/maia/scripts/send-quarantine-digests.pl &> /dev/null' >> /var/spool/cron/crontabs/root
echo '0 0 * * * sa-update && /var/amavisd/maia/scripts/load-sa-rules.pl && /etc/init.d/amavisd restart' >> /var/spool/cron/crontabs/root
echo '0 * * * * /var/amavisd/maia/scripts/stats-snapshot.pl &> /dev/null' >> /var/spool/cron/crontabs/root

# 9) Done !!!!!
# *******************************************************************************
echo 'Check your install -> http://www.'$DN'/maia/admin/configtest.php'
echo 'Setup initial user -> http://www.'$DN'/maia/internal-init.php'
echo 'Setup super user   -> http://www.'$DN'/maia/login.php?super=register'
you will also need to save this as /var/cache/apt/amavisd_init.d_script.sh
Code:
#! /bin/sh

# amavis init script
# February 26, 2006
# David Sims

# Based on SpamAssassin script

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/amavisd
NAME=amavisd
SNAME=amavisd
DESC="Amavis Mail Filter Daemon"
PIDFILE="/var/run/$NAME.pid"
PNAME="amavisd"

export TMPDIR=/tmp
# Apparently people have trouble if this isn't explicitly set...

# Defaults - don't touch, edit /etc/default/amavisd
ENABLED=0
OPTIONS=""
NICE=

test -f /etc/default/amavisd && . /etc/default/amavisd

if [ "$ENABLED" = "0" ]; then
    echo "$DESC: disabled, see /etc/default/amavisd"
    exit 0
fi

test -f $DAEMON || exit 0

set -e

case "$1" in
  start)
	echo -n "Starting $DESC: "
	start-stop-daemon --start --pidfile $PIDFILE --name $PNAME \
	    $NICE --oknodo --startas $DAEMON -- $OPTIONS $DOPTIONS
	echo "$NAME."
	;;

  stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop --pidfile /var/amavisd/amavisd.pid
	rm /var/amavisd/amavisd.lock
	echo "$NAME."
	;;

  reload|force-reload)
	echo -n "Reloading $DESC: "
	start-stop-daemon --stop --pidfile $PIDFILE --signal HUP --name $PNAME
	echo "$NAME."
	;;

  restart)
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop --pidfile /var/amavisd/amavisd.pid
	start-stop-daemon --start --pidfile $PIDFILE --name $PNAME \
	    $NICE --oknodo --startas $DAEMON -- $OPTIONS $DOPTIONS

	echo "$NAME."
	;;

  *)
	N=/etc/init.d/$SNAME
	echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
	exit 1
	;;
esac

exit 0
Use at your own risk and I take no responsibility if it breaks your system

Last edited by warlock; 24th June 2010 at 08:47.
Reply With Quote
  #5  
Old 24th June 2010, 09:08
Mark_NL Mark_NL is offline
Senior Member
 
Join Date: Sep 2008
Location: The Netherlands
Posts: 912
Thanks: 12
Thanked 100 Times in 96 Posts
 
Default

hehe nice

Though i'd like to give you some tips if you want to keep on working on the script.

1. Don't put perl tarballs in /var/cache/apt/ (this dir is for debian packages, just dl it to /usr/local/src or smth

2. You can shorten this all by putting all the packages in one apt-get command, also add a:

Code:
APTCMD=`which apt-get`;
and then use that as cmd like so:

Code:
$APTCMD -y libgd2
3. Installing a perl module from command line can be done like this:
Code:
perl -MCPAN -e 'Geography::Countries Mail:DomainKeys'
this way all the dependencies will be installed as well.

4. Don't put scripts in /var/cache/apt/
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
ISPconfig after installation cannot reach www.xyz.de:81 Figth4Linux Installation/Configuration 23 6th March 2008 22:38
ISPConfig 2.2.13 released till General 35 23rd July 2007 16:28
ISPConfig 2.3.2-dev released till General 9 4th June 2007 10:46
fastcgi and php with ispconfig tosser Tips/Tricks/Mods 3 25th June 2006 21:01
SP-Server Setup - Ubuntu 5.10 "Breezy Badger" - Page 6 (changes) LuisC-SM HOWTO-Related Questions 0 21st April 2006 15:16


All times are GMT +2. The time now is 05:45.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.