Skip to content

Commit 4053f9a

Browse files
author
Serghey Rodin
committed
New style for web configs / separate conf per domain
1 parent 1b1622e commit 4053f9a

File tree

2 files changed

+77
-32
lines changed

2 files changed

+77
-32
lines changed

bin/v-backup-user

Lines changed: 41 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -148,36 +148,60 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB" != '*' ]; then
148148
grep "DOMAIN='$domain'" $conf > vesta/web.conf
149149

150150
# Backup vhost config
151-
tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
152-
conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
153-
get_web_config_lines $tpl_file $conf
154-
sed -n "$top_line,$bottom_line p" $conf > conf/$WEB_SYSTEM.conf
151+
conf=$HOMEDIR/$user/conf/web/$domain.$WEB_SYSTEM.conf
152+
if [ -e "$conf" ]; then
153+
cp $conf conf/$WEB_SYSTEM.conf
154+
else
155+
# old style configs
156+
tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.tpl"
157+
conf="$HOMEDIR/$user/conf/web/$WEB_SYSTEM.conf"
158+
get_web_config_lines $tpl_file $conf
159+
sed -n "$top_line,$bottom_line p" $conf > conf/$WEB_SYSTEM.conf
160+
fi
155161

156162
# Backup ssl vhost
157163
if [ "$SSL" = 'yes' ]; then
158-
tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
159-
conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
160-
get_web_config_lines $tpl_file $conf
161-
sed -n "$top_line,$bottom_line p" $conf > conf/s$WEB_SYSTEM.conf
164+
conf=$HOMEDIR/$user/conf/web/$domain.$WEB_SYSTEM.ssl.conf
165+
if [ -e "$conf" ]; then
166+
cp $conf conf/$WEB_SYSTEM.ssl.conf
167+
else
168+
tpl_file="$WEBTPL/$WEB_SYSTEM/$WEB_BACKEND/$TPL.stpl"
169+
conf="$HOMEDIR/$user/conf/web/s$WEB_SYSTEM.conf"
170+
get_web_config_lines $tpl_file $conf
171+
sed -n "$top_line,$bottom_line p" $conf > \
172+
conf/s$WEB_SYSTEM.conf
173+
fi
162174
fi
163175

164176
# Backup proxy config
165177
if [ ! -z "$PROXY_SYSTEM" ] && [ ! -z "$PROXY" ]; then
166-
tpl_file="$WEBTPL/$PROXY_SYSTEM/$PROXY.tpl"
167-
conf="$HOMEDIR/$user/conf/web/$PROXY_SYSTEM.conf"
168-
get_web_config_lines $tpl_file $conf
169-
sed -n "$top_line,$bottom_line p" $conf > conf/$PROXY_SYSTEM.conf
178+
conf=$HOMEDIR/$user/conf/web/$domain.$PROXY_YSTEM.conf
179+
if [ -e "$conf" ]; then
180+
cp $conf conf/$PROXY_SYSTEM.conf
181+
else
182+
tpl_file="$WEBTPL/$PROXY_SYSTEM/$PROXY.tpl"
183+
conf="$HOMEDIR/$user/conf/web/$PROXY_SYSTEM.conf"
184+
get_web_config_lines $tpl_file $conf
185+
sed -n "$top_line,$bottom_line p" $conf > \
186+
conf/$PROXY_SYSTEM.conf
187+
fi
170188
fi
171189

172190
# Backup ssl proxy config
173191
if [ ! -z "$PROXY_SYSTEM" ] && [ "$SSL" = 'yes' ]; then
174-
tpl_file="$WEBTPL/$PROXY_SYSTEM/$PROXY.stpl"
175-
conf="$HOMEDIR/$user/conf/web/s$PROXY_SYSTEM.conf"
176-
get_web_config_lines $tpl_file $conf
177-
sed -n "$top_line,$bottom_line p" $conf > conf/s$PROXY_SYSTEM.conf
192+
conf=$HOMEDIR/$user/conf/web/$domain.$PROXY_SYSTEM.ssl.conf
193+
if [ -e "$conf" ]; then
194+
cp $conf conf/$PROXY_SYSTEM.ssl.conf
195+
else
196+
tpl_file="$WEBTPL/$PROXY_SYSTEM/$PROXY.stpl"
197+
conf="$HOMEDIR/$user/conf/web/s$PROXY_SYSTEM.conf"
198+
get_web_config_lines $tpl_file $conf
199+
sed -n "$top_line,$bottom_line p" $conf >\
200+
conf/s$PROXY_SYSTEM.conf
201+
fi
178202
fi
179203

