
		Installation instructions for QuickPage v3.2:
		---------------------------------------------

1) Make sure you have the latest version.  The latest version of QuickPage
   can be found at ftp.it.mtu.edu:/pub/QuickPage.

2) Edit the Makefile as necessary.  No changes should be required in any
   source file.  All customizations can be made from either the run-time
   configuration file or the compile-time options in the Makefile.  The
   following compile-time options can be specified:

	DAEMONUSER - this is the UID that the QuickPage daemon processes
		should run as.  Note that the daemon must be started as
		root in order to bind the reserved port (444).  QuickPage
		does a setuid(DAEMONUSER) immediately after setting up
		the incoming SNPP socket.  This has no effect on client
		processes.  The default is 1.

	DAEMONGROUP - this is the GID that the QuickPage daemon processes
		should run as.  There is no default--if undefined, the GID
		in effect when the daemon is started will be preserved.

	FACILITY - this is the name of the syslog facility that QuickPage
		will use for logging various messages.  The default is
		LOG_DAEMON.

	LOCKDIR - this is the directory QuickPage uses to create locks
		when it needs to use the modem.  Note that this directory
		must be writable by the user defined by DAEMONUSER.  The
		default directory is /var/spool/locks.  This may not be
		appropriate for non-Sun operating systems.

	SOLARIS - Solaris 2.x uses a strange format for the names of
		modem lock files.  This option should be defined for
		Solaris 2.x systems.

	SNPP_SERVER - this is the default hostname(s) that the QuickPage
		client will attempt to use as its SNPP server.  Multiple
		hostnames can be specified by separating them with commas,
		colons, or whitespace.  If multiple servers are used, it
		is assumed that they all use identical copies of the
		configuration file.  The default is "localhost" which is
		probably not reasonable if network paging is desired.

	SNPP_SERVER_FILE - if defined, this is a filename containing
		the default hostname(s) that the QuickPage client will
		attempt to use as its SNPP server.  Multiple hostnames
		can be specified by separating them with commas, colons,
		or whitespace.  There is no default filename.

	SYSTEM_CONFIG - this is the location of the run-time configuration
		file.  The default is /etc/qpage.cf.

	NEED_STRERROR - define this if your system does not support the
		strerror() library call.  If defined, QuickPage will assume
		your system supports sys_errlist[] and will use that
		instead.

	DEBUG - defining this enables three extra server commands which
		are not part of the SNPP protocol (in fact, they produce
		output inconsistent with the protocol as documented in
		RFC-1861).  XDEBug causes the server to behave as though
		-i and -d were specified.  XCONfig prints the path name of
		the configuration file followed by its entire contents.
		XQUEue prints the contents of the current page queue.
		Administrators should fully consider the sensitivity of
		the information revealed by these commands before enabling
		them in a production environment.

3) Type "make" to build the QuickPage binary, or type "make client" for a
   stripped down client-only version.

   ***********************
   *** IMPORTANT NOTE: ***
   ***********************

	Since "make" and "make client" use different compiler arguments,
	you MUST do a "make clean" before building a different qpage.
	That is, if you "make" the full qpage and then decide you want
	to "make client" to build a client-only version (or vice versa),
	you must do a "make clean" first, otherwise the object files
	left over from the previous build will not link correctly.

4) Install qpage and qpage.man in appropriate directories.

5) Create a run-time configuration file.  See the man page for complete
   details on the syntax of this file.

6) Edit the appropriate system startup file to start a QuickPage daemon
   process when the system boots.

7) Send e-mail to tomiii@mtu.edu telling me how you like QuickPage!  :-)


**********************************************************************


	How to integrate QuickPage into your e-mail system:
	---------------------------------------------------

There are many ways to use integrate QuickPage into your e-mail system.
None of them require running a QuickPage daemon on your mail server.  Two
common methods of using QuickPage via e-mail without requiring changes
to sendmail.cf are:

1) Create aliases for each user, such as:

	<user>-page: "|/usr/local/bin/qpage -l 0 -m -p <user>"

   Sending messages to <user>-page will result in the message being
   forwarded to the user's pager.

2) Install the procmail package from ftp.informatik.rwth-aachen.de.
   Procmail can either be installed as the sendmail local delivery
   agent (preferred) or simply executed from the user's .forward file.
   If you're using a recent version of sendmail, no user aliases are
   required.  Versions of sendmail 7.x or later will accept usernames
   containing a plus sign and will deliver them as though the username
   were truncated at the plus sign (see the Sendmail book mentioned
   above for complete details).  For example, sending a message to
   "tomiii+page@some.domain.name" will result in the message going to
   tomiii's mailbox.  If this doesn't work on your system, you will
   need to create aliases such as:

	<user>-page: <user>

   The following rule in /etc/procmailrc (or .procmailrc in the user's
   home directory) should work nicely with QuickPage:

	:0c
	* ^To: .*[+-]page@
	|/usr/local/bin/qpage -l 0 -m -p $LOGNAME

   This procmail rule will check for a "To:" line that contains a
   username ending with "-page" or "+page" and will invoke qpage to
   handle such messages.  The 'c' in the first line causes procmail to
   also deliver the e-mail message to the user's mailbox in case the
   user's pager is turned off.  The "-l 0" option causes the QuickPage
   daemon to send an e-mail reply containing status information about
   the page to the original sender.  Consult the procmail documentation
   for more information.


QuickPage can also be installed as a sendmail delivery agent.  To do
this requires modifying /etc/sendmail.cf (or /etc/mail/sendmail.cf on
some systems) and should not be attempted without understanding how
sendmail works.  Explaining the syntax requirements of sendmail.cf is
beyond the scope of this document.  However, the O'Reilly "Sendmail"
book (also known as the Bat book) is an excellent reference.  It
contains a wealth of information about sendmail and shows specific
examples on how to modify the sendmail configuration file for programs
such as QuickPage.  For those of you who already understand the details
of sendmail.cf, keep reading; otherwise, stop here and go get yourself
a sendmail book.

If you intend to use QuickPage as a sendmail delivery agent, you'll
need to and create a new mailer definition in sendmail.cf.  Insert the
following line somewhere near the local mailer definition (typically
called Mlocal in most configuration files):

    Mqpage, P=/usr/local/bin/qpage, F=lmsDF, A=qpage -l0 -m -P$u

Note that when using the 'm' flag in the F= portion of the mailer
definition, you'll probably want to use -P instead of -p in the
argument list so that any -a, -c, or -l options you specify will
apply to all recipients.

Now you need to modify ruleset 0 to use this new mailer definition.
The specifics are left for you to decide.  This can be as simple
or as complicated as you want to make it.  One possibility would
be to add rules such as:

    # send local pages to the QuickPage mailer
    R$+.page			$#qpage $: $1
    R$+.page<@$=w>$*		$#qpage $: $1

With these rules and the mailer definition above, a message sent to
user.page or user.page@your.domain.name would cause sendmail to forward
the message to the user's pager by executing the command:

    /usr/local/bin/qpage -l0 -m -puser

It would be wise to save a backup copy of your existing sendmail.cf
before attempting any changes.

