Index: openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html,v diff -u -r1.10 -r1.10.2.1 --- openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html 13 Sep 2009 23:54:40 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html 12 Dec 2010 00:07:02 -0000 1.10.2.1 @@ -1,51 +1,51 @@ - -
This is an alternative method for keeping the AOLserver
- process running. The recommended method is to run AOLserver
+
+ This is an alternative method for keeping the AOLserver
+ process running. The recommended method is to run AOLserver
supervised.
This step should be completed as root. This can break every service
on your machine, so proceed with caution.
-
+
There are 2 general steps to getting this working.
-
+
Install a script called
- restart-aolserver. This
+
+
Ask the OS to restart our service whenever it's not
running. We do this by adding a line to
- /etc/inittab.
+
- Calling restart-aolserver
+ Calling
- Copy this file into
- /var/tmp/restart-aolserver.txt.
-
+
+ Copy this file into
+
This script needs to be SUID-root, which means
that the script will run as root. This is necessary to ensure
that the AOLserver processes are killed regardless of who owns
them. However the script should be executable by the
- web group to ensure that the
+
- Test the restart-aolserver
+[root ~]# exit
+ Test the
The number 23727 indicates the process id(s) (PIDs) of the
- processes being killed. It is important that no processes are killed by the second
- call to killall. If there are
+ processes being killed. It is important that no processes are killed by the second
+ call to
- Assuming that the restart-aolserver
+ working.
+ Assuming that the
+[root ~]# emacs -nw /etc/inittab
Copy this line into the bottom of the file as a template,
making sure that the first field
- nss1 is unique.
+
- Important: Make sure there is a
+nss1:345:respawn:/usr/local/aolserver/bin/nsd-postgres -i -u nobody -g web -t /home/joeuser/var/lib/aolserver/birdnotes/nsd.tcl
+ Important: Make sure there is a
newline at the end of the file. If there is not a newline at
the end of the file, the system may suffer catastrophic
failures.
-
+
Still as root, enter the following command to re-initialize
- /etc/inittab.
+[root ~]# /sbin/init q
See if it worked by running the
- restart-aolserver script
+
restart-aolserver
. This
script doesn't actually restart AOLserver - it just kills
it.
- /etc/inittab
.
restart-aolserver
kills our service. The OS notices that our service is not
running, so it automatically restarts it. Thus, calling
- restart-aolserver effectively
+ restart-aolserver
effectively
restarts our service.
- /var/tmp/restart-aolserver.txt
.
+ web
group to ensure that the
users updating the web page can use the script, but that
general system users cannot run the script. You also need to
have Perl installed and also a symbolic link to it in
- /usr/local/bin.
+ /usr/local/bin
.
[joeuser ~]$ su -
Password: ***********
[root ~]# cp /var/tmp/restart-aolserver.txt /usr/local/bin/restart-aolserver
[root ~]# chown root.web /usr/local/bin/restart-aolserver
[root ~]# chmod 4750 /usr/local/bin/restart-aolserver
[root ~]# ln -s /usr/bin/perl /usr/local/bin/perl
-[root ~]# exit
restart-aolserver
script. We'll first kill all running servers to clean the
slate. Then, we'll start one server and use
- restart-aolserver to kill
+ restart-aolserver
to kill
it. If it works, then there should be no more servers
running. You should see the following lines.
[joeuser ~]$ killall nsd
@@ -56,34 +56,34 @@
[joeuser ~]$ killall nsd
nsd: no process killed
killall
. If there are
processes being killed, it means that the script is not
- working.restart-aolserver
script worked, login as root and open
- /etc/inittab for
+ /etc/inittab
for
editing.
[joeuser ~]$ su -
Password: ************
-[root ~]# emacs -nw /etc/inittab
nss1
is unique.
-nss1:345:respawn:/usr/local/aolserver/bin/nsd-postgres -i -u nobody -g web -t /home/joeuser/var/lib/aolserver/birdnotes/nsd.tcl
+
/etc/inittab
.
[root ~]# killall nsd
nsd: no process killed
-[root ~]# /sbin/init q
restart-aolserver
script
again.
[root ~]# restart-aolserver birdnotes
Killing 23750