version 1.1, 2004/12/16 20:14:37
|
version 1.50, 2020/05/29 18:13:20
|
Line 1
|
Line 1
|
<!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN" |
<!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN" |
"http://lpml.sourceforge.net/DTD/piml.dtd"> |
"http://lpml.sourceforge.net/DTD/piml.dtd"> |
<!-- phpcheck.piml --> |
<!-- checkconfig.piml --> |
<!-- Matthew Hall --> |
<!-- Matthew Hall --> |
|
|
<!-- $Id$ --> |
<!-- $Id$ --> |
Line 33 http://www.lon-capa.org/
|
Line 33 http://www.lon-capa.org/
|
<targetroot>/</targetroot> |
<targetroot>/</targetroot> |
<files> |
<files> |
<file> |
<file> |
<target dist="default">/home/httpd/lonUsers</target> |
<target dist="default"></target> |
<perlscript mode="fg"> |
<perlscript mode="fg"> |
my $chkconfig_bin = '/sbin/chkconfig'; |
my $checker_bin = '/sbin/chkconfig'; |
exit if (! -x $chkconfig_bin); |
my $systemctl_bin = '/bin/systemctl'; |
|
my $systemctl_only = 0; |
my $command = $chkconfig_bin.' --list httpd'; |
my $webserver ='httpd'; |
my $results = `$command`; |
my @runlevels = qw/3 4 5/; |
if ($results eq '') { |
my @norunlevels = qw/0 1 6/; |
print "**** WARNING: httpd is not set to run on boot.$/". |
my $use_systemctl; |
" Execute the following commands to fix this:".$/. |
|
" $chkconfig_bin --add httpd".$/. |
if ('<DIST />' eq 'suse9.3' || '<DIST />' eq 'suse9.2' || '<DIST />' eq 'sles9') { |
" $chkconfig_bin httpd on".$/; |
$webserver = 'apache'; |
} else { |
@runlevels = qw/3 5/; |
my %httpd_runlevels; |
} elsif ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<DIST />' eq 'sles12' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2' || '<DIST />' eq 'suse10.3' || '<DIST />' eq 'suse11.1' || '<DIST />' eq 'suse11.2' || '<DIST />' eq 'suse11.3' || '<DIST />' eq 'suse11.4' || '<DIST />' eq 'suse12.1' || '<DIST />' eq 'suse12.2' || '<DIST />' eq 'suse12.3' || '<DIST />' eq 'suse13.1' || '<DIST />' eq 'suse13.2') { |
for (my $rl = 0;$rl <=6;$rl++) { |
$webserver = 'apache2'; |
if ($results =~ /$rl:on/) { $httpd_runlevels{$rl}++; } |
@runlevels = qw/3 5/; |
} |
} elsif ('<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' || '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16') { |
# |
@runlevels = qw/2 3 4 5/; |
my $warning; |
@norunlevels = qw/0 1 6/; |
foreach my $rl (qw/3 4 5/) { |
$checker_bin = '/usr/sbin/sysv-rc-conf'; |
if (! exists($httpd_runlevels{$rl}) ) { |
$webserver = 'apache2'; |
$warning .= |
} elsif (('<DIST />' eq 'ubuntu18') || ('<DIST />' eq 'ubuntu20') || ('<DIST />' eq 'sles15')) { |
"**** WARNING: httpd is not set to run at runlevel $rl".$/; |
$webserver = 'apache2'; |
} |
$use_systemctl = 1; |
} |
$systemctl_only = 1; |
if ($warning) { |
} elsif (('<DIST />' eq 'fedora26') || ('<DIST />' eq 'fedora27') || |
print $warning. |
('<DIST />' eq 'fedora28') || ('<DIST />' eq 'fedora29') || |
" Execute the following command to fix this:".$/. |
('<DIST />' eq 'fedora30') || ('<DIST />' eq 'fedora31') || |
" /sbin/chkconfig httpd on ".$/; |
('<DIST />' eq 'fedora32') || ('<DIST />' eq 'centos8') || |
} |
('<DIST />' eq 'rhes8') || ('<DIST />' eq 'oracle7') || |
|
('<DIST />' eq 'oracle8')) { |
|
$use_systemctl = 1; |
|
$systemctl_only = 1; |
} |
} |
|
if (('<DIST />' eq 'fedora16') || ('<DIST />' eq 'fedora17') || |
|
('<DIST />' eq 'fedora18') || ('<DIST />' eq 'fedora19') || |
|
('<DIST />' eq 'fedora20') || ('<DIST />' eq 'fedora21') || |
|
('<DIST />' eq 'fedora22') || ('<DIST />' eq 'fedora23') || |
|
('<DIST />' eq 'fedora24') || ('<DIST />' eq 'fedora25') || |
|
('<DIST />' eq 'suse12.1') || ('<DIST />' eq 'suse12.2') || |
|
('<DIST />' eq 'suse12.3') || ('<DIST />' eq 'suse13.1') || |
|
('<DIST />' eq 'suse13.2') || ('<DIST />' eq 'rhes7') || |
|
('<DIST />' eq 'centos7') || ('<DIST />' eq 'scientific7') || |
|
('<DIST />' eq 'sles12')) { |
|
$use_systemctl = 1; |
|
} |
|
exit if (((!$systemctl_only) && (! -x $checker_bin)) && (! -x $systemctl_bin)); |
|
|
$command = $chkconfig_bin.' --list loncontrol'; |
my $rlstr = join('',@runlevels); |
$results = `$command`; |
my $nrlstr = join('',@norunlevels); |
if ($results eq '') { |
foreach my $service ($webserver,'loncontrol') { |
print "**** WARNING: loncontrol is not set to run on boot.$/". |
if (($use_systemctl) && ($service eq $webserver) || ($systemctl_only)) { |
" Execute the following commands to fix this:".$/. |
my $command = "systemctl is-enabled ".$service.".service"; |
" $chkconfig_bin --add loncontrol".$/. |
my $results = `$command`; |
" $chkconfig_bin loncontrol on".$/; |
chomp($results); |
} else { |
if ($results ne 'enabled') { |
my %loncontrol_runlevels; |
print "**** WARNING: $service is not set to run on boot.".$/. |
for (my $rl = 0;$rl<=6;$rl++) { |
" Execute the following commands to fix this:".$/. |
if ($results =~ /$rl:on/) { $loncontrol_runlevels{$rl}++; } |
" systemctl enable ".$service.".service".$/; |
} |
} |
# |
} else { |
$warning = ''; |
my $command = $checker_bin.' --list '.$service; |
foreach my $rl (qw/3 4 5/) { |
my $results = `$command`; |
if (! exists($loncontrol_runlevels{$rl})) { |
if ($results eq '') { |
$warning .= |
print "**** WARNING: $service is not set to run on boot.$/". |
"**** WARNING: loncontrol is not set to run at runlevel $rl\n"; |
" Execute the following commands to fix this:".$/; |
|
if ('<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' || '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16') { |
|
print " $checker_bin --level $nrlstr $service off".$/; |
|
} else { |
|
print " $checker_bin --add $service".$/; |
|
} |
|
print " $checker_bin --level $rlstr $service on".$/; |
|
} else { |
|
my %curr_runlevels; |
|
for (my $rl = 0;$rl <=6;$rl++) { |
|
if ($results =~ /$rl:on/) { $curr_runlevels{$rl}++; } |
|
} |
|
# |
|
my $warning; |
|
foreach my $rl (@runlevels) { |
|
if (! exists($curr_runlevels{$rl}) ) { |
|
$warning .= |
|
"**** WARNING: $service is not set to run at runlevel $rl".$/; |
|
} |
|
} |
|
if ($warning) { |
|
print $warning. |
|
" Execute the following command to fix this:".$/. |
|
" $checker_bin --level $rlstr $service on".$/; |
|
} |
} |
} |
} |
|
if ($warning) { |
|
print $warning. |
|
" Execute the following command to fix this:".$/. |
|
" /sbin/chkconfig loncontrol on ".$/; |
|
} |
} |
} |
} |
|
|