Under development.

# Setup environment
apt-get install zsh locale-conf
locale-gen en_US.UTF-8
dpkg-reconfigure localeconf

# Setup email servers
apt-get install postfix postgrey dovecot-imapd amavisd-new spamassassin pax
dpkg-reconfigure postfix

vim /etc/amavis/conf.d/15-content_filter_mode
Uncomment: 
@bypass_spam_checks_maps = (
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

vim /etc/amavis/conf.d/50-user
Add $pax='pax';

adduser amavis
/etc/init.d/amavis restart

vim /etc/postfix/master.cf
amavis unix - - - - 2 smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes

127.0.0.1:10025 inet n - - - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtpd_bind_address=127.0.0.1

/etc/init.d/postfix restart
apt-get install razor pyzor

vim /etc/spamassassin/local.cf
#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor
pyzor_add_header 1

#razor
use_razor2 1
razor_config /etc/razor/razor-agent.conf

#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1

/etc/init.d/amavis restart

apt-get install apache2-mpm-worker php5
apt-get install postgresql-8.2 ssl-cert
apt-get install ruby irb ri rake
apt-get install build-essential
apt-get install ruby1.8-dev libopenssl-ruby
gem install rails mongrel tzinfo

sudo apt-get install libpq-dev
$ POSTGRES_INCLUDE=/usr/include/postgresql sudo gem install postgres

apt-get install munin munin-node
apt-get install sysv-rc-conf
apt-get install libdbd-pg-perl
apt-get install libarchive-zip-perl perlmagick libxml-atom-perl libmail-sendmail-perl libcrypt-openssl-dsa-perl libcompress-zlib-perl

make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/certs/selfsigned.pem

apt-get install apache2-threaded-dev libxml2-dev --libpng12-dev mcrypt libmcrypt-dev

# PHP5 Apache2
./configure --with-openssl --with-gd --enable-mbstring --with-pgsql --enable-maintainer-zts --with-apxs2=/usr/bin/apxs2 --enable-fastcgi --enable-cgi --prefix=/usr --with-mcrypt 
make && make install
# PHP (F)CGI
./configure --with-openssl --with-gd --enable-mbstring --with-pgsql --enable-maintainer-zts --enable-fastcgi --enable-cgi --prefix=/usr --with-mcrypt --enable-force-cgi-redirect
make && make install

apt-get install rrdtool mailgraph
dpkg-reconfigure mailgraph
ln -s /usr/lib/cgi-bin/mailgraph.cgi /var/www/mailgraph.cgi

apt-get install pflogsumm

Create /etc/logrotate.d/mail:

/var/log/mail.log {
    missingok
    daily
    rotate 7
    create
    compress
    start 0
}

Create /opt/postfix_reports.sh

#!/bin/sh

date=`date --rfc-3339=date`
savedir="/var/www/admin/stats"

gunzip /var/log/mail.log.0.gz
pflogsumm -d yesterday /var/log/mail.log.0 > $savedir/mailstats$date 
gzip /var/log/mail.log.0

rm $savedir/mailstats-latest
ln -s $savedir/mailstats$date $savedir/mailstats-latest

totaldays=$(ls -ltr $savedir | grep 'mailstats[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}$' | wc -l)
oldestday=$(ls -ltr $savedir | grep 'mailstats[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}$' | tail -1)
if [ "$totaldays" -gt "7" ]; then
    rm $oldestday
fi
chmod +x /opt/postfix_reports.sh
crontab -e
0 7 * * * /opt/postfix_reports.sh &> /dev/null

Nginx:

./configure --sbin-path=/usr/local/sbin --with-http_ssl_module --with-http_dav_module
make && make install

Nginx init script:

#! /bin/sh

### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
        . /etc/default/nginx
fi

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
                --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
                --exec $DAEMON
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        start-stop-daemon --stop --quiet --pidfile \
                /usr/local/nginx/logs/$NAME.pid --exec $DAEMON
        sleep 1
        start-stop-daemon --start --quiet --pidfile \
                /usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  reload)
          echo -n "Reloading $DESC configuration: "
          start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
              --exec $DAEMON 
          echo "$NAME."
          ;;
      *)
            N=/etc/init.d/$NAME
            echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
            exit 1   
            ;;
    esac

    exit 0
chmod +x /etc/init.d/nginx
update-rc.d -f nginx defaults