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.
/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.
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.yThe
configure
script understands a number of options
which control the customization process. To see a complete list
of all options simply run:
./configure --helpThe 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 theman5
andman8
subdirectories of the given one, or underPREFIX/man
if not specified.
--sbindir=<directory>
The next directory specifies the location where theftp-proxy
executable itself will be installed. The default isEXEC-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 theftp-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.
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.
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.