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.