
           -------------------------------------------
Module mod_lock

RD-LV-002-052197
-----------                                          -----------------------

Introduction

     This small module allows to conditionaly lock a part of a web server by
     just creating a file in a predefined location. This feature is useful
     for system maintenance on multi VirtualHosted systems.

Download mod_lock.c

Configuration

     Integrating into Apache - compiling and linking

     To link the lock module with Apache, you must rebuild Apache from its
     sources with adding mod_lock in the configuration file:
       1. Copy mod_lock.c in Apache sources' directory
       2. Edit Configuration file according your installation
       3. Run the Configure script to rebuild the makefile
       4. Build Apache by typing make
       5. Install the brand new httpd program
       6. Edit the web server configuration files (typically httpd.conf and
          access.conf)
       7. Restart the web daemon

     Example of a Configuration file

     ...

     Module mime_module         mod_mime.o
     Module access_module       mod_access.o
     Module auth_module         mod_auth.o
     Module negotiation_module  mod_negotiation.o
     Module includes_module     mod_include.o
     Module dir_module          mod_dir.o
     Module cgi_module          mod_cgi.o

     ...

     #
     # Miscellaneous modules
     #

     Module lock_module       mod_lock.o

     httpd.conf Directives

          SetLockFile filename
               default value: none
               context: Directory or Location
               effect: Enables the conditional lock for a location. The web
          server will check for the existence of the file each time it will
          access the concerned documents. If it finds it, it will return a
          503 (Service unavailable) HTTP status code.
               remarks: if filename is a null string (""), conditional lock
          will be disabled for this class of documents.
          LockBypass host1 host2 ...
               default value: none
               context: Directory or Location
               effect: Allows access from an host, even if locked.
               remarks: hostnames can be either real hostnames (www.hp.com)
          or domain names (.hp.com).

     Example

     <Location />
     SetLockFile /www/locks/root
     LockBypass support.hp.com .grenoble.hp.com
     ErrorDocument 503 /maintenance.html
     </Location>

Known bugs

       1. wrong access rights can confuse the test of the lock file ('access
          denied' is equivalent to 'not found').
       2. webuser (the user who runs the web daemon) should have read access
          to the lock file to avoid this behaviour.
           This software is in its first beta phase, please do not hesitate
                            to send any comment, remark to

                          vincent@hpwww.ec-lyon.fr
