Step-by-Step: Serv-U FTP Server - Install and Setup
June 27, 2004

Sept 12, 2004 - Update - I modified this guide so that instead of using port 20 and 21, the FTP server now should run on a different port number.  This is for security reasons since the default port 21 is very often scanned by hackers.  By using a different FTP port number, you are much less susceptible to having your FTP server hacked.

Running a FTP server from home on DSL or Cable modem can be difficult.  The reason is that most FTP servers are written for computers that are directly connected to the internet, while most people who run FTP servers from home, do so from behind a router.  It is a bit more complicated to run a FTP server from behind a router, but follow along and you'll have one up in no time.

Before we start, I would strongly advise you not to use IIS for a FTP server for several reasons.  First of all, IIS doesn't have enough settings to run a FTP server from behind most routers.  The resulting FTP server may have spotty connections.  Second, IIS FTP server is highly targeted by hackers out there.  The reason is that there are a ton of people out there who have IIS installed (knowingly or unknowingly) and most of these are unsecured.  It's a popular target.  By using a 3rd party FTP software, it is less likely to be exploited.  In this example, I'll show you how to setup Serv-U Personal which is FREE for individuals.  There are many different paid versions of Serv-U, but for most people the Personal edition should be plenty.

Serv-U Personal is capable of the following: 

  • One domain with a maximum of 2 concurrent connections 
  • No more than 5 user accounts 
  • No directory mapping or links 
  • No UL/DL ratios, quotas, or remote administration 
  • You may use Serv-U Personal for as long as you wish. However, consider purchasing a Registration ID for the Standard or Professional edition so that you can enjoy all of the features and expandability Serv-U offers. 
Download Serv-U from here: Serv-U Download

You have to enter your name and email and then they will send you a link to the download.  Download the file according to their instructions.

This guide is uses Serv-U Version 5.0.0.4 as an example.

Double click on the file to begin installation.

You'll see this welcome screen.  It warns if you have an older version of Serv-U installed, you need to backup your Serv-U directory.  Click "Next".

 

Read the Read Me file.  Click "Next".

 

Read the License Agreement and agree to it.  Check the box and click "Next".

 

Here you choose the installation directory.  Default is fine.  Click "Next".

 

Here you choose the components to install.  Default is fine.  click "Next".

 

Here you choose the Program Manager group.  Default is fine.  Click "Next".

 

We are now ready to install.  click "Next".

 

Installation is now done.  Click "Close".

 

Now that installation is complete, we have to configure the program.  At this screen, you can leave it at default.  Click "Finish".

 

A Setup Wizard begins.  Click "Next".

 

Show menu images.  Default is fine.  Click "Next".

 

Start local server.  Click "Next'.

 

You enter your WAN IP address here, not your LAN IP address.  If you have a dynamic IP address, you can leave it blank.  Click "Next".

Enter your domain name here.  For this example I'll use "temphost.com".  Click "Next".

 

Here you have the option as running Serv-U as a service.  Default is "No".  You should change it to "Yes".  Click "Next".

 

Here you choose whether or not to allow anonymous access.  Default is "Yes".  This depends on your situation and what you are using the FTP server for, but in most cases, I would put "No".  If you want to distribute files freely to the world, you want anonymous access.  If you want to us FTP to update websites and access private files, you do not want anonymous access.  Click "Next".

 

Create a named account?  Yes, we want to do this.  Click "Next".

 

Type in the name of the account you want to create.  Click "Next".

 

Type in a password for that account.  Don't peek.

 

Here you select the Home Directory that the user is placed immediately after logging into the FTP server.  If you are using FTP to manage your website, I usually like to have the FTP directory one level up from the website directory so that I have kind of a "staging area" to move files around and test things.  Click on the file cabinet icon to browse to the directory you want to FTP into.

 

Here you specify whether or not you want the user to be confined to his home directory.  If the account is for somebody that needs that privilege, go ahead and grant it.  If the account is for a guest and they don't need to explore, deny it.  Click "Next".

 

Here you grant admin privilege.  Grant as necessary.  If you're the only user, select "System Administrator".  Click "Next".

 

The Wizard is now done.  Click "Finish".

 

Allright, let's configure the program.  Double-click on the Serv-U icon on your desktop or system tray to open the Serv-U control panel.

Navigate to: Serv-U Servers --> << Local Server >> --> Domains

Click on the domain name you entered during the setup wizard.  In this example, it's "temphost.com".

Since the FTP port is oftentimes port scanned by hackers, it is a good idea to change the port number of your FTP server.  The default number is 21, but in this example, we will change the port number to 28, which is a generally unused port number.

Serv-U is designed to work with static IP addresses and dynamic ones as well.  However, we can configure the Serv-U with dynamic DNS even if we have a static IP number since it does effectively the same thing.  From here on out, I'm treating static and dynamic IP's the same.

So, check the "Enable dynamic DNS" box regardless if you have a static or dynamic IP address.  Trust me.  I confirmed this with Serv-U tech support.

 

Now a "Dynamic DNS" Tab appears.  Click on that tab.

 

Type in the domain name that you have.  Then hit "F5".

 

What just happened is that Serv-U looked for the IP address associated with your domain name.  If you have a static IP address, the IP number will be the same.  If you have a dynamic IP address, the IP number could vary once in a while.  You don't have to hit F5 each time, Serv-U will keep track of changes in IP number associated with your dynamic DNS service.  Also, you don't need to use DNS4Me which is their own dynamic DNS service.  You can use which ever dynamic DNS service you like.

OK, now we have to configure Serv-U to work behind a router.

Under << Local Server >>, click on "Settings".

 

Click on the "Advanced" tab. Under PASV port range, enter 2000 - 2010.  Click "Apply".  Do not forget this step!

 

Now we have to setup the router. 

You need to forward port 28 and 2000-2010 to the local IP address that Serv-U is running on.

 

Now Serv-U should work!  There you go, a FTP server!

There are many more features of Serv-U that you can play with.  This guide is meant to just get you up and running.

Now for your FTP client.  By default, your FTP client will try to connect to port 21.  You have to manually change it to port 28.  Also, make sure your FTP client is set to passive mode.  These two steps are necessary for the FTP client to connect to the FTP server.

By not using the default port 21, your FTP server is much more secure now.  People won't know that you are even running a FTP server.

Brian
 



Step-by-Step Menu

Additional Information

Resources: