newsletters
links

essays

  





Setting Up and Using Your Own FTP Server:
Added convenience for you and your clients

by Bill Dhalle

While not really an art or design topic, this article will show the benefits of running your own FTP server as a value added feature of your design business, and the basics of setting one up. I’ve had my own FTP server running for several month snow, and it’s become a valuable asset that my clients keep thanking me for.

How many times have you lived this scenario: You're working on a project (let's say it's a poster), less than a day or two from your deadline. The pressure is on. Suddenly, the phone rings. It's your client, calling to tell you that (for whatever reason), the photo they supplied you to use in the design, can’t be used now. They have a replacement photo (a 140MB TIF file) for you to use, but in order to get the project finished in time, you need to get that file today. You look at your schedule, and decide that you don't have time to swing by their office to pick a CD. But that doesn't matter, because the only person there who knows how to burn a CD is out sick. They want to email it to you, but you know that your email account won't handle attachments that large. What do you do? Three letters: FTP.

If you've ever uploaded website files to a web server, you've used FTP. FTP stands for File Transfer Protocol, and is the general method used to transfer website files from your computer to a web server for use on the Internet. If you have an old computer that you're not using, and a cable or DSL Internet connection, you've got the makings for setting up your own FTP server. You WILL need a broadband connection, like cable or DSL: Dial-up Internet accounts that use standard telephone lines don’t really work for running any sort of server. The data transfer speeds are too slow, and the Internet connection on the server needs to be constant for people to be able to access it. Not only would you be tying up your phone line, but most dial-up accounts will automatically disconnect after several minutes in in activity.

Using your own FTP server, you will be able to send and receive large files to and from your clients, adding a valuable service and some added convenience. But I know you asking yourself:

Why would I need an FTP server?
Your first thought might be to simply email any files that you or your clients may need, but bear in mind the size of the files you're working with. Just about any email account (unless you're using a mail server that you own and operate) sets a limit on the size of the files you can send as attachments. So, there's a good chance that the 10MB PDF proof you want to email to a client will get rejected by their server, because it is too big, and get bounced back to you. Plus, some people simply don't want to email or receive files that large. And we all have run into the random huge Photoshop file that ends up being 40MB+. That's a HUGE file to try and email.

So you're saying, “My client can just burn it to a CD and give it to me”. Yes, they can....provided they have a CD burner. And you still have to make arrangements to meet with them to pick it up. There are always going to be situations where meeting a client just to pick up a CD isn't feasible. Living in upstate New York, there are always times during the winter where such meetings get canceled due to the weather, and a project gets delayed. Using FTP, you can still get the files you need to get the job done.

If you have a web hosting account, it IS possible to use the server space associated with your web account, but there are several things to consider that make running your own FTP server a more viable option. For clients to access your hosting account, you'll need to give them the password and user ID to your account: not exactly something I recommend. So, unless you want your clients and the entire world to have access to you website files, you'll need to set up a directory on the server strictly for people to upload and download files. Depending upon your hosting account, you may or may not be able to set up an FTP account for users other than yourself. Generally, for security reasons, web hosting companies limit the amount of users who can access an account to one: yourself.

Some hosting companies will allow you to set up an anonymous FTP account, where a user won't need a password or user ID, but there are lots of security risks involved in this setup, and I don't recommend it. Plus, an anonymous FTP account simply dumps all the files into one general drop box. If you have lots of clients who will be FTPing you files, you may have a hard time sorting out what files belong to who.

Lastly, even if you can set up FTP accounts for your clients with your web hosting account, you will still need to download those files to your computer. With an FTP server located in or near your workspace, you can easily access those files without the extra step of having to download them.

What do I need to set up a server?
Really, all you need are a spare computer, FTP server software and a broadband Internet connection. There are a few other things to consider, but we'll get to those later.

