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:
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.
FTP PORT NUMARASINI 21 YERİNE DEĞİŞTİREREK 28 KULLANMIŞ YÖNLENDİRME İŞLEMİNİ 192.168.1.40 IP NUMARALI BİLGİSAYARA YAPMIŞ. FTP SERV-U NUN KURULU OLDUĞU BİLGİSAYARA
3389 UZAK MASAÜSTÜ YÖNLENDİRME PORT NUMARASI
80 İNTERNET EXPLORER YONLENDİRME PORTU
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