180-
# Backup custom config
204+
# Backup custom config / backup LE config
181205
for sconfig in $(ls $HOMEDIR/$user/conf/web/|grep ".$domain.conf"); do
182206
cp $HOMEDIR/$user/conf/web/$sconfig conf/
183207
done

func/domain.sh

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,9 @@ prepare_web_domain_values() {
167167

168168
# Add web config
169169
add_web_config() {
170-
conf="$HOMEDIR/$user/conf/web/$1.conf"
170+
conf="$HOMEDIR/$user/conf/web/$domain.$1.conf"
171171
if [[ "$2" =~ stpl$ ]]; then
172-
conf="$HOMEDIR/$user/conf/web/s$1.conf"
172+
conf="$HOMEDIR/$user/conf/web/$domain.$1.ssl.conf"
173173
fi
174174

175175
domain_idn=$domain
@@ -218,7 +218,8 @@ add_web_config() {
218218
trigger="${2/.*pl/.sh}"
219219
if [ -x "$WEBTPL/$1/$WEB_BACKEND/$trigger" ]; then
220220
$WEBTPL/$1/$WEB_BACKEND/$trigger \
221-
$user $domain $local_ip $HOMEDIR $HOMEDIR/$user/web/$domain/public_html
221+
$user $domain $local_ip $HOMEDIR \
222+
$HOMEDIR/$user/web/$domain/public_html
222223
fi
223224
}
224225

@@ -250,28 +251,48 @@ get_web_config_lines() {
250251

251252
# Replace web config
252253
replace_web_config() {
253-
conf="$HOMEDIR/$user/conf/web/$1.conf"
254+
conf="$HOMEDIR/$user/conf/web/$domain.$1.conf"
254255
if [[ "$2" =~ stpl$ ]]; then
255-
conf="$HOMEDIR/$user/conf/web/s$1.conf"
256+
conf="$HOMEDIR/$user/conf/web/$domain.$1.ssl.conf"
257+
fi
258+
259+
if [ -e "$conf" ]; then
260+
sed -i "s|$old|$new|g" $conf
261+
else
262+
# fallback to old style configs
263+
conf="$HOMEDIR/$user/conf/web/$1.conf"
264+
if [[ "$2" =~ stpl$ ]]; then
265+
conf="$HOMEDIR/$user/conf/web/s$1.conf"
266+
fi
267+
get_web_config_lines $WEBTPL/$1/$WEB_BACKEND/$2 $conf
268+
sed -i "$top_line,$bottom_line s|$old|$new|g" $conf
256269
fi
257-
get_web_config_lines $WEBTPL/$1/$WEB_BACKEND/$2 $conf
258-
sed -i "$top_line,$bottom_line s|$old|$new|g" $conf
259270
}
260271

261272
# Delete web configuartion
262273
del_web_config() {
263-
conf="$HOMEDIR/$user/conf/web/$1.conf"
274+
conf="$HOMEDIR/$user/conf/web/$domain.$1.conf"
264275
if [[ "$2" =~ stpl$ ]]; then
265-
conf="$HOMEDIR/$user/conf/web/s$1.conf"
276+
conf="$HOMEDIR/$user/conf/web/$domain.$1.ssl.conf"
266277
fi
267278

268-
get_web_config_lines $WEBTPL/$1/$WEB_BACKEND/$2 $conf
269-
sed -i "$top_line,$bottom_line d" $conf
270-
271-
web_domain=$(grep DOMAIN $USER_DATA/web.conf |wc -l)
272-
if [ "$web_domain" -eq '0' ]; then
273-
sed -i "/.*\/$user\/.*$1.conf/d" /etc/$1/conf.d/vesta.conf
279+
if [ -e "$conf" ]; then
280+
sed -i "|$conf|d" /etc/$1/conf.d/vesta.conf
274281
rm -f $conf
282+
else
283+
# fallback to old style configs
284+
conf="$HOMEDIR/$user/conf/web/$1.conf"
285+
if [[ "$2" =~ stpl$ ]]; then
286+
conf="$HOMEDIR/$user/conf/web/s$1.conf"
287+
fi
288+
get_web_config_lines $WEBTPL/$1/$WEB_BACKEND/$2 $conf
289+
sed -i "$top_line,$bottom_line d" $conf
290+
291+
web_domain=$(grep DOMAIN $USER_DATA/web.conf |wc -l)
292+
if [ "$web_domain" -eq '0' ]; then
293+
sed -i "/.*\/$user\/.*$1.conf/d" /etc/$1/conf.d/vesta.conf
294+
rm -f $conf
295+
fi
275296
fi
276297
}
277298

0 commit comments

Comments
 (0)