Installing an FTP server with IIS
Note: IIS is not available under Windows XP Home edition, only Professional.
- Presentation and reminders
IIS is an abbreviation of Internet Information Services. It is a group of communication tools that contains different servers:
-
A web server: HTTP
-
News server: NNTP
-
An outgoing mail server: SMTP
-
A programming language for web servers: ASP (Active Server Page)
-
An SSL certificate generator
-
An FTP server.
The last on the list is the one that we are interested with for this tutorial.
IIS has been integrated into Windows since NT 4.0, with the Option Pack installation available here as version 4.0.
It is also now standard in Windows 2000 and XP (Pro) in version 5.0.
The placement of a HTTP web server on the internet should only be done if your internet connection is of a sufficient speed. An ADSL or Cable connection is strongly recommended.
The installation of an IIS FTP server requires a high level of security and should only be done on an NTFS partition (although you should always be using an NTFS parition as FAT doesnt offer any great advantages).
The NTFS system allows Windows to manage the permissions on files and quotas on individual users. In the event of a system crash, your files will be safer then on FAT.
I also recommend that you dedicate a complete partition to your FTP server with a suitable size for the amount of data that you want to host. If this isnt possible, you can also use any folder that you want. If your partitions are FAT and you want to convert them to NTFS then this can be done by reading this tip. The conversion will not be done instantly but will be performed at the next reboot.
A small reminder about FTP:
FTP is a file transfer protocol (defined in RFC959, displayed here).
It is a protocol that has been optimised for the exchange of files between users.
Like with all exchange protocols, there are two parts: the server and the client.
The server listens on a TCP port (by default, 21 is the FTP control) and waits to see if any clients connect. Once connected, the client can send or recieve data that the server has made available by using TCP port 20 which by default is called FTP Data.
Now you should know how an FTP server functions.
We will now look at the implementation of our server. We imagine that the computer that is being used as the FTP server is directly connected to the internet and is not on a local area network. If you are behind a router then you will need to let it know about ports 20 and 21 so that your machine can share the connection.