![]() |
![]() |
![]() |
- Professional FTP Daemon - |
What is ProFTPD? |
ProFTPD is an FTP daemon for unix and unix-like operating systems. ProFTPD is developed, released and distributed under the GNU Public License (GPL), which basically establishes it as free software, meaning that it may not be sold (although charges may be levied for distribution and media), and that it may not be distributed without full and complete source code (or that full and complete source code must be made available from all sites that distributed pre-compiled binaries). ProFTPD is designed to be advanced, incredibly configurable and secure. |
Why yet another FTP daemon? |
ProFTPD grew out of the desire to have a secure and configurable FTP server, and out of a significant admiration of the Apache web server. There are currently a very limited number of FTP servers running on unix (or unix-like) hosts. The most commonly used server is probably wu-ftpd. While wu-ftpd provides excellent performance and is generally a good product, it lacks numerous features found in newer Win32 FTP servers, and has a poor security history. Personally, I (the originator of the ProFTPD project) have spent a good deal of time hacking wu-ftpd in order to fix bugs and try to add features. Unfortunately, it quickly became clear that a complete redesign was necessary in order to implement the configurability and features desired. ProFTPD is not a hack based on any other server, it's an independent source tree from the ground up. In addition to wu-ftpd there are a couple of other FTP servers available which are designed to be light-weight and secure, at the expense of configurability. For example, Troll FTP is an excellent FTP daemon which is considerably more secure and less resource intensive than wu-ftpd. Unfortunately, while it is quite suitable for basic FTP services, it does not offer the feature set required for more sophisticated FTP sites. ProFTPD offers the following features (at it's current release level, more planned soon!):
|
What ProFTPD is not. |
ProFTPD is not light-weight, and isn't intended to be. ProFTPD is designed to be powerful, for the FTP administrator who needs a powerful, configurable and secure FTP daemon. This isn't to say that ProFTP developers don't attempt to optimize and reduce code bloat, but our emphasis is on speed and functionality rather than minimizing resource usage. ProFTPD doesn't implement the following FTP features, generally because they are unnecessary on the modern Internet. Such features will not be supported, unless there is a specific unforeseen need from the ProFTPD user community:
|
Which Operating Systems are supported? |
ProFTPD currently supports the following Unix and "unix-like" operating systems:
Yes, this list is small. :-) ProFTPD was developed under Linux, but isn't restricted to Linux. If you are interested in porting to another OS, please do! Check out the development page. |
How do I get, configure and install ProFTPD? |
ProFTPD is available in (up to) four different flavors: production release ("stable"), development release ("experimental") and possible patchlevel releases ("interim"). Check our download page for current version information and download links. Once you have
retrieved the distribution tarball file, you'll need to
untar it via: This will unpack the distribution source into a
directory such as "proftpd-1.0.1". Change into
this directory and scan the README and INSTALL text
files. Your next stop will probably be to run the
configure shell script and finally run: This will install the binary into /usr/sbin and default configuration file into /etc. You can change these directories by modifying Makefile in the source root directory. Once installed, you'll need to edit /etc/proftpd.conf to suit your tastes, and possibly modify your inetd configuration (if you wish to run proftpd in inetd mode). The default configuration file will be suitable for basic FTP server needs, however you'll need to modify it in order to implement virtual servers, additional anonymous/guest accounts, etc. For more configuration information see the configuration page. For configuration directive information see the proftpd reference page. |