forked from virtualmin/virtualmin-gpl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcheck-config.pl
executable file
·87 lines (71 loc) · 1.88 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
86
#!/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.
Unlike the I<Re-check Config> page in the Virtualmin web UI, it will not
perform any system changes triggered by configuration changes, such as updating
the Webmin modules available 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);
}