Next Previous Contents

2. Installation and Configuration

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:
    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. Once you have unpacked the source, you will want 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 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-proc-mods
    
    This is a special option for the Linux operating system. It enables the compilation and use of a special module that will be installed into the Linux kernel and installs a /proc/net/ftp_proxy file where FTP-Proxy will write status to. Other applications can read this file and see a snapshot of current FTP-Proxy activities and statistics.
    --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.
    --enable-rfc1579
    
    RFC 1579 is the "Firewall Friendly FTP" proposal. A new command APSV (All Passive Mode) is introduced, which permanently switches the server into passive mode. Clients do not have to specify PORT or PASV commands any more, and a new response code for transfer commands is defined: 151. This code carries the port assignment which would normally be announcd with the 227 response code.
    --enable-rfc2428
    
    RFC 2428 deals with IPv6 protocol elements and defines two new commands, EPRT and EPSV, which stand for "Extended Port" and "Extended Passive" and define the IP address and port formats to be used in an IPv6 environment.
    --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 University of Michigan or the Netscape version of the API.
    --with-ssl[=PATH]
    
    This option is not supported at the moment.
  3. After configure has completed successfully, it is now time to run 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).

  6. The last step is the configuration of the installed FTP-Proxy. For a list of the valid configuration options consult the ftp-proxy.conf(5) manual page and the sample configuration file ftp-proxy.conf.sample file which comes with the distribution.


Next Previous Contents