II.c Set up the Data Directory ------------------------------ Now set up a Gopher data directory. This and its subordinate subdirectories will be the primary location for documents and menus (pointer files to documents, commonly know as .links). Normally, only files and directories with null device specifications in their path names are honored by the server for display. If a device specification is part of a client-supplied filespec, it must specify the Gopher data directory device. The only information that is transmitted to the outside world is what's in the Gopher data directory and its subdirectories, unless you choose to point to a directory or file elsewhere by explicitly naming it in a menu specification. Specification of a non-null device in a filespec, which does not exactly match the Gopher data directory's device, requires special handling discussed in section VI.c below. Create the directory, and protect it as you feel appropriate. ACLs are recommended to allow users to maintain the root directory and its subdirectories, allowing management of the documents and menus by the appropriate data custodians. There should be a general user with full and complete access, such as the designated system "Gopher Administrator," who maintains the root directory and can fix things the less privileged data custodians might have broken. Say that your Gopher data resides in a directory called DSA0:[GOPHER_DATA]. Define an OpenVMS Logical for this: $ DEFINE/SYSTEM/EXEC/TRAN=CONCEAL/NAME=NO_ALIAS/NOLOG - GOPHER_ROOT DSA0:[GOPHER_DATA.] In a VAX Cluster environment, this need only be done on the nodes where: (1) The Gopher Server daemon will be running (2) The data custodians will be managing the documents. The definition of this logical needs to be done during node startups. To make this easier, modify SETUP_GOPHER.COM to create this logical, then call it from your system startup file where appropriate. You will also need to define GOPHER_EXE for your site in SETUP_GOPHER.COM. Remember to specify the logical named this way in your configuration file later, as in DataDirectory: GOPHER_ROOT:[000000]. If you specify the actual name, DSA0:[GOPHER_DATA.], then any client will be able to retrieve any file found on the DSA0: device! .