Setting Up Your Hardware

This page gives a few pointers in choosing the right hardware for the FTP server and also how to configure a router or firewall.

Routers and Firewalls #

Most connections to the Internet usually involve either a router and/or firewall. If one is present then you will need to configure it to allow certain ports through to the FTP server. This usually involves either accessing the software (if it's a software router or firewall) or accessing a HTML interface (if it's a hardware router or firewall). Here you will have the option of choosing a port to accept connections on and a destination computer and port which the connection will be routed to. For the FTP server to function correctly, the list below describes the default ports which may require forwarding.

Service Port Implicit SSL Port
FTP 21 990

If you have changed any of the ports then you will need to use your new port values instead. Also, if you have set any ports to bind to a particular IP, you must ensure that the destination computer information for the port forwarding is set to the correct IP. If the FTP server is behind a router then it is always a good idea to enter the routers IP into the FTP server. This will ensure that PASV mode transfers are negotiated to the correct IP for 'over the Internet' transfers.

Minimum Hardware Requirements #

Surprisingly, a server doesn't necessarily have to be a high specification machine. You could minimally host your FTP with the following:

1GHz or Higher CPU
2 GB RAM
100GB Hard Drive
Broadband Internet Connection

The main thing that needs to be fast is the Internet connection. However, with a lot of traffic coming into your server you may find a higher specification server more effective. A better configuration could be:

2GHz or Higher CPU (dual or quad core)
4GB High Speed RAM (possibly more with a very busy server)
500GB High Speed Hard Drive (possibly more when storing a large amount of files)
High Speed Broadband Internet Connection (the faster the better)

Memory Considerations #

It's very important to have enough memory on your server as busy servers will always perform much quicker with plenty of memory. Most of the important application data is usually stored in memory. Therefore, the more memory you have, the more applications you can safely run. If your server starts to run low on memory, it will start to use the hard drive more. This is often referred to as page file memory and usually results in the system slowing considerably. If the computer has a good amount of memory, commonly accessed files on the hard drive can be 'cached' into memory to improve general performance. This is intended to help reduce the bottle neck of hard drive access, which compared to normal memory access is very slow. Also, once a system starts to run low on memory and page file use is increased, the system becomes more unstable and is more susceptible to crashes. The 'bottom line' is: 'More memory means a more stable and efficient server'.

Hard Drive Performance #

To add to the above memory considerations, it is worth noting that with a very busy server, the hard drive is often responsible for bad performance. Ensuring a fast Hard Drive (at least 7200RPM) is a key element of your server's hardware configuration. Additionally, if the server begins to make more use of page files, then a good hard drive will help maintain performance under exceptionally large demands.