Private
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/webmin/virtual-server/disable-domain.pl
#!/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