■テスト環境でさっさと構築してしまいたい時の為に
以下を「postfix-install.sh」として保存、
「chmod +x postfix-install.sh」
「./postfix-install.sh | tee -a postfix-install.log」
として、ユーザ権限で実行する。
※sudoパスワードと、suのパスワードは異なるので注意。
------
echo "postfix dovecot-common dovecot-pop3d dovecot-imapd sasl2-bin" | \
for list in `xargs`;do \
dpkg -l "$list" | grep ^ii > /dev/null 2>&1 || \
sudo apt-get install -y "$list";
done
MYSASL="/etc/default/saslauthd"
sudo cp -pi ${MYSASL} ${MYSASL}.org; \
grep "START=no" ${MYSASL} && \
su root -c 'sed s/"START=no"/START="yes"/ '"${MYSASL}.org"' > '"${MYSASL}"
ps -e | grep saslauthd > /dev/null 2>&1 || sudo /etc/init.d/saslauthd start
ps -e | grep saslauthd > /dev/null 2>&1 && sudo /etc/init.d/saslauthd restart
sudo saslpluginviewer
saslfinger -s
saslfinger -c
sudo sasldblistusers2 | wc -l | echo "Regist users: "`xargs`
MYNAME=`whoami`; \
sudo sasldblistusers2 | grep `whoami` > /dev/null 2>&1 || \
sudo saslpasswd2 -c -u `hostname -f` $MYNAME
echo "### sasldb user list ... ###"
sudo sasldblistusers2
MYNAME=`whoami`; \
echo -n "Please input password :"; \
read PASS; \
sudo testsaslauthd -u $MYNAME -s `hostname -f` -p $PASS;
sudo sasldblistusers2 | wc -l | echo "Regist users: "`xargs`
ps -e | grep saslauthd > /dev/null 2>&1 || sudo /etc/init.d/saslauthd start
ps -e | grep saslauthd > /dev/null 2>&1 && sudo /etc/init.d/saslauthd restart
sudo saslpluginviewer
saslfinger -s
saslfinger -c
sudo postconf | grep "smtpd_sasl_auth_enable = no" && \
sudo cp -pi /etc/postfix/main.cf /etc/postfix/main.cf.org
sudo sed s%'# TLS parameters"%'smtpd_sasl_auth_enable = yes\
smtp_sasl_password_maps = hash:/etc/postfix/userpasswd\
smtpd_sasl_local_domain = $myhostname\
smtpd_sasl_application_name = smtpd\
broken_sasl_auth_clients = yes\
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination\n\n'"&"% \
/etc/postfix/main.cf.org > /etc/postfix/main.cf
test -f /etc/postfix/userpasswd || \
echo `hostname -f` `whoami` > /etc/postfix/userpasswd; \
sudo postmap /etc/postfix/userpasswd
ps -e | grep postfix > /dev/null 2>&1 && sudo /etc/init.d/postfix restart
ps -e | grep postfix > /dev/null 2>&1 || sudo /etc/init.d/postfix start
sudo cp -pi /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.org
FLAG=0; \
sudo dovecot -a | grep "mail_location\: \$" && FLAG=1
if [ ${FLAG} -eq "0" ];then \
echo "do nothing"; \
else \
test -d ~/mail || mkdir ~/mail; \
sudo sed s+'# mail_location = mbox:~/mail:INBOX=/var/mail/%u'+'mail_location = mbox:~/mail:INBOX=/var/mail/%u'+ \
/etc/dovecot/dovecot.conf.org > /etc/dovecot/dovecot.conf; \
ps -e | grep dovecot > /dev/null 2>&1 && sudo /etc/init.d/dovecot restart
ps -e | grep dovecot > /dev/null 2>&1 || sudo /etc/init.d/dovecot start
fi
sudo cp -pi /etc/postfix/master.cf /etc/postfix/master.cf.org
sudo sed s%"#submission inet n - - - - smtpd"%"submission inet n - - - - smtpd" /etc/postfix/master.cf.org \
> /etc/postfix/master.cf
ps -e | grep postfix > /dev/null 2>&1 && sudo /etc/init.d/postfix restart
ps -e | grep postfix > /dev/null 2>&1 || sudo /etc/init.d/postfix start
test -f /etc/postfix/sasl/smtpd.conf || \
sudo saslpluginviewer | grep '^Plugin "sasldb"' || \
su root -c 'echo "pwcheck_method: auxprop" > /etc/postfix/sasl/smtpd.conf'
sudo mv -i /etc/sasldb2 /var/spool/postfix/etc
test -f /etc/sasldb2 || sudo ln -s /var/spool/postfix/etc/sasldb2 /etc
sudo chgrp postfix /var/spool/postfix/etc/sasldb2
sudo saslpluginviewer | grep '^Plugin "sasldb"'
ps -e | grep saslauthd > /dev/null 2>&1 && sudo /etc/init.d/saslauthd restart
ps -e | grep saslauthd > /dev/null 2>&1 || sudo /etc/init.d/saslauthd start
sudo saslpluginviewer
saslfinger -s
saslfinger -c
sudo dpkg-reconfigure postfix
ps -e | grep saslauthd > /dev/null 2>&1 && sudo /etc/init.d/saslauthd restart
ps -e | grep saslauthd > /dev/null 2>&1 || sudo /etc/init.d/saslauthd start
ps -e | grep dovecot > /dev/null 2>&1 && sudo /etc/init.d/dovecot restart
ps -e | grep dovecot > /dev/null 2>&1 || sudo /etc/init.d/dovecot start
ps -e | grep postfix > /dev/null 2>&1 && sudo /etc/init.d/postfix restart
ps -e | grep postfix > /dev/null 2>&1 || sudo /etc/init.d/postfix start
sudo dovecot -a
sudo dovecot -n
sudo postconf -d
sudo postconf -n
sudo postconf -m