Setting up your own FTP server

There will come a time in your life when you feel compelled to give something back to the people who have helped you acquire the immense treasure trove of software freebies you have accumulated over the years. What better way to do this than to offer your own hard drive on a silver platter to anyone who wants it? While actually giving away your physical drive would be a very friendly gesture and one which I’m sure would be greatly appreciated, this isn’t quite what I mean. What I do mean is that you can allow people to remotely connect to your computer over the internet and download whatever they like. Although at first this may sound like a risky business, providing you use the right software and set up your server correctly you will have no need to worry about people gaining access to anything you don’t want them to see. It’s your server so you set the limits.

As usual you will need a specific tool for the job, and in this case that tool is Serv-U. There are other alternatives available, but this one is my personal favourite. If once you have learnt how to use Serv-U, you find that you aren’t comfortable with it you can port your new found skills to War FTP or Bullet Proof FTP Server instead, both of which come highly recommended.

Once you have downloaded and installed the trial version of Serv-U, locate its shortcut in your start bar and run the program. As the program loads you will be presented with a status screen. Amongst the information you will be alerted to, such as the version number and copyright information of your software you will find a reference to your IP address and port number. It is wise to keep a note of these details because without them you will not be able to tell people how to connect to your server. The fact that Serv-U has been able to identify your IP address indicates that your computer is online and is capable of accepting remote connections, but don’t share those all important digits just yet – you have a few configuration settings to adjust first.

To get started, click on the ‘setup’ button, which is located in the menu bar of the program. When the list of options expands, scroll through them until you come to ‘ftp server’ and click on it to open the server setup dialog box. This is where you get the chance to setup your FTP server exactly the way you want it. Some of these options you can leave alone, the port number for example is best left set at 21 (the default setting for any FTP server). Other options that will require tweaking include the maximum speed users are allowed to download at and the maximum number of users permitted to connect at once. These options both allow you to tailor your server to the speed of your internet connection. You will have to consider this carefully. Obviously if you only have a 56k slowdom you won’t want hundreds of people accessing your computer all at once, that would be no use to anyone. On the other hand a faster connection will allow you to offer access to many users simultaneously whilst maintaining a reasonable bandwidth to user ratio. A good rule of thumb is to think about the speed you would be happy downloading at and then adjust your settings accordingly.

Another thing you will need to do now is set the location of the text file you wish people to view whenever they connect to your computer. This should contain any information regarding server uptime/downtime, usernames and passwords, rules and regulations etc etc. If you want an example of what not to do when setting up your server check out one of the ratio sites at www.wickeddownloads.com. And lastly it is a good idea to set some limits on the number of times a single user can attempt a connection to your computer within a certain period of time. This will prevent people from hammering your site in order to gain access as soon as another user logs off, freeing up one of your allocated connections.

That just about covers all the changes you will need to make in the ‘setup server’ menu so click on the ‘OK’ button to return to the main menu. The next step is to setup at least one username and password configuration which you can hand out to anyone you wish to permit access to. To do this click on the ‘setup’ button once again, but this time choose the ‘users’ option. The first thing to do is enter a username and password in the… yes, you’ve guessed it, the boxes that say ‘username’ and ‘password’. These can consist of anything you like, but remember that they are case sensitive. This means that the password ‘lemmein’ is not the equivalent of the password ‘LeMmein’. Next you will have to select a ‘home’ directory. This is the first place where your users will touch down when they connect to your computer. Obviously it wouldn’t be very wise to let everyone have full control of your PC because they could wipe out your hard drive, delve into your private documents, upload viruses or, well, do anything they like really. For this reason I would recommend creating a new directory, which will contain only the files you wish remote users to have access to. For the sake of simplicity call this ‘ftpserver’ and enter it into the ‘home directory’ dialog box.

Your final task is to decide which permission attributes to associate with your directories. To do this, click on the ‘add’ button from within the ‘file/directory access rules’ area of the ‘setup users’ window and select the directory you chose as ‘home’ earlier. To complete the process you will now have to put a tick in all the relevant boxes. In the directory you want people to be able to browse and download from it would make sense just to tick the ‘read’ box from the ‘files’ section, the ‘list’ box in the directories section and the ‘inherit’ box in the the ‘sub dirs’ section (this enables people to view the sub directories within your home folder). This ensures that people can download whatever they like, but cannot remove anything that is already there or add anything new. If you also want people to be able to upload files, you are best advised to create a new directory called ‘uploads’ and change the permission attributes accordingly. In this case you will need to tick the ‘write’ box in the ‘files’ area, the ‘make’ box in the ‘directories’ area and the ‘inherit’ box in the ‘sub dirs’ area (again so people aren’t left fumbling in the dark).

You now have the choice to use one configuration for all your users, or to give each individual user different access rights. The process is exactly the same no matter how many different username and password combinations you decide to setup so if you wish to add more just retrace the steps above until you’re happy with your setup.

Sharing is the name of the game, so in typical Robin Hood style, all that remains to be done now is to share your IP address with the rest of the world… or at the very least with a handful of carefully selected, trustworthy technophiles.