First, what is FTP? FTP stands for "File Transfer Protocol". You can learn more about it here and here.
Matter of fact, I never really believed that this is even a topic to write about, because I always thought that all internet marketers know such "basic" stuff. However I realized my mistake when I started getting one request after another on FTP tutorials. I would usually direct them to one article or another on the web, but that does not seem to have helped them much. So I finally thought I would try my hand at it and see if I can fully answer your FTP problems. I will only go into the basics because I am not in any way a PRO at it. :)
Steps:
1. Download the FREE FTP program Filezilla from here.
2. Run the installer and Filezilla will be installed on your computer. Be sure to select "XML" format for storing your Filezilla settings. This gives you more "portability" in the sense that you can take the Filezilla settings along with you anywhere you like. The "registry" option would limit you to your machine. ;)
Did I mention Filezilla has a portable version too (for those who are not homebodies like me)? :)
3. Now launch Filezilla from your Desktop or Quick Launch bar.
4. First thing you need to do is to "tweak" the settings a bit. To do this, click on the "Edit=>Settings" menu on your Filezilla menu bar as shown below:
Click on the image for a larger screenshot
From this point onwards I will merely show you screenshots of the customizations I have done (note that you can change this stuff as you think fit):
a) Connection Tab:
Click on the image for a larger screenshot
b) Transfers Tab:
Click on the image for a larger screenshot
If you have lots of small files to upload and a high-speed internet connection, you can tell Filezilla to upload 10 files at a time instead of 2 (note that 10 is the maximum Filezilla will transfer at a time).
c) Interface Tab:
Click on the image for a larger screenshot
d) Interface=>File lists tab:
Click on the image for a larger screenshot
e) File editing tab:
Click on the image for a larger screenshot
Note that I use and recommend PSPAD as your default file editor for ASCII file types. It is free, supports almost all ASCII file types and even has a portable version for those who are constantly "on-the-fly" :D . A suitable commercial alternative to this could be Dreamweaver™! :)
f) Update Check tab:
Click on the image for a larger screenshot
This is really up to you, but I disable the in-built update checkers in almost all my installations because these update checkers take a lot of my RAM, thereby slowing down my system performance terribly. Instead I use a free update checker. You can run it manually whenever you like, or, if you have the free system scheduler installed then you can also make the program run automatically at scheduled intervals, such as weekly (I have never tried it this way but I think you would be able to accomplish this even with the default "Task Scheduler" function of Windows™; in reality, system scheduler just offers an easy-to-use GUI interface of the Windows task scheduler, with some extras thrown in).
Hope I am not boring you too much. We have covered only half of our journey! :D Click "OK" to save your settings.
5. Now we shall add a site to Filezilla. It is REALLY easy! :D
From the top menu bar of Filezilla, click on "File=>Site Manager" as shown below:
Click on the image for a larger screenshot
Click on the "New site" button:
Give your site a descriptive name. Normally I name it after the domain name of the respective site. Keeping it short and sweet is recommended.
Under the "General" tab, enter the details of your site as shown below:
Normally:
Host name should be your domain name. For example, if the website’s URL is http://xxx.com then just enter xxx.com here. On some servers you may need to add the ftp. prefix to it, thereby making it ftp.xxx.com, but on most servers, xxx.com works fine. :)
Hostname can also be your server’s IP address, such as 55.67.89.110 (just an example). Either host names should do fine. :)
By default, the ftp port number on most hosts is 21 (for SFTP connection you will need to make it 22 or 2200 – your host can help you about this).
Choose "Normal" as logontype. Most shared hosts disable anonymous logins out of security concerns. :)
Next, enter your username and password. These credentials should have been supplied by your host when you signed up for your web hosting account. Normally your ftp username and password should be same as the ones you use to login to your website’s control panel (it can be Cpanel™, Plesk™ or something proprietary, depending on your web hosting company).
Again, if you are in doubt about this, you should contact your host. You should also contact your host in case you are unable to connect to the server using the normal FTP settings described in this article (hey, after all you pay them good money for a reason ;) ).
In the "Description" box, you can enter a longer description of your website. This is optional.
Click on "Advanced" tab. Changing the settings of this tab is optional, but makes your life easier:
Okay, first create a folder on your local hard drive where you would be storing all the files of your website. Normally I would name it after the website domain name.
If your server is the normal LAMP server, choose "UNIX" as Servertype. Then click on the "Browse" button to locate the local directory you just created for storing your website files. Next, enter your remote directory path manually. On Cpanel hosts it is usually public_html. On some other hosts it may be "www" or something else. If you are connecting to your server using your server IP address, then you may need to enter the full path of your remote directory here, such as:
/home/username/public_html
Again you can ask your hosting company about this if you are not sure. ;)
We are done. Click "OK" to save your site settings.
Now click on "File=>Site Manager=>Your Site Name" to connect to your site through FTP ("Your Site Name" is the name of your site). :)
Did you expect more boring stuff? Don’t worry, I will bore you some more before taking leave! :D
I DO NOT suggest using the "Quick connect" tab of Filezilla unless you are doing this FTP job for a friend. Filezilla only lists a certain number of sites in the quickconnect history and you will face problems when the number of your sites increase over time. Using "Site Manager" is the best and most reliable option in my opinion.
6. How to CHMOD your website files:
CHMOD is all about setting different permissions on different files. You can learn more about it here. This command is valid for UNIX™ servers only; I am not acquainted with Windows™ servers so cannot comment on them! :)
In Filezilla, first you would want to connect to your site through FTP using Site Manager as I mentioned above. You will be taken to the default remote directory of the website as you specified in the respective site’s settings. Here you would see different files and folders of your site, with directories being prioritized (this is something you can change in Filezilla’s under the "Interface=>File lists" tab, but I don’t recommend it)
Now, say that you are asked to set 666 permissions on a file/folder. How would you do that? Just "right-click" on the respective file/folder with your mouse, and then click on "File permissions" as shown below:
Click on the image for a larger screenshot
Enter the number "666" in the box as shown below:
Click on the image for a larger screenshot
7. Uploading and downloading files to/from your server:
If you setup your site as per my instructions above, this should be easy. As soon as you connect to your site via FTP, Filezilla will automatically display the local directory as well as the corresponding remote directory of your site side-by-side, like this:
Click on the image for a larger screenshot
Whether you want to upload an entire folder or just one file to your remote server, just select the respective file/folder with your mouse, right-click on it, then select the "Add files to queue" option as shown below:
Click on the image for a larger screenshot
Then right-click on your queued files and select "Process queue":
Click on the image for a larger screenshot
I could have told you select the "upload" option directly; while this would have saved you another click, Filezilla sometimes tends to crash with this option, taking along with it my entire queue of files. :( I don’t know if this is an inherent bug in Filezilla or just the absurd way it behaves with my system, but that is the reason why I don’t use that option. :)
Don’t trust Filezilla with your queue and want to save it before starting the upload? I always save my queue first by clicking on "File=>Export" option from the menu bar:
Click on the image for a larger screenshot
And then selecting the "Export queue" option:
You can save the queue as "Queue1.xml", "Queue2.xml" or whatever you like. To import the queue, just use the "Import" option instead of the "Export" option from the top menu bar! ;)
Speaking of which, if you have not already backed up your Filezilla settings after installing it, you should do it now. Just click on "File=>Export" and then select the other two options as well, as shown below:
And save the file as "Filezilla settings.xml" or whatever you like. In case Filezilla crashes in future and loses its settings you can always import the settings back using this file. :)
Do you want to remove a selected file from your queue? Just right-click on that file (use CTRL or Shift keys on your keyboard to select multiple files) and select "Remove selected":
Click on the image for a larger screenshot
Want to remove an entire queue? Just select "Stop and remove all" option instead:
Want to set the priority in which the different files are uploaded? For example, how about selecting the "highest" priority for a file you need to upload immediately and "lowest" priority for a file you can afford to upload at the end? You can do all these things using the "Set priority" option:
Want to pause a running queue? Simply right-click anywhere in the queue and select "Process queue". This would remove the checkmark from the "Process queue" option and pause your queue. To resume the queue in future, you simply need to repeat the same action. :)
The "Default file exists action" option is where you can define the way Filezilla would behave in case the file you are uploading to your web server is already present there. If you don’t set this option, Filezilla will ask you "what to do?" with each file upload!
Normally I set "Overwrite" for small ASCII file transfers and "Resume file transfer" for large binary file transfers respectively. If you don’t know about ASCII and binary file types, click here. Anyway, Filezilla knows which file is of what type (unless yours is an extremely rare file type) so you don’t need to get too bothered about these technical things. :)
Are you feeling sleepy in the middle of a large file transfer and wish Filezilla could automatically shut down your computer after file transfer is complete? That is easy. Simply right-click anywhere on the queue and select the appropriate option from "Action after queue completion" menu:
Click on the image for a larger screenshot
8. Downloading files from the remote server to your local hard drive:
Whether you wish to download a single file, multiple files or an entire folder, simply right-click on the respective file/folder and select the "Add files to queue" option as shown below:
Click on the image for a larger screenshot
Again, I DO NOT recommend selecting the "Download" option here due to the same crash problems I described above, but that is really up to you. :)
All other rules remain the same. :D
9. Changing the file transfer mode when connected to the ftp server:
Actually, with Filezilla you cannot change the file transfer mode unless you disconnect from the server. To disconnect, just click on the red cross on the toolbar menu:
Click on the image for a larger screenshot
This will disconnect the running session. Then you would want to click on the "Transfer=>Transfer Type" option from the top menu bar and select the appropriate transfer mode for your file queue. :D
Click on the image for a larger screenshot
Happy FTPing! ;)
But before you go away to FTP happily, you would need to post a nice comment below. I might write long and boring articles but I still demand for nice comments ;) (kidding). If there is anything else about FTP you would want to know then let me know by commenting below. Thanks :)
What a great detailed article. I don’t use filezilla a lot so actually learned a lot of little features it has from this article. I use a very simple program for mac called CyberDuck although do have filezilla as occassionally Cyberduck has problems connecting and Filezilla is better at this.
FINALLY! An explanation of FTP that even I can understand! I’ve always been afraid to try it because I was afraid I would mess something up. You are a true genius for making it easy to understand!
Yes, Arindam, I see lots of people are still struggling to do FTP.
In fact I have stopped using FTP program more than a decade ago. You really don’t need an FTP program if you’re using Windows (I don’t know about MAC).
In Windows, you can map a drive to an ftp site that will look like your windows folder. How Nice!.
This is what you should do.
1. Open any windows folder
2 Select Tools from the menu
3. Select Map network drive
4. Click on the link Connect to a web site that you can store ….
5. Add Network location Wizard will start. Click Next
6. Select Choose a custom network location. Click Next
7. Type in the location starting with ftp://
8. Provide user name and password.
If you want to do CHMOD folder in a *nix type server, use the cpanel and its file manager.
I think I should write a blog post in my blog about this steps.
@Free Classifieds Blog ,
Thanks. Interesting stuff coz I did not really know about it before. ;-)
I think only downside to your method is (unless I am missing anything) that it does not give as much “portability” as you get with a FTP client like Filezilla (I mean, you can take your queue and ftp settings with you anywhere you like and Filezilla works on both mac and windows).
So maybe I would stick to using my fav FTP client lol. But I definitely appreciate your input. It helped me learn something new, and I am sure it would also help others who read this article. :)
I use filezilla when uploading plugins to my wordpress site. I never actually understand some of it’s functions thanks for your post I understant it now better than before.
I have only used FTP a couple of times, it’s not really needed when you use wordpress
Arindam, very good explanation, you have taken all the mystery out of a challenging task. I have always used FTP Pro and didn’t know what half of the functions do. I’ll give Filezilla a try. Thanks
The protocol is the same, but web base FTP, like Bravehost.com uses, is a Java Applet which you can use FTP from your bravehost.com site’s File Manager. I always prefer to use a FTP program on my computer.
Never realized Filezilla has the portable version! Thanks for bringing it up :)
[…] learn some FTP, copywriting, as well as the basics of maintaining your […]