version 1.4, 2006/09/28 22:52:43
|
version 1.24, 2012/10/05 15:36:21
|
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 $webserver ='httpd'; |
my $webserver = 'httpd'; |
|
my @runlevels = qw/3 4 5/; |
my @runlevels = qw/3 4 5/; |
|
my @norunlevels = qw/0 1 6/; |
|
my $use_systemctl; |
|
|
if ('<DIST />' eq 'suse9.3' || '<DIST />' eq 'suse9.2' || '<DIST />' eq 'sles9') { |
if ('<DIST />' eq 'suse9.3' || '<DIST />' eq 'suse9.2' || '<DIST />' eq 'sles9') { |
$webserver = 'apache'; |
$webserver = 'apache'; |
@runlevels = qw/3 5/; |
@runlevels = qw/3 5/; |
} elsif ('<DIST />' eq 'sles10' || '<DIST />' eq 'suse10.1') { |
} elsif ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<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') { |
|
$webserver = 'apache2'; |
|
@runlevels = qw/3 5/; |
|
} elsif ('<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12') { |
|
@runlevels = qw/2 3 4 5/; |
|
@norunlevels = qw/0 1 6/; |
|
$checker_bin = '/usr/sbin/sysv-rc-conf'; |
$webserver = 'apache2'; |
$webserver = 'apache2'; |
} |
} |
my $command = $chkconfig_bin.' --list '.$webserver; |
if (('<DIST />' eq 'fedora16') || ('<DIST />' eq 'fedora17') || ('<DIST />' eq 'suse12.1') || |
my $results = `$command`; |
('<DIST />' eq 'suse12.2')) { |
if ($results eq '') { |
$use_systemctl = 1; |
print "**** WARNING: $webserver is not set to run on boot.$/". |
|
" Execute the following commands to fix this:".$/. |
|
" $chkconfig_bin --add $webserver".$/. |
|
" $chkconfig_bin $webserver on".$/; |
|
} else { |
|
my %httpd_runlevels; |
|
for (my $rl = 0;$rl <=6;$rl++) { |
|
if ($results =~ /$rl:on/) { $httpd_runlevels{$rl}++; } |
|
} |
|
# |
|
my $warning; |
|
foreach my $rl (@runlevels) { |
|
if (! exists($httpd_runlevels{$rl}) ) { |
|
$warning .= |
|
"**** WARNING: $webserver is not set to run at runlevel $rl".$/; |
|
} |
|
} |
|
if ($warning) { |
|
print $warning. |
|
" Execute the following command to fix this:".$/. |
|
" /sbin/chkconfig $webserver on ".$/; |
|
} |
|
} |
} |
|
exit if (! -x $checker_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 'httpd')) { |
" Execute the following commands to fix this:".$/. |
my $command = "systemctl is-enabled httpd.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 httpd.service".$/; |
} |
} |
# |
} else { |
$warning = ''; |
my $command = $checker_bin.' --list '.$service; |
foreach my $rl (@runlevels) { |
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') { |
|
print " $checker_bin --level $nrlstr $service off".$/; |
|
} else { |
|
print " $checker_bin --add $webserver".$/; |
|
} |
|
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 ".$/; |
|
} |
} |
} |
} |
|
|