Skip to content

Commit b200398

Browse files
author
Kristan Kenney
committed
Fixs in domain.sh
1 parent 7266eb5 commit b200398

File tree

1 file changed

+87
-84
lines changed

1 file changed

+87
-84
lines changed

func/domain.sh

Lines changed: 87 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -580,6 +580,91 @@ is_mail_new() {
580580
fi
581581
}
582582

583+
584+
# Add mail server SSL configuration
585+
add_mail_ssl_config() {
586+
# Ensure that SSL certificate directories exists
587+
if [ ! -d $HOMEDIR/$user/conf/mail/$domain/ssl/ ]; then
588+
mkdir -p $HOMEDIR/$user/conf/mail/$domain/ssl/
589+
fi
590+
591+
if [ ! -d /usr/local/hestia/ssl/mail ]; then
592+
mkdir -p /usr/local/hestia/ssl/mail
593+
fi
594+
595+
if [ ! -d /etc/dovecot/conf.d/domains ]; then
596+
mkdir -p /etc/dovecot/conf.d/domains
597+
fi
598+
599+
# Add certificate to Hestia user configuration data directory
600+
if [ -f $ssl_dir/$domain.crt ]; then
601+
cp -f $ssl_dir/$domain.crt $USER_DATA/ssl/mail.$domain.crt
602+
cp -f $ssl_dir/$domain.key $USER_DATA/ssl/mail.$domain.key
603+
cp -f $ssl_dir/$domain.crt $USER_DATA/ssl/mail.$domain.pem
604+
if [ -e "$ssl_dir/$domain.ca" ]; then
605+
cp -f $ssl_dir/$domain.ca $USER_DATA/ssl/mail.$domain.ca
606+
echo >> $USER_DATA/ssl/mail.$domain.pem
607+
cat $USER_DATA/ssl/mail.$domain.ca >> $USER_DATA/ssl/mail.$domain.pem
608+
fi
609+
fi
610+
611+
chmod 660 $USER_DATA/ssl/mail.$domain.*
612+
613+
# Add certificate to user home directory
614+
cp -f $USER_DATA/ssl/mail.$domain.crt $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.crt
615+
cp -f $USER_DATA/ssl/mail.$domain.key $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.key
616+
cp -f $USER_DATA/ssl/mail.$domain.pem $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.pem
617+
if [ -e "$USER_DATA/ssl/mail.$domain.ca" ]; then
618+
cp -f $USER_DATA/ssl/mail.$domain.ca $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.ca
619+
fi
620+
621+
# Add domain SSL configuration to dovecot
622+
if [ -f /etc/dovecot/conf.d/domains/$domain.conf ]; then
623+
rm -f /etc/dovecot/conf.d/domains/$domain.conf
624+
fi
625+
626+
echo "" >> /etc/dovecot/conf.d/domains/$domain.conf
627+
echo "local_name mail.$domain {" >> /etc/dovecot/conf.d/domains/$domain.conf
628+
echo " ssl_cert = <$HOMEDIR/$user/conf/mail/$domain/ssl/$domain.pem" >> /etc/dovecot/conf.d/domains/$domain.conf
629+
echo " ssl_key = <$HOMEDIR/$user/conf/mail/$domain/ssl/$domain.key" >> /etc/dovecot/conf.d/domains/$domain.conf
630+
echo "}" >> /etc/dovecot/conf.d/domains/$domain.conf
631+
632+
# Add domain SSL configuration to exim4
633+
ln -s $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.pem /usr/local/hestia/ssl/mail/mail.$domain.crt
634+
ln -s $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.key /usr/local/hestia/ssl/mail/mail.$domain.key
635+
636+
# Set correct permissions on certificates
637+
chmod 0644 $HOMEDIR/$user/conf/mail/$domain/ssl/*
638+
chown -h $user:mail $HOMEDIR/$user/conf/mail/$domain/ssl/*
639+
chmod -R 0644 /usr/local/hestia/ssl/mail/*
640+
chown -h $user:mail /usr/local/hestia/ssl/mail/*
641+
}
642+
643+
# Delete SSL support for mail domain
644+
del_mail_ssl_config() {
645+
646+
# Remove old mail certificates
647+
rm -f $HOMEDIR/$user/conf/mail/$domain/ssl/*
648+
649+
# Remove dovecot configuration
650+
rm -f /etc/dovecot/conf.d/domains/mail.$domain.conf
651+
652+
# Remove SSL vhost configuration
653+
rm -f $HOMEDIR/$user/conf/mail/$domain/*.*ssl.conf
654+
rm -f /etc/$WEB_SYSTEM/conf.d/domains/$WEBMAIL_ALIAS.$domain.ssl.conf
655+
rm -f /etc/$PROXY_SYSTEM/conf.d/domains/$WEBMAIL_ALIAS.$domain.ssl.conf
656+
657+
# Remove SSL certificates
658+
rm -f $HOMEDIR/$user/conf/mail/$domain/ssl/*
659+
rm -f /usr/local/hestia/ssl/mail/mail.$domain.*
660+
}
661+
662+
# Delete generated certificates from user configuration data directory
663+
del_mail_ssl_certificates(){
664+
rm -f $USER_DATA/ssl/mail.$domain.*
665+
rm -f $HOMEDIR/$user/conf/mail/$domain/ssl/*
666+
}
667+
583668
# Add webmail config
584669
add_webmail_config() {
585670
mkdir -p "$HOMEDIR/$user/conf/mail/$domain"
@@ -668,88 +753,6 @@ add_webmail_config() {
668753
fi
669754
}
670755

671-
# Add mail server SSL configuration
672-
add_mail_ssl_config() {
673-
# Ensure that SSL certificate directories exists
674-
if [ ! -d $HOMEDIR/$user/conf/mail/$domain/ssl/ ]; then
675-
mkdir -p $HOMEDIR/$user/conf/mail/$domain/ssl/
676-
fi
677-
678-
if [ ! -d /usr/local/hestia/ssl/mail ]; then
679-
mkdir -p /usr/local/hestia/ssl/mail
680-
fi
681-
682-
if [ ! -d /etc/dovecot/conf.d/domains ]; then
683-
mkdir -p /etc/dovecot/conf.d/domains
684-
fi
685-
686-
# Add certificate to Hestia user configuration data directory
687-
cp -f $ssl_dir/$domain.crt $USER_DATA/ssl/mail.$domain.crt
688-
cp -f $ssl_dir/$domain.key $USER_DATA/ssl/mail.$domain.key
689-
cp -f $ssl_dir/$domain.crt $USER_DATA/ssl/mail.$domain.pem
690-
if [ -e "$ssl_dir/$domain.ca" ]; then
691-
cp -f $ssl_dir/$domain.ca $USER_DATA/ssl/mail.$domain.ca
692-
echo >> $USER_DATA/ssl/mail.$domain.pem
693-
cat $USER_DATA/ssl/mail.$domain.ca >> $USER_DATA/ssl/mail.$domain.pem
694-
fi
695-
696-
chmod 660 $USER_DATA/ssl/mail.$domain.*
697-
698-
# Add certificate to user home directory
699-
cp -f $USER_DATA/ssl/mail.$domain.crt $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.crt
700-
cp -f $USER_DATA/ssl/mail.$domain.key $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.key
701-
cp -f $USER_DATA/ssl/mail.$domain.pem $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.pem
702-
if [ -e "$USER_DATA/ssl/mail.$domain.ca" ]; then
703-
cp -f $USER_DATA/ssl/mail.$domain.ca $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.ca
704-
fi
705-
706-
# Add domain SSL configuration to dovecot
707-
if [ -f /etc/dovecot/conf.d/domains/$domain.conf ]; then
708-
rm -f /etc/dovecot/conf.d/domains/$domain.conf
709-
fi
710-
711-
echo "" >> /etc/dovecot/conf.d/domains/$domain.conf
712-
echo "local_name mail.$domain {" >> /etc/dovecot/conf.d/domains/$domain.conf
713-
echo " ssl_cert = <$HOMEDIR/$user/conf/mail/$domain/ssl/$domain.pem" >> /etc/dovecot/conf.d/domains/$domain.conf
714-
echo " ssl_key = <$HOMEDIR/$user/conf/mail/$domain/ssl/$domain.key" >> /etc/dovecot/conf.d/domains/$domain.conf
715-
echo "}" >> /etc/dovecot/conf.d/domains/$domain.conf
716-
717-
# Add domain SSL configuration to exim4
718-
ln -s $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.pem /usr/local/hestia/ssl/mail/mail.$domain.crt
719-
ln -s $HOMEDIR/$user/conf/mail/$domain/ssl/$domain.key /usr/local/hestia/ssl/mail/mail.$domain.key
720-
721-
# Set correct permissions on certificates
722-
chmod 0644 $HOMEDIR/$user/conf/mail/$domain/ssl/*
723-
chown -h $user:mail $HOMEDIR/$user/conf/mail/$domain/ssl/*
724-
chmod -R 0644 /usr/local/hestia/ssl/mail/*
725-
chown -h $user:mail /usr/local/hestia/ssl/mail/*
726-
}
727-
728-
# Delete SSL support for mail domain
729-
del_mail_ssl_config() {
730-
731-
# Remove old mail certificates
732-
rm -f $HOMEDIR/$user/conf/mail/$domain/ssl/*
733-
734-
# Remove dovecot configuration
735-
rm -f /etc/dovecot/conf.d/domains/mail.$domain.conf
736-
737-
# Remove SSL vhost configuration
738-
rm -f $HOMEDIR/$user/conf/mail/$domain/*.*ssl.conf
739-
rm -f /etc/$WEB_SYSTEM/conf.d/domains/$WEBMAIL_ALIAS.$domain.ssl.conf
740-
rm -f /etc/$PROXY_SYSTEM/conf.d/domains/$WEBMAIL_ALIAS.$domain.ssl.conf
741-
742-
# Remove SSL certificates
743-
rm -f $HOMEDIR/$user/conf/mail/$domain/ssl/*
744-
rm -f /usr/local/hestia/ssl/mail/mail.$domain.*
745-
}
746-
747-
# Delete generated certificates from user configuration data directory
748-
del_mail_ssl_certificates(){
749-
rm -f $USER_DATA/ssl/mail.$domain.*
750-
rm -f $HOMEDIR/$user/conf/mail/$domain/ssl/*
751-
}
752-
753756
# Delete webmail support
754757
del_webmail_config() {
755758
if [ ! -z "$WEB_SYSTEM" ]; then
@@ -770,12 +773,12 @@ del_webmail_config() {
770773
# Delete SSL webmail support
771774
del_webmail_ssl_config() {
772775
if [ ! -z "$WEB_SYSTEM" ]; then
773-
rm -f $HOMEDIR/$user/conf/mail/$domain/$WEB_SYSTEM.ssl.conf
776+
rm -f $HOMEDIR/$user/conf/mail/$domain/$WEB_SYSTEM.*ssl.conf
774777
rm -f /etc/$WEB_SYSTEM/conf.d/domains/$WEBMAIL_ALIAS.$domain.ssl.conf
775778
fi
776779

777780
if [ ! -z "$PROXY_SYSTEM" ]; then
778-
rm -f $HOMEDIR/$user/conf/mail/$domain/$PROXY_SYSTEM.ssl.conf
781+
rm -f $HOMEDIR/$user/conf/mail/$domain/$PROXY_SYSTEM.*ssl.conf
779782
rm -f /etc/$PROXY_SYSTEM/conf.d/domains/$WEBMAIL_ALIAS.$domain.ssl.conf
780783
fi
781784
}

0 commit comments

Comments
 (0)