157 lines
7.3 KiB
Plaintext
157 lines
7.3 KiB
Plaintext
|
Instructions for installing the Prospero server:
|
||
|
|
||
|
This distribution includes the source code for the Prospero server and
|
||
|
client.
|
||
|
|
||
|
You must compile this release using ANSI C, since it makes use of the ANSI C
|
||
|
variable-length argument list facilities and of the ANSI prototypes.
|
||
|
A future release may be compilable under both ANSI and traditional C,
|
||
|
using a conversion program. If you feel like modifying the ansi2knr
|
||
|
conversion program to perform such a conversion, we would be delighted
|
||
|
to hear from you.
|
||
|
|
||
|
|
||
|
In order to install the server you will need a user-id to run it
|
||
|
under. I would suggest creating a new account with the name "pfs" or
|
||
|
"prospero" (but this is not required). The account does not need to
|
||
|
be loginable. The directory associated with this user-id will be used
|
||
|
to store shadow information.
|
||
|
Put this in the group you want to run the binaries - we suggest "pfs" or
|
||
|
"prospero".
|
||
|
|
||
|
You may also want to add the following entry to /etc/services. It is
|
||
|
not absolutely necessary to do so since the server will default to the
|
||
|
correct port if this entry is missing.
|
||
|
|
||
|
dirsrv 1525/udp # The Prospero directory service
|
||
|
|
||
|
IMPORTANT: THE FILE plog.h DEFINES THE CONFIGURATION FOR THE
|
||
|
INFORMATION TO BE LOGGED FOR EACH TYPE OF PROSPERO QUERY. AS
|
||
|
DISTRIBUTED, PROSPERO IS CONFIGURED TO LOG LOTS OF INFORMATION,
|
||
|
INCLUDING THE NAMES OF CLIENTS AND THE SPECIFIC COMMANDS ISSUED. THIS
|
||
|
INFORMATION SHOULD BE CONSIDERED SENSITIVE AND YOU MUST PROTECT THE
|
||
|
LOGFILE. ADDITIONALLY, YOU SHOULD CONFIGURE THE SERVER TO LOG ONLY
|
||
|
THE INFORMATION YOU ACTUALLY NEED. THIS CAN BE ACCOMPLISHED BY
|
||
|
EDITING THE DEFINITION OF INITIAL_LOG_VECTOR IN plog.h.
|
||
|
|
||
|
To tailor the server to your systems's configuration, edit the file
|
||
|
include/psite.h and include/pserver.h (this has changed since Prospero
|
||
|
release 4). The definitions that are of particular importance for
|
||
|
this distribution in psite.h are P_BINARIES and P_PATH. Note that
|
||
|
this distribution is intended to be configured as (a remote) part of
|
||
|
the ISI.EDU guest site. Thus, there are few changes to be made to
|
||
|
this file. If you wish to run your own Prospero site (not just your
|
||
|
own Prospero server), you should contact info-prospero@isi.edu to
|
||
|
obtain the proper distribution. If you will be using Kerberos version
|
||
|
5 authentication in your clients, #define P_KERBEROS. If you will be
|
||
|
using Kerberos authentication on the server, define PSRV_KERBEROS.
|
||
|
Note that, at this time, most sites are still using the older Kerberos
|
||
|
version 4 protocol, which this release does not support.
|
||
|
|
||
|
In pserver.h the definitions of imporance are P_DIRSRV_BINARY,
|
||
|
PSRV_HOSTNAME, PSRV_USER_ID, PSRV_LOGFILE, PSRV_ROOT, PSRV_FSHADOW,
|
||
|
PSRV_FSTORAGE, and AFTPDIRECTORY.
|
||
|
|
||
|
If you want to run a Gopher/Prospero gateway on your machine, then
|
||
|
define PSRV_GOPHER_GW in include/pserver.h, uncomment the appropriate
|
||
|
definition of SUBDIR in lib/psrv/Makefile, and uncomment the
|
||
|
appropriate definition of DB_LIBS in server/Makefile.
|
||
|
|
||
|
Next, edit include/pmachine.h. This file defines some of the machine
|
||
|
and OS specific parameters needed by Prospero.
|
||
|
|
||
|
Then edit the top level Makefile. First set any machine-specific
|
||
|
parameters. If you're installing the binaries under HP-UX or another
|
||
|
system which lacks a BSD-like INSTALL, redefine the INSTALL macro as
|
||
|
discussed in the Makefile. If you're on an AIX system redefine the
|
||
|
MACHDEF macro as discussed in the Makefile. If you're on a MIPS or
|
||
|
VAX ULTRIX system, you may also need to define the MACHDEF macro as
|
||
|
discussed in the Makefile.
|
||
|
|
||
|
Now set the installation parameters in the top level Makefile. Set
|
||
|
P_BINARIES to the directory in which the binaries are to be installed.
|
||
|
OWNER and GROUP should be set to the intended owner and group for the
|
||
|
Prospero binaries. TOPDIR is the name of the directory that will
|
||
|
contain the shadow subdirectory. (i.e. if P_FSHADOW is
|
||
|
/usr/pfs/shadow, then TOPDIR should be /usr/pfs). If you will be
|
||
|
using Kerberos version 5, KRB_LIBS and K_INC must be defined
|
||
|
appropriately for your site. This release must be compiled with an
|
||
|
ANSI compiler; therefore, the default is 'gcc'. If you're using
|
||
|
another compiler, you may want to change the definitions of CC and
|
||
|
CFLAGS.
|
||
|
|
||
|
If you are running the server in multi-threaded mode, you must
|
||
|
edit include/pthreads/pthread.h to include the full pathname of files.
|
||
|
|
||
|
If you will be building the PFS compatibility library (which redefines
|
||
|
open and several other library functions), you will have to:
|
||
|
a) remove the definition of P_NO_PCOMPAT from include/psite.h.
|
||
|
b) replace lib/pcompat/Makefile with lib/pcompat/Makefile.pcompat
|
||
|
c) replace app/Makefile with app/Makefile.pcompat
|
||
|
d) In addition, some systems will require a change to the SC_REDEF variable
|
||
|
definition in app/Makefile.pcompat.
|
||
|
|
||
|
Next, move back to the top level directory for the distribution and
|
||
|
type 'make'. Once the distribution has been successfully built, type
|
||
|
'make install'. If you are running a previous release of Prospero,
|
||
|
rename P_BINARIES to P_BINARIES.old before you 'make install', and
|
||
|
keep P_BINARIES.old around for a while in case you need to revert to
|
||
|
the previous version of Prospero.
|
||
|
|
||
|
The program pstart figures out the appropriate arguments for the
|
||
|
server, sets its UID to that under which the server is to run, and
|
||
|
starts dirsrv. By making pstart setuid and setgid to the ID under
|
||
|
which the server will run, any user will be able to start/restart the
|
||
|
server. You should start the server whenever your system is booted.
|
||
|
pstart may be called from the system startup. It will immediately set
|
||
|
its user and group IDs to that for the server.
|
||
|
|
||
|
If you are running a pre-version-5 prospero server in other than read
|
||
|
only mode, you will need to convert your old directory shadow
|
||
|
hierarchy to the new file format. Instructions for doing this are in
|
||
|
server/shadowcvt.doc. If your old server was read only, you do
|
||
|
not need to do this conversion.
|
||
|
|
||
|
The directory app contains the code for versions of cat and ls which
|
||
|
may be linked with the compatability library. Other programs may also
|
||
|
be linked with the compatability library, but filenames hardcoded into
|
||
|
those programs (or the libraries they call) might be resolved using
|
||
|
Prospero, causing unexpected behavior if those names do not identify
|
||
|
the same files in the active virtual system.
|
||
|
|
||
|
The directory "doc" contains the source to (a) a manual on using the
|
||
|
Prospero file system, (b) a manual describing version 5 of the
|
||
|
Prospero protocol, and (c) a terse description of the functions in the
|
||
|
Prospero library. The file "getting-started.txt" in that directory
|
||
|
contains enough information to get started. The file ".virt-sys" in
|
||
|
that directory contains a reference to a guest virtual system at the
|
||
|
USC Information Sciences Institute. This may be copied to your home
|
||
|
directory. If you would like your own virtual system contact
|
||
|
pfs-administrator@isi.edu.
|
||
|
|
||
|
Bug reports should be sent to:
|
||
|
|
||
|
bug-prospero@isi.edu
|
||
|
|
||
|
Requests or queries about the release should be sent to:
|
||
|
|
||
|
info-prospero@isi.edu
|
||
|
|
||
|
Requests for creation of virtual systems stored at the USC Information
|
||
|
Sciences Institute guest site, or requests to establish one's own
|
||
|
Prospero site should be sent to:
|
||
|
|
||
|
pfs-administrator@isi.edu
|
||
|
|
||
|
A public mailing list has been set up for discussion of Prospero.
|
||
|
Among other things, this list can be used to announce directories of
|
||
|
information that users have created and wish to share. The name of
|
||
|
the list is:
|
||
|
|
||
|
prospero@isi.edu
|
||
|
|
||
|
Requests for addition or deletions should be sent to:
|
||
|
|
||
|
prospero-request@isi.edu
|
||
|
|