If CMS is installed and a sub-module requires to be configured per CMS, this is handeled by new 'CMSHook-(pre)conf.sh' this has been added to Dev Docs Updated postfix sub-module to use new CMSHook Added 'itype' var for detection of install script type Now also storeing 'Allways on modules' in installer as EnabledAons
95 lines
3.4 KiB
Bash
95 lines
3.4 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 >> /etc/postfix/main.cf
|
||
|
||
#openDKIM
|
||
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 #
|
||
##--------------##
|
||
|
||
usermod –a –G opendkim postfix
|
||
rm -rf /etc/opendkim.d
|
||
mkdir -p /etc/opendkim.d/keys
|
||
chown opendkim:opendkim /etc/opendkim.d/keys -R
|
||
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/config/opendkim.conf -o /etc/opendkim.conf
|
||
touch /etc/opendkim.d/SigningTable
|
||
cat <<EOF > /etc/opendkim.d/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 -p /var/spool/postfix/var/run/opendkim
|
||
sudo chown opendkim:postfix /var/spool/postfix/var/run/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.d/keys/"$hostname"
|
||
sudo --user opendkim opendkim-genkey -r -D /etc/opendkim.d/keys/"$hostname" -d "$hostname" -s $odksec
|
||
echo ""$odksec"._domainkey."$hostname" "$hostname":"$odksec":/etc/opendkim.d/keys/"$hostname"/"$odksec".private" >> /etc/opendkim.d/KeyTable
|
||
curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/opendkim-init.sh -o ~/OpenDKIMInit-host.sh
|
||
sed -i -e 's/DOMAINname/'$hostname'/g' -e 's/SITEName/'host'/g' -e 's/vps/'$odksec'/g' ~/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 [ "$itype" = "AddMod" ]; then
|
||
for file in /etc/ICTM/sites/*; do
|
||
sitename="${file##*/}"
|
||
domain=${sitename//_/.}
|
||
source <(curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/CMSHook-preconf.sh)
|
||
source <(curl --retry 7 --retry-delay 5 -s "$repo"/raw/"$branchtype"/"$branch"/SubModules/postfix/CMSHook-conf.sh)
|
||
done
|
||
fi |