forked from virtualmin/virtualmin-gpl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
check-config.pl
executable file
·86 lines (70 loc) · 1.82 KB
/
check-config.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/usr/local/bin/perl
=head1 check-config.pl
Run the Virtualmin config check
This program checks your system's Virtualmin configuration, outputting the
progress of the check as it goes. If any serious problems are found it will
halt and display the error found.
Otherwise, it may also update global settings determined by the Virtualmin
configuration, such as Webmin modules granted to domain owners.
=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/check-scripts.pl";
require './virtual-server-lib.pl';
$< == 0 || die "check-scripts.pl must be run as root";
}
@OLDARGV = @ARGV;
while(@ARGV > 0) {
local $a = shift(@ARGV);
if ($a eq "--multiline") {
$multiline = 1;
}
elsif ($a eq "--help") {
&usage();
}
else {
&usage("Unknown parameter $a");
}
}
&set_all_text_print();
&read_file("$module_config_directory/last-config", \%lastconfig);
$cerr = &html_tags_to_text(&check_virtual_server_config(\%lastconfig));
if ($cerr) {
print "ERROR: $cerr\n";
}
else {
# See if any options effecting Webmin users have changed
if (&need_update_webmin_users_post_config(\%lastconfig)) {
&modify_all_webmin();
if ($virtualmin_pro) {
&modify_all_resellers();
}
}
# Setup the licence cron job (if needed)
&setup_licence_cron();
# Apply the new config
&run_post_config_actions(\%lastconfig);
# Clear cache of links
&clear_links_cache();
&run_post_actions();
print "OK\n";
}
&virtualmin_api_log(\@OLDARGV, $doms[0]);
exit($cerr ? 1 : 0);
sub usage
{
print "$_[0]\n\n" if ($_[0]);
print "Checks the current Virtualmin configuration.\n";
print "\n";
print "virtualmin check-config\n";
exit(1);
}