
INSTALLATION

* Edit the files "li_config.h" and "Makefile", to suit your tastes.
  The defaults should be OK for most cases, but you might want to
  put the Unix-domain socket somewhere else than in
  /var/run/lingerd/, or use different compiler flags.

  Don't forget to create the directory /var/run/lingerd/, or
  wherever you have set the pidfile and the Unix-domain socket to
  go, and make sure that lingerd's userid can write to that
  directory.

* Type "make".  If all goes well, you have a lingerd binary.  Copy it
  to your favorite system directory, and setup your start scripts so
  that it gets started before Apache does, by the same user that Apache
  runs as (usually "nobody" or "httpd").

* Take a copy of the Apache 1.3.x sources, and patch them to use
  lingerd.  To do this, assuming your Apache sources are in 
  $APACHE, and your current directory is the lingerd distribution:

    cp apache-1.3/ap_lingerd.c li_config.h $APACHE/src/main/

    patch -p0 -d $APACHE/src/ < apache-1.3/aplinger.diff

  If you are using mod_ssl, first install mod_ssl using "the
  flexible APACI-only way", per the mod_ssl instructions, then copy
  ap_lingerd.c and li_config over, and then apply the lingerd patch
  using the file apache-1.3/aplinger-ssl.diff instead of
  aplinger.diff.

* Configure and compile this Apache source as usual, eg:

  (add mod_perl, mod_php, etc, installation as appropriate here)

    cd $APACHE
    OPTIM="-O2" ./configure --prefix="/usr/local/apache" --your-options
    make
    make install

  (add whatever --enable's, --disables and other options you usually
  compile Apache with.)

* Make sure lingerd is running, and run the copy of Apache you just
  compiled.  Make sure that they're both running under the same uid.
  For testing, start lingerd with the "-X" option, which makes it log to
  the terminal rather than syslog.

* Watch out for lingerd's status messages (without -X, they will go to
  /var/log/daemon.log or wherever your /etc/syslog.conf sends LOG_DAEMON
  messages).  Remember that when lingerd prints "I have n open sockets",
  there is always one for its listening socket, so this number should be
  at least 2 once Apache has connected to lingerd.

  Also watch out for "Connection to lingerd socket (...) failed"
  messages in Apache's error_log.

* To get lingerd to start automatically under SysVinit, you can put
  an entry in /etc/rc.d/init.d (or similar), with the right symlinks
  in the various rc.number directories.

  Under Linux RedHat or Mandrake, the following commands should do
  the job:

  	cp extra/lingerd.rc /etc/rc.d/init.d/lingerd
	vi /etc/rc.d/init.d/lingerd
	( set the right paths for the pidfile and the executable )
	chkconfig --add lingerd
	service lingerd start

  Alternatively, you could just add the line "/usr/local/sbin/lingerd" in
  your system's rc.local.

