mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
42 lines
900 B
Perl
Executable File
42 lines
900 B
Perl
Executable File
#!/usr/local/bin/perl
|
|
# Enable or disable Apache modules
|
|
|
|
require './apache-lib.pl';
|
|
&ReadParse();
|
|
$access{'global'} == 1 || &error($text{'mods_ecannot'});
|
|
&error_setup($text{'mods_err'});
|
|
|
|
@mods = &list_configured_apache_modules();
|
|
%want = map { $_, 1 } split(/\0/, $in{'m'});
|
|
$changed = 0;
|
|
foreach $m (@mods) {
|
|
if ($want{$m->{'mod'}} && !$m->{'enabled'}) {
|
|
# Need to enable
|
|
&add_configured_apache_module($m->{'mod'});
|
|
$changed++;
|
|
}
|
|
elsif (!$want{$m->{'mod'}} && $m->{'enabled'}) {
|
|
# Need to disable
|
|
&remove_configured_apache_module($m->{'mod'});
|
|
$changed++;
|
|
}
|
|
}
|
|
|
|
# Force re-detection of modules
|
|
&clear_apache_modules_cache();
|
|
|
|
# Force restart Apache
|
|
if ($changed && &is_apache_running()) {
|
|
$err = &stop_apache();
|
|
&error($err) if ($err);
|
|
&wait_for_apache_stop();
|
|
$err = &start_apache();
|
|
&error($err) if ($err);
|
|
}
|
|
|
|
&webmin_log("mods");
|
|
|
|
&redirect("index.cgi?mode=global");
|
|
|
|
|