Linux Help

ProFTPd Setup Guide   
Printable Version

Joey's ProFTPd Setup Guide
Created on March 18th, 2000.
Last updated on March 19th, 2000.

ProFTPd is a nice alternative to the wu-ftpd server, which normally ships as the default FTP server with Linux. The thing I enjoy about ProFTPd is the simple configuration file (/etc/proftpd.conf) that allows you to fully customize your FTP server.

First off, you will want to remove any FTP servers currently installed to minimize any conflicts. The default server for most distributions of Linux is wu-ftpd.

If you run Red Hat Linux and chose to have an FTP server installed, or have manually installed the RPM version then remove it with "rpm -e --nodeps wu-ftpd".

If you run a Debian GNU/Linux based system and have it installed, you can remove it by running dpkg -r wu-ftpd

Next, you will need to download ProFTPd. The current version at the time of writing is 1.2.0pre10 and is available at ftp://ftp.proftpd.net/pub/proftpd/proftpd-1.2.0pre10.tar.gz

Once you have downloaded the tarball, move it into /usr/src and untar it by running the following command:

tar -zxvf proftpd-1.2.0pre10.tar.gz

It will then extract the all the files into a directory called proftpd-1.2.0pre10 Now, go into the newly created directory and run the following commands:

./configure

make

make install

ProFTPd will then test your system for other dependancies it needs and if there are no problems, it will then compile and install itself onto your machine.

Next you will need to edit one of the files in the /usr/src/proftpd-1.2.0pre10/sample-configurations/ and then proceed to move it to /etc/proftpd.conf. Which file you use depends on what kind of FTP server you want to run. Generally, most use the basic.conf so I will use that one for the examples.

Using basic.conf, run

cp /usr/src/proftpd-1.2.0pre10/sample-configurations/basic.conf /etc/proftpd.conf

Once that is done, open it up with your favorite text editor and you will probably want to edit the following:

ServerName                      "ProFTPD Default Installation"

This is what is displayed when the user attempts to log into the FTP server. You can change this to "Joe's FTP Server" etc..

# Port 21 is the standard FTP port.
Port                            21

If you want to change which port the FTP server runs on, this is the place to do it.

# Limit the maximum number of anonymous logins
MaxClients                    10

Again, editing this might be a good idea especially if you are on a 56k, having 10 people downloading off you at once might not lead to a pleasant afternoon.

Once you have edited /etc/proftpd.conf, save and exit the file. Now you will need to put a couple of lines into /etc/hosts.allow if you want to grant people access to the FTP server. I am assuming you have "ALL: ALL" in /etc/hosts.deny and refuse outside connections to all your services like all the little good boys and girls do. In /etc/hosts.allow you will need to add one of the following lines:

If you want everyone to be able to access the FTP server.

ftpd: ALL

If you want to allow people from .somehost.com to access the FTP server.

ftpd: .somehost.com

If you want to allow 199.14.55.4 to access the FTP server.

ftpd: 199.14.55.4

Once that is all done, you can start ProFTPd by running:

/usr/local/sbin/proftpd -c /etc/proftpd.conf

That should send the ProFTPd daemon into the background without any errors. Now for the ultimate test, try and connect to the server. Remember if you changed the port to ftp to the correct port or your connection will be refused. You should see something like the following:

Connected to ftp.somehost.com
220 ProFTPD 1.2.0pre10 Server (FTP Server) [ftp.somehost.com]
Name (somehost.com:lyte):

Now you will probably want ProFTPd to start at boot time, to do this you can add the following line that executes the daemon into your boot scripts.

/usr/local/sbin/proftpd -c /etc/proftpd.conf

For Debian GNU/Linux systems, you will need to place the line into /etc/init.d/rcS
For Red Hat Linux based systems you will need to place the line into /etc/rc.d/rc.local


Having trouble? Got questions? Require further assistance? If so please feel free to visit our Help Forums and ask the experts!


Copyright © 1997 - 2014 Private World Domination Inc. All rights reserved.
Linux is a registered trademark of Linus Torvalds. All other trademarks and copyrights are the property of their respective owners.
| Contact Us | Link to Us | RSS Feed | Staff |

DNS Hosting by easyDNS