The computer: Almost any old computer you have lying about will do. It doesn't need to be a speed demon. But don't plan on using one with anything less than a 4GB hard drive. Between your operating system, the FTP software and your clients files, you'll want to have at least that much space on the drive. And you'll want to make sure it has Ethernet capability to connect to your broadband connection. Once you get the computer set up, erase the hard drive and install the latest version of the operating system you can get. For Macintosh, I recommend using OS 8.6 or OS 9 (or preferably OS X, if the computer you're using will support it). If you have a PC, I don't recommend using Windows, for the various security problems it is notorious for, but there is no reason it won’t work. Instead, you may want to give Linux a try. Linux is an open source operating system that in most cases, is free to download and use. That's right: FREE! A FREE operating system! It's far more secure and stable then Windows could ever be, and just about all Linux distributions have FTP server software as part of the operating system. Plus, it runs very well on older PCs, making it ideal for an FTP server. For more information on Linux, go to Justlinux.com. Free disc image files of various Linux distros can be found at Linuxiso.org. Just download the ISO file, burn it to a CD, and you have a Linux installation disk! For running a server, Red Hat Linux is ideal, although other distros like Mandrake are fine too. There are also versions of Linux that run very well on older Macs too.

The server software: There are lots of options around for FTP server software. One thing you will want to look for in the FTP software you choose is that it keeps a log of information about who is accessing the server. This will allow you to monitor the traffic you're getting.

If you're planning on using Mac OS X or Linux, these operating systems have a built-in FTP capability, although OS X's FTP service isn't as full featured as using a separate application. It's a very basic FTP feature that's not really designed to be used in anything above a home user environment. OS X Server (a high-end full feature web/mail/FTP server version of Mac OS X) has great FTP server software, but for the small or home office, it's more than you'll want (in both function and price).

Information on various different FTP server applications (for both Mac and Windows) can be found at VersionTracker.com. In most cases, you can download a free demo version of the software to try it out. I have had great experiences using CrushFTP. It is available for Mac OS 8, OS 9, and OS X as well as Windows and Linux. CrushFTP is a free download and is what is called Shareware. That means you can download and use it for free, but you are *supposed* to pay for it after using it for a certain amount of time. Many shareware applications will work fine if you do not pay, but good ethics dictate you should send the software authors something. Others, like in the cases of CrushFTP, will operate with certain functions disabled until you enter a passcode that you can only obtain if you pay for the program. Without paying, CrushFTP will work at 100% functionality, but you won’t be able to save any settings, and you can only have 5 users access the server at once. If you quit the sever application, you’ll have to reset any changes to the server settings that you made. In most cases, the default settings will be fine for you, and your user settings WILL be saved in the non-paid version, so you wouldn’t have to set those up again. But since CrushFTP is only $25, it’s worth it to pay and get the registration code.

Setting Up The Server
Once you have the server software installed, you have to start setting it up for your clients to access. This is where the advantage of having your own FTP server will become clear: each client can have their own directory and user account. That's a great selling point and “value added” feature to your design services, as it makes clients feel “special” to have their own user account on your server.

Setting up the server will vary depending upon what software you're using, but again, I'll use Mac OS X CrushFTP as an example, since it's what I've used in the past. I use Mac OS X Server nowadays, but like I've said, it's more bang than most people will ever need. With CrushFTP, all you need to do is make a new folder for your client somewhere on your hard drive. In the CrushFTP User Account setup window, click the Create New User icon, and follow the instructions. You'll be asked to give the user a name and a password, and to select where their FTP directory will be. This is where you’ll choose that new folder you just made. Click FINISH, and your done. Congratulations! You've just set up your first user account! When setting up a new user, you assign a variety of “permissions” to them, that will allow them to perform various tasks on the server. This is a way to control who can do what, and how much data they can access. In most cases, you will want your clients to be able to upload, download and make directories. The “make directories” permission is important if a client wants to sent you a folder full of files. The server will read the folder they want to send as a new directory to be made in the clients account folder, and unless they have been assigned permission to make a directory, they will get an error message. In CrushFTP, assigning permissions is as easy as clicking a checkbox next to the name of a permission. Now, before you rush out and give your clients their new account info, there's a few more things we need to cover.

Connecting to the Server
Before you start giving clients their FTP account info, you need to know how to direct them to access the server, and you need to actually connect the server to the Internet. These two tasks are related so I’ll try to tackle them at the same time.
Firstly, since you are going to be connecting a second computer to your Internet connection you’ll need a way to share that connection between your server and your main computer. That can be done by using a cable/DSL router. WIthout going into too much more technobabble than I have already, a router will provide you with a firewall to give some added security and will allow multiple computers to share the same Internet connection. A good router will cost about $60. If you want to get REALLY advanced, any computer running Linux can be set up to act as a router, in addition to running as a server, but you’ll need to add a second Ethernet card.
Every computer that connects to the Internet uses an IP address so that information that is destined to the computer can find it. Think of the IP address as being similar to the address number on your house: the mailman needs to know your street address to deliver you mail, and information requests on the Internet need an IP address to find your computer. When you connect to the Internet via your cable/DSL modem, your computer pulls an IP address from the network your modem is connected to. With cable and DSL, this generally happens when you boot you computer up and the Internet connection is active for as long as you computer is turned on. That’s why you don’t have the same dial-up process that you have with a dial-up phone line based account. After your computer boots, if you look under the network or TCP/IP settings of your computer, you will see the IP address that you have pulled in via your modem. That IP address is what a client will need to connect to your FTP server.

The problem is, that most cable and DSL Internet systems will issue what is known as a Dynamic IP address. That means that it changes on a regular basis. Some change every day, some every week, some every month or longer: it all depends upon you service provider. The bottom line is, the IP address you give a client today may not be there tomorrow, and they will have no way to connect to your server. So, how do you fix that?

What you need is something called a DNS alias. Without getting to far off topic, it is a way for clients/users to enter a specific Internet address to access your server and still be able connect no matter what your Dynamic IP address changes to. There are several websites that offer free DNS alias services, but the two I have used and have had good luck with are No-IP.com, and dynDNS.org. Basically, you sign up for a free account, and choose from a list of predetermined domain names that the service offers. For example, from No-IP.com, you can have something like <enter your name here>.serveftp.com. That will be the address you give to your clients, along with the user ID and password you set up for them on the server. The DNS alias service records the IP address that you are accessing their service from, and links it to the domain name you just set up. So, when someone goes to access <enter your name here>.serveftp.com, the request is sent to No-IP.com, and then directed to the IP address of your computer or router that it has on record.

But what happens when your Internet connection’s Dynamic IP address changes? The DNS alias service needs to be notified when your IP address changes, so it can update the link to your “alias” Internet address. You COULD do it manually, when you notice your IP address changes, but really, how many of us are going to check the IP address everyday. What you need is a way to update things automatically. Both DNS alias services offer free downloads of small programs that run along side your FTP server software. These “DNS client” applications constantly monitor your computer’s IP address. If the IP address changes, the DNS client notifies the DNS alias service, and the link to you alias address is automatically updated. Your clients won’t even know it’s happening. They just keep using <enter your name here>.serveftp.com. Cool, huh?

That’s it. All the pieces are in place. Save one: what do you use to log on to the FTP server?

Clients for the Clients
In the world of software, there are “servers” and “clients”. A server is just that: it serves files and information that is stored on it. A “client” is a program that access the server to obtain that information. So, anytime you use a web browser, you are in effect, using a client program since the browser accesses the website files that are stored on a server. To access your FTP server, people will need to use an FTP client. There are literally hundreds of FTP client applications around, many of them are free or inexpensive shareware. Again, VersionTracker.com is the best place to look for FTP clients. For Macintosh, Fetch (for both OS X and OS 9) is a popular FTP client, but you can also use Transmit (for OS X), and Interarchy (for OS 9). Windows users can use FileZilla. Most Linux distros will install an FTP client along with the operating system. kFTP is a good one for Linux.
You can test accessing your server by opening a new connection in your client software, entering the alias address you made with a DNS alias service, along with the password and user ID for a client’s account. If all was set up properly, you should access that client’s folder that you set up on your server. Try uploading a file. Did it work? If you can see it in the file list of that user’s directory, it did work. Walk over to your server, open up that folder, and you should see the file that you just sent. Yes, you just walked over to the server and are able to get the file that you just sent. You now see one of the benefits of having your own FTP server: instant access to the files. Try downloading the file you just uploaded from your main computer. Another benefit realized: clients can easily access large files, like proofs, that you want to send them.

Conclusion
So with your FTP server chugging away in the corner of your studio, next January, when it’s 20 degrees with a wind chill factor of -8, and your car is buried to the top of the tires in snow, and a client wants you to swing by their office to pick up a CD with some new photos, you can say, “You can just FTP that to me.”

Reference Links:
http://www.crushftp.com
http://www.versiontracker.com
http://www.no-ip.com
http://www.dyndns.org
http://www.justlinux.com
http://www.linuxiso.org
..............................................................................................
Download a PDF version of this article

 

© 2003 The Graphic Artists Guild Of Albany
PO Box 14512 • Albany, NY 12212-4512 • 1.800.406.1689
.:Contact the webmaster:.