Next Previous Contents

2. Installation

The following discussion assumes that you have obtained the tarball distribution and want to compile and install the FTP-Proxy package from ground up. Let's assume you have received a file named proxy-suite-x.y.tar.gz, where 'x' is the major and 'y' is the minor version number.

  1. Decide where to install and compile the source code. Say you want to install it in /usr/src/proxy-suite-x.y. Then do the following to unpack the source (assuming the tarball is available in the current directory when calling gunzip):
    cd /usr/src
    gunzip -c proxy-suite-x.y.tar.gz | tar xvf -
    
    If you do not have a copy of GZIP, look at the GNU archive or one of its numerous mirrors. It's free.
  2. After unpacking the source you need to run the configure shell script which performs the customization for you operating system and local environment. This script is based upon the GNU AutoConf package. Change your current directory to be the root of the Proxy-Suite:
    cd proxy-suite-x.y
    
    The configure script understands a number of options which control the customization process. To see a complete list of all options simply run:
    ./configure --help
    
    The following options are most likely to be involved:
    --prefix=<directory>
    
    This is the root directory for the installation. If none of the other directory related directives further down is also given, all files will be installed in subdirectories under this one. The default is /usr/local/proxy-suite/.
    --exec-prefix=<directory>
    
    A second top level installation directory, this one is used as the basis for all executables. Defaults to the same as PREFIX.
    --mandir=<directory>
    
    The FTP-Proxy comes with two manual pages: ftp-proxy(8) for the program and ftp-proxy.conf(5) for the configuration file format. These will be installed under the man5 and man8 subdirectories of the given one, or under PREFIX/man if not specified.
    --sbindir=<directory>
    
    The next directory specifies the location where the ftp-proxy executable itself will be installed. The default is EXEC-PREFIX/sbin if this option does not request otherwise.
    --sysconfdir=<directory>
    
    The last directory related option (others may be given, but have no effect) deals with the proxy-suite/ftp-proxy.conf configuration file. Again there is a default if the option is not provided, PREFIX/etc. Please note that the location of the config file can be selected at run time with the -f flag, but if the file is installed at the default location, this flag is redundant.
    --enable-debug
    
    This option allows the generation of debugging output and is mainly included for evaluation (and development) purposes. It is recommended not to specify this option for deployment of the FTP-Proxy into production environments.
    --enable-warnings
    
    If compiling with the GNU GCC compiler, this flag increases the warning level. This is useful to detect programming errors or incompatibilities with the target platform. Our recommendation is to enable it anyway.
    --enable-so-linger
    
    It is strongly recommended to enable this option for all systems. Only if the target does have problems with SO_LINGER handling, it should be disabled.
    --with-regex[=PATH]
    
    This option is mainly needed to provide the location of the POSIX 1002.3 regular expression library if it is not included in the standard C library. Regular expressions are used to scan the arguments of the various FTP commands received from clients. If your system does not include the required support, you can download the latest version from the GNU archive. Again, it's free. GNU RegEx is known to work with FTP-Proxy. If the option is not given, regular expression support is not installed at all and arguments will not be investigated any further.
    --with-libwrap[=PATH]
    
    If running as a standalone background daemon, FTP-Proxy can be instructed to make use of the TCP Wrapper library. If this is compiled in and enabled in the configuration file, the /etc/hosts.allow and /etc/hosts.deny files will be consulted to decide if a client will be served.
    --with-libldap[=PATH]
    
    If you want to supply the user specific configuration values (not the basic ones) via an LDAP directory, compile in LDAP support. The configure script can determine without further manual intervention whether to use the OpenLDAP, the University of Michigan or the Netscape version of the API. OpenLDAP is the preferred API.
    --with-crypt[=PATH]
    
    This option enables support for crypted passwords in user authentication (curently ldap based only). See also the LDAPAuthPWType configuration file option.
  3. After configure has completed successfully, it is now time to run make (GNU make). It will read the Makefile generated by configure in the previous step and perform the compilation process. The program should not display any warnings or errors.
  4. When the executables have been generated, a final call to make install will copy the FTP-Proxy files into their appropriate places. Usually root privileges are required in order to install the files in their proper places.
  5. Currently, you'll have to modify your system manually so that ftp-proxy is run at system bootup or from inetd (depending on which mode you choose in the configuration file or command line). We provide an sample run level script rc.script for (SuSE) Linux; see also description in rc.script.txt.
  6. The last step is the configuration of the installed FTP-Proxy; see following Configuration section.


Next Previous Contents