2015-07-12 22:54:35 +00:00
|
|
|
#!/bin/bash
|
2015-07-08 12:17:04 +00:00
|
|
|
|
2015-07-12 22:54:35 +00:00
|
|
|
# Check if we have SSL certificates in config, otherwise copy it there
|
2014-12-05 16:09:54 +00:00
|
|
|
# First the key file
|
2015-01-06 10:03:15 +00:00
|
|
|
if [ -f /mail_settings/ssl-cert-snakeoil.key ]; then
|
2014-12-05 16:09:54 +00:00
|
|
|
cp /mail_settings/ssl-cert-snakeoil.key /etc/ssl/private/ssl-cert-snakeoil.key
|
|
|
|
else
|
2015-07-08 09:06:43 +00:00
|
|
|
cp /etc/ssl/private/ssl-cert-snakeoil.key /mail_settings/ssl-cert-snakeoil.key
|
2014-12-05 16:09:54 +00:00
|
|
|
fi
|
2015-07-08 12:17:04 +00:00
|
|
|
|
2014-12-05 16:09:54 +00:00
|
|
|
# Then the pem file
|
2015-01-06 10:03:15 +00:00
|
|
|
if [ -f /mail_settings/ssl-cert-snakeoil.pem ]; then
|
|
|
|
cp /mail_settings/ssl-cert-snakeoil.pem /etc/ssl/certs/ssl-cert-snakeoil.pem
|
2014-12-05 16:09:54 +00:00
|
|
|
else
|
2015-07-08 09:06:43 +00:00
|
|
|
cp /etc/ssl/certs/ssl-cert-snakeoil.pem /mail_settings/ssl-cert-snakeoil.pem
|
2014-12-05 16:09:54 +00:00
|
|
|
fi
|
|
|
|
|
2015-07-08 12:17:04 +00:00
|
|
|
|
|
|
|
# Update hostname if given
|
2014-11-07 15:12:15 +00:00
|
|
|
if [ -f /mail_settings/myhostname ]; then
|
|
|
|
sed -i -e "s/myhostname = localhost/myhostname = $(sed 's:/:\\/:g' /mail_settings/myhostname)/" /etc/postfix/main.cf
|
2014-11-11 01:31:46 +00:00
|
|
|
echo $(sed 's:/:\\/:g' /mail_settings/myhostname) > /etc/mailname
|
2014-11-07 15:12:15 +00:00
|
|
|
fi
|
|
|
|
|
2015-07-08 12:17:04 +00:00
|
|
|
# Configure mail delivery to dovecot
|
2014-11-03 15:05:19 +00:00
|
|
|
cp /mail_settings/aliases /etc/postfix/virtual
|
|
|
|
cp /mail_settings/domains /etc/postfix/virtual-mailbox-domains
|
|
|
|
|
2015-07-08 12:17:04 +00:00
|
|
|
# Parse mailbox settings
|
2014-11-03 15:05:19 +00:00
|
|
|
mkdir /etc/postfix/tmp
|
|
|
|
awk < /etc/postfix/virtual '{ print $2 }' > /etc/postfix/tmp/virtual-receivers
|
|
|
|
sed -r 's,(.+)@(.+),\2/\1/,' /etc/postfix/tmp/virtual-receivers > /etc/postfix/tmp/virtual-receiver-folders
|
|
|
|
paste /etc/postfix/tmp/virtual-receivers /etc/postfix/tmp/virtual-receiver-folders > /etc/postfix/virtual-mailbox-maps
|
|
|
|
|
2015-07-08 12:17:04 +00:00
|
|
|
# Give postfix ownership of its files
|
2014-11-03 15:05:19 +00:00
|
|
|
chown -R postfix:postfix /etc/postfix
|
|
|
|
|
2015-07-08 12:17:04 +00:00
|
|
|
# Map virtual aliases and user/filesystem mappings
|
2014-11-03 15:05:19 +00:00
|
|
|
postmap /etc/postfix/virtual
|
|
|
|
postmap /etc/postfix/virtual-mailbox-maps
|
|
|
|
chown -R postfix:postfix /etc/postfix
|
|
|
|
|
2015-07-08 12:17:04 +00:00
|
|
|
# Make user vmail own all mail folders
|
2014-11-03 15:05:19 +00:00
|
|
|
chown -R vmail:vmail /vmail
|
|
|
|
chmod u+w /vmail
|
|
|
|
|
|
|
|
# Add password file
|
2014-11-11 11:58:44 +00:00
|
|
|
cp /mail_settings/passwords /etc/dovecot/passwd
|
2015-07-08 12:17:04 +00:00
|
|
|
|
2015-07-12 22:54:35 +00:00
|
|
|
# Run boot scripts
|
|
|
|
for SCRIPT in /boot.d/*
|
|
|
|
do
|
|
|
|
if [ -f "$SCRIPT" -a -x "$SCRIPT" ]; then
|
|
|
|
"$SCRIPT"
|
|
|
|
fi
|
|
|
|
done
|