Files
VPS-scripts_Web-V2/SubModules/postfix/conf.sh
Bram Prieshof 9c36d12d52 added CMSHook for postfix module and updated conf
CMSHook wil be inplemented so CMS releated Module configuration,
this wil be loaded when using appendCMS and the main intaller
2021-02-04 15:25:57 +01:00

91 lines
3.3 KiB
Bash

systemctl stop postfix opendkim
##-------------##
# Postfix #
##-------------##
sed -i "/^inet_interfaces =/c\inet_interfaces = loopback-only" /etc/postfix/main.cf
sed -i "/recipient_delimiter =/c\recipient_delimiter = +" /etc/postfix/main.cf
sed -i "/^mydestination =/c\mydestination = \"$hostname\", localhost.\"$hostname\", \"$hostname\"" /etc/postfix/main.cf
echo "$hostname" > /etc/mailname
if [ "$(echo "$hostname" | grep -o "\." | wc -l)" -eq 1 ]; then
echo "bounce_notice_recipient = admin@$hostname" >> /etc/postfix/main.cf
else
echo "bounce_notice_recipient = admin@$(sed 's/.*\.\(.*\..*\)/\1/' <<< $hostname)" >> /etc/postfix/main.cf
fi
cat <<EOF > /etc/aliases
# See man 5 aliases for format
postmaster: root
root: $email
EOF
newaliases
cat <<EOF >>
milter_default_action = accept
milter_protocol = 2
smtpd_milters = unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock
EOF
##--------------##
# OpenDKIM #
##--------------##
adduser postfix opendkim
mkdir /etc/opendkim/keys
chown opendkim:opendkim /etc/opendkim/keys -R
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/config/opendkim.conf -o /etc/opendkim.conf
dkimname sed 's/\..*$//' <<< "$url"
cat <<EOF > /etc/opendkim/TrustedHosts
127.0.0.1
::1
localhost
$(curl -s -4 icanhazip.com)
$(curl -s -6 icanhazip.com)
${hostname}
EOF
if [ "$shortdist" = "ubu1804" ] || [ "$shortdist" = "ubu2004" ] || [ "$shortdist" = "deb10" ] ; then
mkdir /var/spool/postfix/opendkim
sudo chown opendkim:postfix /var/spool/postfix/opendkim
sed -i "/^RUNDIR=/c\RUNDIR=/var/spool/postfix/var/run/opendkim" /etc/default/opendkim
echo "TrustAnchorFile /usr/share/dns/root.key" >> /etc/opendkim/conf
bash /lib/opendkim/opendkim.service.generate
systemctl daemon-reload
fi
$odksec=$(sed 's/\..*$//' <<< $hostname)
sudo --user opendkim mkdir /etc/opendkim/keys/"$hostname"
sudo --user opendkim opendkim-genkey -r -D /etc/opendkim/keys/"$hostname" -d "$hostname" -s $odksec
echo ""$odksec"._domainkey."$hostname" "$hostname":"$odksec":/etc/opendkim/keys/"$hostname"/"$odksec".private" >> /etc/opendkim/KeyTable
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/config/opendkim-init.sh -o ~/OpenDKIMInit-host.sh
sed -i -e 's/DOMAINname/'$hostname'/' 's/SITEName/'host'/' 's/vps/'$odksec'/' ~/OpenDKIMInit-host.sh
unset odksec
cat << EOF > /etc/update-motd.d/51-generalSPF
#!/bin/sh
red='\e[1;31m%s\e[0m\n'
printf "\n"
printf \$red "To enable mail for this server add \"ip4:\$(curl -s -4 icanhazip.com) ip6:\$(curl -s -6 icanhazip.com)\" to $hostname SPF"
printf \$red "to enable DKKIM for the hostname run bash ~/OpenDKIMInit-host.sh"
printf \$red "remove notice this by running \"rm /etc/update-motd.d/51-generalSPF\""
printf "\n"
EOF
chmod +x /etc/update-motd.d/51-generalSPF
systemctl start postfix opendkim
systemctl enable postfix opendkim
#if using Append module run for existing cms/sites
if [ -z "${postfixappended}" ]; then
for sitename in /etc/ICTM/sites/*; do
domain=${sitename//_/.}
source <(curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/appendCMS-preconf.sh)
source <(curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/appendCMS-conf.sh)
done
fi