debian postfix系统自安装脚本
#/bin/bash
################################################################################################
# Author:linuxplay
#
# Date:2007.12.10
#
# Somthing to say
#
# The script will ask you some question ,so “donot” go anywhere when excute this script
################################################################################################
##############
# prepation
##############
sed -i ‘/^deb http:\/\/security.debian.org/s/\(.*\)/#\1/’ /etc/apt/sources.list
apt-get update
apt-get -y install sudo
groupadd -g 108 vmail
useradd -g 108 -u 108 vmail
MailScanner_dir=/etc/MailScanner/MailScanner.conf
iq=/var/spool/postfix/hold/
oq=/var/spool/postfix/incoming
###########################
# Install the postfix deb
###########################
apt-get -y install postfix
##################################
# Set the postfix Virtual Domain
##################################
echo “virtual_mailbox_domains = linuxplay.cn” >> /etc/postfix/main.cf
echo “virtual_mailbox_base = /vmail” >> /etc/postfix/main.cf
echo “virtual_mailbox_maps = hash:/etc/postfix/virtual” >> /etc/postfix/main.cf
echo “virtual_uid_maps = static:108″ >> /etc/postfix/main.cf
echo “virtual_gid_maps = static:108″ >> /etc/postfix/main.cf
mkdir /vmail
chown vmail.vmail /vmail
echo “webmaster@linuxplay.cn linuxplay.cn/webmaster/Maildir/” >> /etc/postfix/virtual
postmap /etc/postfix/virtual
###################################
# Install and set the pop3 server
###################################
apt-get -y install courier-pop
sed -i ’s/^authmodulelist=.*/authmodulelist=”authuserdb”/’ /etc/courier/authdaemonrc
pw2userdb >/etc/courier/userdb
sed -n -i “/vmail/p” /etc/courier/userdb
chmod +x /var/run/courier/authdaemon
#########################
# Install and set sasl
#########################
apt-get -y install postfix-tls sasl2-bin libsasl2-modules
mkdir -p /etc/postfix/sasl
echo “pwcheck_method: authdaemond” >> /etc/postfix/sasl/smtpd.conf
echo “log_level: 3″ >> /etc/postfix/sasl/smtpd.conf
echo “mech_list: LOGIN” >> /etc/postfix/sasl/smtpd.conf
echo “authdaemond_path:/var/run/courier/authdaemon/socket” >> /etc/postfix/sasl/smtpd.conf
echo “smtpd_sasl_auth_enable = yes” >> /etc/postfix/main.cf
echo “broken_sasl_auth_clients = yes” >> /etc/postfix/main.cf
echo “smtpd_sasl_security_options = noanonymous” >> /etc/postfix/main.cf
echo “smtpd_recipient_restrictions = permit_sasl_authenticated,” >> /etc/postfix/main.cf
echo “ permit_mynetworks,check_relay_domains,” >> /etc/postfix/main.cf
echo “ reject_unauth_destination” >> /etc/postfix/main.cf
echo “smtpd_client_restrictions = permit_sasl_authenticated” >> /etc/postfix/main.cf
sed -i ‘/^smtp.*smtpd/s/.*/smtp inet n - n - - smtpd/’ /etc/postfix/master.cf
########################################################
# Make a test account webmaster@linuxplay.cn password 123456
########################################################
userdb webmaster@linuxplay.cn set home=/vmail/linuxplay.cn/webmaster uid=108 gid=108
echo 123456 | userdbpw -md5 | userdb webmaster@linuxplay.cn set systempw
sudo -u vmail mkdir -p /vmail/linuxplay.cn/webmaster
sudo -u vmail maildirmake /vmail/linuxplay.cn/webmaster/Maildir
chmod 700 /etc/courier/userdb;makeuserdb;/etc/init.d/courier-authdaemon restart
#########################################
# Install Mailscanner Clamav Spamassasin
#########################################
apt-get -y install clamav
apt-get -y install mailscanner
sed -i ’s/#.*run_mailscanner=1/run_mailscanner=1/g’ /etc/default/mailscanner
echo ‘header_checks = regexp:/etc/postfix/header_checks’ >> /etc/postfix/main.cf
echo ‘/^Received:/ HOLD’ > /etc/postfix/header_checks
postmap /etc/postfix/header_checks
sed -i ’s/^Run As User =.*/Run As User = postfix/’ ${MailScanner_dir}
sed -i ’s/^Run As Group =.*/Run As Group = postfix/’ ${MailScanner_dir}
sed -i “s?^Incoming Queue Dir =.*?Incoming Queue Dir = ${iq}?” ${MailScanner_dir}
sed -i “s?^Outgoing Queue Dir =.*?Outgoing Queue Dir = ${oq}?” ${MailScanner_dir}
sed -i ’s/^MTA = .*/MTA = postfix/’ ${MailScanner_dir}
chown postfix.postfix /var/spool/MailScanner/incoming
chown postfix.postfix /var/spool/MailScanner/quarantine
chown postfix.postfix /var/spool/MailScanner/ -R
chown postfix.postfix /var/lib/MailScanner/ -R
chown postfix.postfix /var/run/MailScanner/ -R
chown postfix.postfix /var/lock/subsys/MailScanner -R
sed -i ’s/^Virus Scanners = .*/Virus Scanners = clamav/’ ${MailScanner_dir}
sed -i ’s/^ENABLED=0/ENABLED=1/g’ /etc/default/spamassassin
#########################################
# Install Maildrop and Configrue it
#########################################
apt-get install courier-maildrop
echo “virtual_transport = maildrop” >> /etc/postfix/main.cf
echo “maildrop_destination_recipient_limit = 1″ >> /etc/postfix/main.cf
sed -i ‘/^maildrop/{n;s/local\///;s/\(-d.*\)/-w 90 \1/}’ /etc/postfix/master.cf
/etc/init.d/spamassassin start
/etc/init.d/mailscanner start
/etc/init.d/postfix restart
echo “Finish,Enjoy it!”
没有评论▼