8383# Action #
8484# ----------------------------------------------------------#
8585
86- # Rework domain and alieses for mail.
86+ # Generate correct variables for mail domain SSL certificates
8787if [ ! -z " $mail " ]; then
88- original_domain =$domain
89- aliases= " webmail. $domain ,autodiscover. $domain "
90- domain= " mail. $domain "
88+ root_domain =$domain
89+ domain= " mail. $root_domain "
90+ aliases= " $WEBMAIL_ALIAS . $root_domain ,autodiscover. $root_domain "
9191fi
9292
9393# Registering LetsEncrypt user account
@@ -162,34 +162,38 @@ for auth in $authz; do
162162 $BIN /v-add-dns-record $user $domain " _acme-challenge" " TXT" $record
163163 check_result $? " DNS _acme-challenge record wasn't created"
164164 else
165- if [ " $WEB_SYSTEM " = ' nginx' ] || [ ! -z " $PROXY_SYSTEM " ]; then
166- if [ -z " $mail " ]; then
167- conf=" $HOMEDIR /$user /conf/web/$domain /$PROXY_SYSTEM .conf_letsencrypt"
168- sconf=" $HOMEDIR /$user /conf/web/$domain /$PROXY_SYSTEM .ssl.conf_letsencrypt"
169- else
170- conf=" $HOMEDIR /$user /conf/mail/$original_domain /$PROXY_SYSTEM .conf_letsencryptmail"
171- sconf=" $HOMEDIR /$user /conf/mail/$original_domain /$PROXY_SYSTEM .ssl.conf_letsencryptmail"
172- fi
173-
174- if [ ! -e " $conf " ]; then
175- echo ' location ~ "^/\.well-known/acme-challenge/(.*)$" {' \
176- > $conf
177- echo ' default_type text/plain;' >> $conf
178- echo ' return 200 "$1.' $THUMB ' ";' >> $conf
179- echo ' }' >> $conf
180- fi
181- if [ ! -e " $sconf " ]; then
182- ln -s " $conf " " $sconf "
183- fi
184- $BIN /v-restart-proxy
185- check_result $? " Proxy restart failed" > /dev/null
165+ if [ -z " $mail " ]; then
166+ if [ " $WEB_SYSTEM " = ' nginx' ] || [ ! -z " $PROXY_SYSTEM " ]; then
167+ if [ ! -z " $mail " ]; then
168+ conf=" $HOMEDIR /$user /conf/mail/$root_domain /$PROXY_SYSTEM .conf_letsencrypt"
169+ sconf=" $HOMEDIR /$user /conf/mail/$root_domain /$PROXY_SYSTEM .ssl.conf_letsencrypt"
170+ else
171+ conf=" $HOMEDIR /$user /conf/web/$domain /$PROXY_SYSTEM .conf_letsencrypt"
172+ sconf=" $HOMEDIR /$user /conf/web/$domain /$PROXY_SYSTEM .ssl.conf_letsencrypt"
173+ fi
174+
175+ if [ ! -e " $conf " ]; then
176+ echo ' location ~ "^/\.well-known/acme-challenge/(.*)$" {' \
177+ > $conf
178+ echo ' default_type text/plain;' >> $conf
179+ echo ' return 200 "$1.' $THUMB ' ";' >> $conf
180+ echo ' }' >> $conf
181+ fi
182+ if [ ! -e " $sconf " ]; then
183+ ln -s " $conf " " $sconf "
184+ fi
185+ $BIN /v-restart-proxy
186+ check_result $? " Proxy restart failed" > /dev/null
186187
187- else
188- if [ -z " $mail " ]; then
189- well_known=" $HOMEDIR /$user /web/$domain /public_html/.well-known"
190188 else
191- well_known=" /var/lib/roundcube/.well-known"
189+ well_known=" $HOMEDIR /$user /web/$domain /public_html/.well-known"
190+ acme_challenge=" $well_known /acme-challenge"
191+ mkdir -p $acme_challenge
192+ echo " $token .$THUMB " > $acme_challenge /$token
193+ chown -R $user :$user $well_known
192194 fi
195+ else
196+ well_known=" /var/lib/roundcube/.well-known"
193197 acme_challenge=" $well_known /acme-challenge"
194198 mkdir -p $acme_challenge
195199 echo " $token .$THUMB " > $acme_challenge /$token
@@ -262,14 +266,23 @@ if [[ $(head -n 1 $ssl_dir/$domain.ca) = "-----END CERTIFICATE-----" ]]; then
262266 sed -i ' 1,2d' $ssl_dir /$domain .ca
263267fi
264268
269+ # Rename certs for mail
270+ if [ ! -z " $mail " ]; then
271+ mv $ssl_dir /$domain .ca $ssl_dir /$root_domain .ca
272+ mv $ssl_dir /$domain .crt $ssl_dir /$root_domain .crt
273+ mv $ssl_dir /$domain .csr $ssl_dir /$root_domain .csr
274+ mv $ssl_dir /$domain .key $ssl_dir /$root_domain .key
275+ mv $ssl_dir /$domain .pem $ssl_dir /$root_domain .pem
276+ fi
277+
265278# Adding SSL
266279if [ -z " $mail " ]; then
267280 ssl_home=$( search_objects ' web' ' LETSENCRYPT' ' yes' ' SSL_HOME' )
268281 $BIN /v-delete-web-domain-ssl $user $domain > /dev/null 2>&1
269282 $BIN /v-add-web-domain-ssl $user $domain $ssl_dir $ssl_home
270283else
271- $BIN /v-delete-mail-domain-ssl $user $domain > /dev/null 2>&1
272- $BIN /v-add-mail-domain-ssl $user $domain $ssl_dir
284+ $BIN /v-delete-mail-domain-ssl $user $root_domain > /dev/null 2>&1
285+ $BIN /v-add-mail-domain-ssl $user $root_domain $ssl_dir
273286fi
274287
275288if [ " $? " -ne ' 0' ]; then
@@ -295,9 +308,9 @@ if [ -z "$mail" ]; then
295308 update_object_value ' web' ' DOMAIN' " $domain " ' $LETSENCRYPT' ' yes'
296309else
297310 if [ -z " $LETSENCRYPT " ]; then
298- add_object_key " mail" ' DOMAIN' " $original_domain " ' LETSENCRYPT'
311+ add_object_key " mail" ' DOMAIN' " $root_domain " ' LETSENCRYPT'
299312 fi
300- update_object_value ' mail' ' DOMAIN' " $original_domain " ' $LETSENCRYPT' ' yes'
313+ update_object_value ' mail' ' DOMAIN' " $root_domain " ' $LETSENCRYPT' ' yes'
301314fi
302315
303316# ----------------------------------------------------------#
0 commit comments