Server IP : 195.201.23.43 / Your IP : 3.147.84.210 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/virtual-server/ |
Upload File : |
#!/usr/bin/perl =head1 disable-domain.pl Temporarily disable a virtual server When a server is disabled, it will become temporarily unavailable without being completely deleted. This program can be used to disable one server, specified with the C<--domain> option. The exact features that will be disabled for the server are set on the module configuration page. The optional C<--why> parameter can be followed by a description explaining why the domain has been disabled, which will be shown when anyone tries to edit it in Virtualmin. By default all features are disabled for the selected domains, but you can limit this with the C<--feature> flag. For example, to only disable the website use C<--disable web>. To have all sub-servers owned by the same user as the specified server disabled as well, use the C<--subservers> flag. =cut package virtual_server; if (!$module_name) { $main::no_acl_check++; $ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin"; $ENV{'WEBMIN_VAR'} ||= "/var/webmin"; if ($0 =~ /^(.*)\/[^\/]+$/) { chdir($pwd = $1); } else { chop($pwd = `pwd`); } $0 = "$pwd/disable-domain.pl"; require './virtual-server-lib.pl'; $< == 0 || die "disable-domain.pl must be run as root"; } @OLDARGV = @ARGV; $first_print = \&first_text_print; $second_print = \&second_text_print; # Parse command-line args while(@ARGV > 0) { local $a = shift(@ARGV); if ($a eq "--domain") { $domain = lc(shift(@ARGV)); } elsif ($a eq "--why") { $why = shift(@ARGV); } elsif ($a eq "--multiline") { $multiline = 1; } elsif ($a eq "--subservers") { $subservers = 1; } elsif ($a eq "--feature") { push(@feats, shift(@ARGV)); } elsif ($a eq "--help") { &usage(); } else { &usage("Unknown parameter $a"); } } # Find the domain $domain || usage("No domain specified"); $d = &get_domain_by("dom", $domain); $d || &usage("Virtual server $domain does not exist"); $d->{'disabled'} && &usage("Virtual server $domain is already disabled"); @doms = ( $d ); # If disabling sub-servers, find them too if ($subservers && !$d->{'parent'}) { foreach my $sd (&get_domain_by("parent", $d->{'id'})) { if (!$sd->{'disabled'}) { push(@doms, $sd); } } } foreach $d (@doms) { print "Disabling virtual server $d->{'dom'} ..\n\n"; $err = &disable_virtual_server($d, 'manual', $why, @feats ? \@feats : undef); &usage($err) if ($err); } &run_post_actions(); &virtualmin_api_log(\@OLDARGV, $doms[0]); print "All done!\n"; sub usage { print $_[0],"\n" if ($_[0]); print "Disables all features in the specified virtual server.\n"; print "\n"; print "virtualmin disable-domain --domain domain.name\n"; print " [--why \"explanation for disable\"]\n"; print " [--subservers]\n"; print " [--feature name]*\n"; exit(1); }Private