When I suspend user, why does website is not suspended? Only when I explicitly suspend website within that user I receive " This site is currently suspended" message when visiting website in question.
Because probally it is a bug but currently busy with other paying projects⦠so canāt dedicate all my days on Hestia
Hello @culibine,
Are you the same user of this issue?
If you are not, are you using Apache too?
I tested it in my own install and it is working fine, it is suspending the user and the web domains of the user but Iām not using Apache so I canāt test whether that is affecting the suspension.
If you want to test⦠I would test it myself but I canāt reproduce the bug in my installation using only Nginx and Iām a bit busy to install a new Hestia with Apache to just test it.
Create file /usr/local/hestia/bin/t-suspend-user
with this content:
#!/bin/bash
user=$1
restart=$2
source /etc/hestiacp/hestia.conf
source $HESTIA/func/main.sh
source_conf "$HESTIA/conf/hestia.conf"
check_args '1' "$#" 'USER [RESTART]'.
is_format_valid 'user'
is_object_valid 'user' 'USER' "$user"
is_object_unsuspended 'user' 'USER' "$user"
if [ "$user" = 'admin' ]; then
exit
fi
if [ -n "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
echo "Executing $BIN/t-suspend-web-domains "$user" "no""
echo ""
$BIN/t-suspend-web-domains "$user" "no"
fi
Create file /usr/local/hestia/bin/t-suspend-web-domains
with this content:
#!/bin/bash
user=$1
source /etc/hestiacp/hestia.conf
source $HESTIA/func/main.sh
source $HESTIA/func/domain.sh
source_conf "$HESTIA/conf/hestia.conf"
check_args '1' "$#" 'USER [RESTART]'
is_format_valid 'user'
is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
is_object_valid 'user' 'USER' "$user"
for domain in $(search_objects 'web' 'SUSPENDED' "no" 'DOMAIN'); do
echo "$BIN/t-suspend-web-domain "$user" "$domain" 'no'"
echo ""
$BIN/t-suspend-web-domain "$user" "$domain" 'no'
echo "##################################################"
echo ""
done
Create file /usr/local/hestia/bin/t-suspend-web-domain
with this content:
#!/bin/bash
user=$1
domain=$2
domain_idn=$2
restart=$3
source /etc/hestiacp/hestia.conf
source $HESTIA/func/main.sh
source $HESTIA/func/domain.sh
source $HESTIA/func/ip.sh
source_conf "$HESTIA/conf/hestia.conf"
format_domain
format_domain_idn
check_args '2' "$#" 'USER DOMAIN [RESTART]'
is_format_valid 'user' 'domain'
is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
is_object_valid 'user' 'USER' "$user"
is_object_valid 'web' 'DOMAIN' "$domain"
is_object_unsuspended 'web' 'DOMAIN' "$domain"
get_domain_values 'web'
SUSPENDED='yes'
local_ip=$(get_real_ip $IP)
prepare_web_domain_values
echo "del_web_config "$WEB_SYSTEM" "$TPL.tpl""
echo "add_web_config "$WEB_SYSTEM" "$TPL.tpl""
if [ "$SSL" = 'yes' ]; then
echo "del_web_config "$WEB_SYSTEM" "$TPL.stpl""
echo "add_web_config "$WEB_SYSTEM" "$TPL.stpl""
fi
if [ -n "$PROXY_SYSTEM" ] && [ -n "$PROXY" ]; then
echo "del_web_config "$PROXY_SYSTEM" "$PROXY.tpl""
echo "add_web_config "$PROXY_SYSTEM" "$PROXY.tpl""
if [ "$SSL" = 'yes' ]; then
echo "del_web_config "$PROXY_SYSTEM" "$PROXY.stpl""
echo "add_web_config "$PROXY_SYSTEM" "$PROXY.stpl""
fi
fi
echo "update_object_value 'web' 'DOMAIN' "$domain" '$SUSPENDED' 'yes'"
echo "increase_user_value "$user" '$SUSPENDED_WEB'"
echo "$BIN/v-rebuild-web-domain "$user" "$domain" 'no'"
echo "$BIN/v-restart-web "$restart""
echo "$BIN/v-restart-proxy "$restart""
Give execution perms to the three files:
chmod +x /usr/local/hestia/bin/t-suspend*
And execute script t-suspend-user
changing YourUser
by the real user you want to suspend.
/usr/local/hestia/bin/t-susppend-user YourUser
And show the output.
Note: Those scripts wonāt suspend neither the user nor domains, the test scripts will modify nothing, they will only show the commands that would be executed when used.
Cheers,
sahsanu
Yes, Iāam using Apache and nginx. Seems it is not bug, but a feature (?):
If I do not explicitly pass āyesā to v-susppend-user
changes are not visible, because default behavior is ānoā to restart. So:
v-susppend-user john yes
And everything works as it should be.
v-suspend-user requires restart of the nignx / apache2ā¦
And by default we set it to noā¦
And
But if it is never set it will never restart. Even empty string should mean reload ā¦
Should fix the issue
For v-suspend-user make sure to use the restart flag set to yes if you want to suspend.
Or restart services when done multiple suspending actionsā¦