@@ -603,6 +603,67 @@ if [ "$mail" != 'no' ] && [ ! -z "$MAIL_SYSTEM" ]; then
603603 cp -f $tmpdir /mail/$domain /$backup_system /$domain .pub $USER_DATA /mail/
604604 fi
605605
606+ # Restore SSL
607+ check_config=$( grep " DOMAIN='$domain '" $USER_DATA /mail.conf | grep -o " SSL='yes'" )
608+ if [ ! -z " $check_config " ]; then
609+ if [ ! -e " $HESTIA /data/users/$user /ssl/" ]; then
610+ mkdir -p $HESTIA /data/users/$user /ssl/
611+ fi
612+
613+ if [ ! -e " $HOMEDIR /$user /conf/mail/$domain /ssl/" ]; then
614+ mkdir -p $HOMEDIR /$user /conf/mail/$domain /ssl/
615+ fi
616+
617+ # Add certificate to Hestia user configuration data directory
618+ if [ -f $tmpdir /mail/$domain /$backup_system /ssl/$domain .crt ]; then
619+ echo " path found"
620+ cp -f $tmpdir /mail/$domain /$backup_system /ssl/$domain .crt $USER_DATA /ssl/mail.$domain .crt
621+ cp -f $tmpdir /mail/$domain /$backup_system /ssl/$domain .key $USER_DATA /ssl/mail.$domain .key
622+ cp -f $tmpdir /mail/$domain /$backup_system /ssl/$domain .crt $USER_DATA /ssl/mail.$domain .pem
623+ if [ -e " $tmpdir /mail/$domain /$backup_system /ssl//$domain .ca" ]; then
624+ cp -f $tmpdir /mail/$domain /$backup_system /ssl//$domain .ca $USER_DATA /ssl/mail.$domain .ca
625+ echo >> $USER_DATA /ssl/mail.$domain .pem
626+ cat $USER_DATA /ssl/mail.$domain .ca >> $USER_DATA /ssl/mail.$domain .pem
627+ fi
628+ fi
629+
630+ chmod 660 $USER_DATA /ssl/mail.$domain .*
631+
632+ # Add certificate to user home directory
633+ cp -f $USER_DATA /ssl/mail.$domain .crt $HOMEDIR /$user /conf/mail/$domain /ssl/$domain .crt
634+ cp -f $USER_DATA /ssl/mail.$domain .key $HOMEDIR /$user /conf/mail/$domain /ssl/$domain .key
635+ cp -f $USER_DATA /ssl/mail.$domain .pem $HOMEDIR /$user /conf/mail/$domain /ssl/$domain .pem
636+ if [ -e " $USER_DATA /ssl/mail.$domain .ca" ]; then
637+ cp -f $USER_DATA /ssl/mail.$domain .ca $HOMEDIR /$user /conf/mail/$domain /ssl/$domain .ca
638+ fi
639+
640+ # Add domain SSL configuration to dovecot
641+ if [ -f /etc/dovecot/conf.d/domains/$domain .conf ]; then
642+ rm -f /etc/dovecot/conf.d/domains/$domain .conf
643+ fi
644+
645+ echo " " >> /etc/dovecot/conf.d/domains/$domain .conf
646+ echo " local_name mail.$domain {" >> /etc/dovecot/conf.d/domains/$domain .conf
647+ echo " ssl_cert = <$HOMEDIR /$user /conf/mail/$domain /ssl/$domain .pem" >> /etc/dovecot/conf.d/domains/$domain .conf
648+ echo " ssl_key = <$HOMEDIR /$user /conf/mail/$domain /ssl/$domain .key" >> /etc/dovecot/conf.d/domains/$domain .conf
649+ echo " }" >> /etc/dovecot/conf.d/domains/$domain .conf
650+
651+ # Add domain SSL configuration to exim4
652+ # Cleanup broken symlinks
653+ find /usr/local/hestia/ssl/mail -xtype l -delete
654+
655+ ln -s -f $HOMEDIR /$user /conf/mail/$domain /ssl/$domain .pem /usr/local/hestia/ssl/mail/mail.$domain .crt
656+ ln -s -f $HOMEDIR /$user /conf/mail/$domain /ssl/$domain .key /usr/local/hestia/ssl/mail/mail.$domain .key
657+
658+ # Set correct permissions on certificates
659+ chmod 750 $HOMEDIR /$user /conf/mail/$domain /ssl
660+ chown -R $MAIL_USER :mail $HOMEDIR /$user /conf/mail/$domain /ssl
661+ chmod 0644 $HOMEDIR /$user /conf/mail/$domain /ssl/*
662+ chown -h $user :mail $HOMEDIR /$user /conf/mail/$domain /ssl/*
663+ chmod -R 0644 /usr/local/hestia/ssl/mail/*
664+ chown -h $user :mail /usr/local/hestia/ssl/mail/*
665+ fi
666+
606667 # Restoring email accounts
607668 cp -f $tmpdir /mail/$domain /$backup_system /$domain .conf $USER_DATA /mail/
608669
0 commit comments