Next, you must modify /etc/inetd.conf to have the following line:
apcnisd stream tcp nowait root /usr/sbin/tcpd /sbin/apcnisd -i
If you do not want to run the TCP wrapper, then the line should be entered
as follows (not tested):
apcnisd stream tcp nowait root /sbin/apcnisd -i
Please check that the file locations are correct for your system. Also, note
that the -i option is necessary so that apcnisd knows that it was called
by INETD. Before restarting INETD, first ensure that the NETSERVER
directive in /etc/apcupsd/apcupsd.conf is set to off. This is necessary to
prevent apcupsd from starting a child process that acts as a server. If
you change NETSERVER, you must stop and restart apcupsd for the
configuration change to be effective.
Finally, you must restart INETD for it to listen on port 3551. On a Red
Hat system, you can do so by:
/etc/rc.d/init.d/inet reload
At this point, when a client attempts to make a connection on port 3551,
INETD will automatically invoke apcnisd.
Running apcnisd Standalome
This is probably the least desirable of the three ways to run an apcupsd
network information server because if apcupsd is stopped, you must also stop
apcnisd before you can restart apcupsd. This is because apcnisd, when run
standalone, holds the shared memory buffer by which apcnisd and apcupsd
communicate. This prevents a new execution of apcupsd from creating it.
To execute apcnisd in standalone mode, first ensure that the NET-
SERVER directive in /etc/apcupsd/apcupsd.conf is set to off. This is
necessary to prevent apcupsd from starting a child process that acts as a
server. Restart apcupsd normally, then:
117