ProFTPD 0.99.x Installation Instructions
----------------------------------------


ProFTPD is designed to be configured for compilation on the target system
via the GNU autoconf tool.  A single shell script, named 'configure' in
the source distribution root directory will analyze your system and create
a 'config.h' file which *should* be allow proftpd to compile cleanly.  On
some systems it may be necessary to manually tweak config.h and/or the top
level Makefile.

ProFTPD includes a support library in lib/ which contains optional GNU
code used in the main executable.  This library is compiled and linked in
on all systems, regardless of whether or not a routine is actually needed
on your system.  You can #undef one or more of the following macros in
config.h to force your compiler to build support for the related
functions:

HAVE_FNMATCH		/* #undef if you don't have a working fnmatch() */
HAVE_GETOPT		/* #undef if you don't have a working getopt() */
HAVE_GETOPT_LONG	/* #undef if you don't have a working getopt_long() */
HAVE_STRSEP		/* #undef if you don't have a working strsep() */

Again, the configuration script *should* automatically detect the
presence of said functions in your libc; only tweak these if necessary.

The include file include/options.h contains a number of easily tweakable
compile-time options which affect proftpd's operation.  These are NOT
modified by the configuration script.  Each option is documented in the
header file.

Once everything looks good, try running 'make' from the top level source
directory.  In a perfect world (grin), everything will compile smoothly
and you'll end up with a working proftpd binary.  If you run into
problems, your OS may not be supported and you'll have to do some porting
work yourself.

Next, run 'make install' from the top-level dir.  This installs the
proftpd binary into /usr/sbin, and the support programs 'ftpwho' and
'ftpcount' into /usr/bin.  The default installation directories can be
changed in the top level Makefile.  Files are installed root-owned, so
you'll have to be root in order to run 'make install'.  Absolutely NO
binaries are setuid/gid by the installation procedure.

Finally, you'll need a configuration file as (by default)
/etc/proftpd.conf.  You can copy the sample-configurations/basic.conf as a
starting point.  You'll probably want to modify this file extensively to
support your needs.  Again, full directive reference information is
available at http://www.proftpd.org.

Once the binaries are compiled and installed, you'll need to decide *how*
you are going to run proftpd.  You have two choices: either run it as a
standalone daemon (edit your startup rc files as necessary), or let the
inetd super-server start it automatically whenever a new ftp connection is
established to your box.  In order to configure inetd to start proftpd,
you'll need to modify your system's inetd configuration file (typically in
/etc/inetd.conf).  For example, if your inetd.conf contains a line similar
to:

ftp stream tcp nowait root	/usr/sbin/in.ftpd in.ftpd -l -a -u022

you would replace this with:

ftp stream tcp nowait root	/usr/sbin/proftpd proftpd


ProFTPD can also be used with tcp wrappers, i.e.:

ftp stream tcp nowait root	/usr/sbin/tcpd    proftpd


Good luck!  If you run into problems with configuration, *check your
syslog*.  Proftpd logs all error conditions it encounters, including
parsing problems with one or more configuration files.

   Bug reports: bugs@proftpd.org
Latest Version: finger proftpd@proftpd.org
           WWW: http://www.proftpd.org
           FTP: ftp://ftp.proftpd.org/distrib
