version 1.2, 2000/10/26 01:37:36
|
version 1.3, 2000/10/26 02:46:57
|
Line 3
|
Line 3
|
# Startup script for the LON-CAPA network processes |
# Startup script for the LON-CAPA network processes |
# Scott Harrison 10/25/2000 |
# Scott Harrison 10/25/2000 |
# |
# |
# chkconfig: 345 85 15 |
# chkconfig: 345 95 5 |
# description: Apache is a World Wide Web server. It is used to serve \ |
# description: LON-CAPA is an knowledge network server. It is used to distribute \ |
# HTML files and CGI. |
# knowledge resources and instructional management. |
# processnames: lonc, lond, lonsql |
# processnames: lonc, lond, lonsql |
# pidfiles: /home/httpd/perl/logs/lon*.pid |
# pidfiles: /home/httpd/perl/logs/lon*.pid |
# config: /etc/httpd/conf/access.conf |
# config: /etc/httpd/conf/access.conf |
# config: /home/httpd/lonTabs/hosts.tab |
# config: /home/httpd/lonTabs/hosts.tab |
# config: /home/httpd/lonTabs/spare.tab |
# config: /home/httpd/lonTabs/spare.tab |
|
|
open (IN, "</etc/passwd"); |
|
@lines=<IN>; |
|
close IN; |
|
for $l (@lines) { |
|
chop $l; |
|
@F=split(/\:/,$l); |
|
if ($F[0] eq 'www') {$wwwid=$F[2];} |
|
} |
|
$<=$wwwid; |
|
|
|
open (OUT, ">junk"); |
|
print OUT "stuff"; |
|
close OUT; |
|
__END__ |
|
|
|
$command=$ARGV[0]; $command=~s/[^a-z]//g; |
$command=$ARGV[0]; $command=~s/[^a-z]//g; |
|
|
# ($euid,$egid,$uid,$gid)=($>,$),$<,$(); |
|
$ENV{'PATH'}="/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin"; |
$ENV{'PATH'}="/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin"; |
$ENV{'BASH_ENV'}=""; |
$ENV{'BASH_ENV'}=""; |
|
|
open (IN, "</etc/passwd"); |
|
@lines=<IN>; |
|
close IN; |
|
for $l (@lines) { |
|
chop $l; |
|
@F=split(/\:/,$l); |
|
if ($F[0] eq 'www') {$wwwid=$F[2];} |
|
} |
|
if ($wwwid!=$<) { |
|
die("User ID mismatch. This program must be run as user 'www'\n"); |
|
} |
|
|
|
if (($command eq "restart") or ($command eq "reload")) { |
if (($command eq "restart") or ($command eq "reload")) { |
print "Restarting LON-CAPA\n"; |
print "Restarting LON-CAPA\n"; |
($<,$>)=($>,$<); |
|
print "Ending LON-CAPA client and daemon processes\n"; |
print "Ending LON-CAPA client and daemon processes\n"; |
print `/bin/kill \`/bin/cat /home/httpd/perl/logs/*.pid\``; |
print `su -c '/bin/kill \`/bin/cat /home/httpd/perl/logs/*.pid\`' www`; |
print "Starting LON-CAPA client and daemon processes (please be patient)\n"; |
print "Starting LON-CAPA client and daemon processes (please be patient)\n"; |
system("/home/httpd/perl/loncron"); |
system("su -c '/home/httpd/perl/loncron' www"); |
($<,$>)=($>,$<); |
|
print "Restarting web server\n"; |
print "Restarting web server\n"; |
print `/etc/rc.d/init.d/httpd restart`; |
print `/etc/rc.d/init.d/httpd restart`; |
} |
} |
elsif ($command eq "stop") { |
elsif ($command eq "stop") { |
print "Stopping LON-CAPA\n"; |
print "Stopping LON-CAPA\n"; |
($<,$>)=($>,$<); |
print `su -c '/bin/kill \`/bin/cat /home/httpd/perl/logs/*.pid\`' www`; |
print `/bin/kill \`/bin/cat /home/httpd/perl/logs/*.pid\``; |
|
($<,$>)=($>,$<); |
|
print "Stopping web server\n"; |
print "Stopping web server\n"; |
print `/etc/rc.d/init.d/httpd stop`; |
print `/etc/rc.d/init.d/httpd stop`; |
} |
} |
elsif ($command eq "start") { |
elsif ($command eq "start") { |
print "Starting LON-CAPA\n"; |
print "Starting LON-CAPA\n"; |
print "Starting LON-CAPA client and daemon processes (please be patient)\n"; |
print "Starting LON-CAPA client and daemon processes (please be patient)\n"; |
($<,$>)=($>,$<); |
system("su -c /home/httpd/perl/loncron www"); |
system("/home/httpd/perl/loncron"); |
|
($<,$>)=($>,$<); |
|
print "Starting web server\n"; |
print "Starting web server\n"; |
print `/etc/rc.d/init.d/httpd start`; |
print `/etc/rc.d/init.d/httpd start`; |
} |
} |
Line 83 elsif ($command eq "status") {
|
Line 49 elsif ($command eq "status") {
|
} |
} |
} |
} |
else { |
else { |
print "You need to specify restart|stop|start on the command line argument.\n"; |
print "You need to specify restart|stop|start|status on the command line argument.\n"; |
} |
} |