Skip to content

Commit 98bbe7b

Browse files
committed
Use file based authentification for let's encrypt and move ssl certs.
1 parent c7b2b32 commit 98bbe7b

File tree

1 file changed

+40
-27
lines changed

1 file changed

+40
-27
lines changed

bin/v-add-letsencrypt-domain

Lines changed: 40 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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/mail/$root_domain/$PROXY_SYSTEM.conf_letsencrypt"
168-
sconf="$HOMEDIR/$user/conf/mail/$root_domain/$PROXY_SYSTEM.ssl.conf_letsencrypt"
169-
else
170-
conf="$HOMEDIR/$user/conf/web/$domain/$PROXY_SYSTEM.conf_letsencrypt"
171-
sconf="$HOMEDIR/$user/conf/web/$domain/$PROXY_SYSTEM.ssl.conf_letsencrypt"
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
263267
fi
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
266279
if [ -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
270283
else
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
273286
fi
274287

275288
if [ "$?" -ne '0' ]; then

0 commit comments

Comments
 (0)