FTPying – File Transfer Person (6) Protocol – All you need to know !

Posted on July 15, 2010 in Tutorials

Words like FTP / VPN / RDP / SSL / SMTP / DNS  and many others are included in geeky conversations and their meaning is taken for granted . Our jargon becomes heavy with tech words and sometimes we are not aware that actually the normal human facing us might not know what “FTP me means”

Another interesting fact is that many non-techies are crossing to the geeky side – blog owners – eMarketers – HR – social media experts – all those people with a non-tech background are starting to use more advanced technology tools

I  am stating the above based on facts and the number of friends who acquired a hosting and by the type of questions i get as freelancer or from friends – no one wants to know how to burn a CD anymore or how to fix winword, they all want to know now how to setup FTP / how to configure their own mail / how to access their home computer from work / how to configure the wirless network at their home and of course how to bypass security at work :evil:

All those tasks , if you look at them are worth an IT certificate !  yet somehow and amazingly people are shamed to ask because many times they are bullied, laughed at by the geeks or simply “dismissed”  #shameOnYouFellowGeeks !

Lately, i’ve been asked many times from les “nouveaux e-Riches” aka new hosting owners many questions on file transfer and FTP and how can they use their unlimited hosting space to send large files, do online backup, file sharing and such – that is why i am putting it in a post !

This post is also dedicated to a special certified web designer who strongly believes that FTP stands for File transfer person and who thinks that i should go manually take the file from his office – this office happens to be in one of lebanon’s most high-trafficed areas ( phone support didn’t help )

So without more blablablaying here is what you need to know about FTP

What is FTP ? ( in plain english )

FTP stands for file transfer protocol – it is a protocol used to transfer files usually large ones over the internet. ( you can’t send a 50 GB files by email, can you ? )

What you do is have some storage on the internet like a server or a hosting – you connect to it – copy your files there and anyone with the correct address and permissions can view those files

FTP offers more features and bonuses other than email or transfer over msn – the most useful one is that you can resume your upload , there are no file size limit and there is added security !

Your files won’t become on the servers of your email provider for example ( god knows what is in that EULA )  – and while uploading the files, your transfer can be encrypted

It is also less painful, more professional and all that stuff . For example, for each client i have a protected folder on my hosting with all the files neatly there – so whenever they need to review a document or to re-download a software all the files are there – I also synchronize my photogallery and music library from time to time – this makes priceless family album survive computer format and data loss and gives me and my friends access to my music from anywhere….

This is all interesting and exciting , now what do you need to use all this taknologia ?

You can use FTP to transfer files to the internet – that means you must have a place online where you will be transferring your files ( hosting , dedicated server , access from a friend to their unlimited hosting, access to your company hosting …. )
Online storage is really cheap and it is something that you must start to benefit from – usually packages come as “unlimited storage” in very cheap hosting plans and as a geeky saying tells : ” kil shi unlimited – 3mol sharing 3leh “
so probably you and your friends can get a hosting and bask in the unlimitedness of online storage.

If you are wondering what is the best place to get a hosting from – let me know – i happen to know the best place in cyberspace and i do have an affiliate program with them :P aka i can give you discounts.

So step 1 is either buy a hosting – get access to your company online storage or nag on your friends till they give an account

I got my hosting , i have a login – how to proceed ?
The easiest way to send files online is by using an FTP client aka it is a software that you install on your computer and does all the “protocol” work for you .
A free open source solution is FileZilla – there are many others – you can even install a firefox plugin to do that – even your windows comes with a command line FTP utility

You can take your time to explore the different options you have and use the software you feel most comfy with – it all comes down to the same procedure – the buttons are just located in a different place .
There is no “best” FTP software – sometimes when i am in firefox, i just use the extensions , when at night i queue files for download/upload using filezilla , when i want to sneak files from my friend pc – i simply do so on the built in command line . So each situation – asks for a different software. but for the sake of convenience i will be showing you how to FTP using filezilla for the following reasons :

  1. it is multi-platform : runs on osX , windows and linux – so the screens will be the same for everyone
  2. it supports : FTP – SFTP (secure FTP ) – FTPS ( FTP over implicit TLS / SSL ) – FTPES ( FTP over explicit TLS / SSL)
  3. open source – free -  no nag screens – no limited features – fairly simple navigation – stable – comes with a site manager and GUI – gives u enough data over your transfers
  4. filezilla sounds like mozilla :P

Installing Filezilla :

Download link : http://filezilla-project.org/download.php?type=client

Choose the corresponding operating system version and download – it is the typical next next next finish ;)

Here is the screen that will greet you after you install :

As you can see , Hostname / Username / Password is all you need to quick connect.
Depending on your hosting – you have to create a username and password in your control panel or your lovely techy friend can give an account to you on their own hosting :P

Click Quick Connect and tada !

  • Local site on the left side, shows folders on your computer
  • Remote site : folders on the hosting

Usually to have your folders somewhere accessible on the web  , you must make sure they exist on /public_html/somefoldername

If you see folders that you did not create or that you think you do not need – DO NOT DELETE THEM – they are needed by your hosting to run smoothly – this will be like deleting c:\windows\system32

On the remote site, navigate to public_html, right click – create directory and celebrate your first online folder :)

Now right click on it –> file permissions :


by default it is on 755 – means that ppl can read and execute whatever is in there but can’t write.

You might need to change folder permissions in some cases like to tighten security or the opposite- to loosen it : sometimes for example, you just created an image gallery – but it is giving you an error : can not generate thumbnail – the cause of this is that the poor gallery is trying to write an thumbnail version of your image, but failing to do so , cuz there is no write permission – so in this case , u set permissions to 777

For paranoia, you can remove the execute permissions, like this , if someone managed to upload something in your hosting, they will not be able to “execute it ” aka run it

Now that you are happy with your remote folder – browse on your local site , check a file u like or a whole folder – right click on it  and upload !
Filezilla will create a queue , and upload your files for you
You can change the priority of files and sometimes you may get prompted on what to do if filezilla found a file with the same name – you can choose to resume – overwrite – or create a copy

If you happen to live in lebanon – usually a file starts uploading then the connection goes out – then it is back again – while attempting to continue the upload, filezilla sees that there is already a file with that name, so it asks you , what do you want to do ? in this case you can tell it to “resume” and there is a nice checkbox that makes this the default option each time a file with the same name exists.

However, if you are synchronizing your local folder ot your online one ( back up ) – you may want to skip re-uploading or to create a new copy – so this option can be quite handy :)

The successful transfer are moved out of the queue into a different tab – the failed ones show as well – you can resume them or just give up on them

once your files are online – you can view them in your browser and download them, share them, link to them  or just look at them in awe !

Now the nice thing also , is that you can use filezilla as your download manager , you go to your hosting – click a file and put it for download :) ;)
it will resume when failed and all this stuff

Important tip :
If you are uploading a folder with many files, it is way faster for you to compress it and upload it – it is not just a matter of file size difference, it is actually slower for filezilla to upload different files, cuz it needs to check when each file is completed sucessfully and tell you about it .
The other reason, is that if you shared 300 files, you don’t want your friends to right click on each file and download it :P it is lame, you can put a .zip file
If you are paranoid like me and want to know what is inside the compressed folder , you can have an attached text file saying what is in there or you can auto generate a “tree” from the command line ( a more geeky-lazy solution ).

This would be enough for the “beginners” level – you can stop reading if you want – but you can get a bit more advanced – i will show you couple of screen from filezilla and explain to you what can be done with them :

site manager

The site manager is a nice way for filezilla to save your login info – like this you won’t have to enter them each time.

To define a new site , you click on – guess what ? – new site . New folder lets you define a logical folder where you can group different sites, New bookmark lets you save a special path into your site, for example if you want to upload a file to /public_html/mywebsite/wp-content/uploads/imgs – instead of browsing to this path each time, you can save it as a bookmark and connect to it – of course you can rename-delete and copy a file settings – usually by default you don’t need to play with the other settings ( i will not cover them, cuz it would make this post way too long and boring )

Directory comparing

You get to compare a local folder to an online one based on file size or modification time – you can hide identical files also – that makes the upload and synchronization of your folders easier.

Filtering

you can set filters on what type of files you want to see – useful when you have to sort out your files

Export settings

This will allow you to move around your filezilla – you can export your logins – your settings and most interestingly you can export your upload/download queue – like this you can for example upload from home – export – go to work – resume ur upload – come back home and resume uploading
It is quite handy if you live in lebanon and an upload needs 3 days to be done !

Settings for filezilla – time out – nbre of retries – proxies – themes – default behaviors …


I guess this is a long-enough-post – if you made it that far in reading and still need some help or info – please don’t hesitate to google contact me :P

Share Button

6 Comments

  1. Interesting read, however I don’t advise the use of Filezilla and storage of credentials. I used to recommend it to anyone in need of an FTP client, however the problem resides in Filezilla storing saved passwords in an XML file in plain text. And since Filezilla is open source any encryption method implemented will be in vain since the source code is disclosed. For the non technical readers this means that Filezilla can be a security threat if you save your session passwords. Typing them on every connection attempt is the best way to go around this hole. A nasty trojan called Gumblar (usually infects the system via PDF or Flash documents) steals the passwords stored by FileZilla, connects to the server, and appends a nasty line of javascript to every HTML\JS\CSS file that redirects the user to a malicious website where a small malicious application is downloaded without the knowledge of the user.

    Just my 2 cents :)

  2. oh, really thanks for the security info :)

    Can you please put it in a post so i can link to it next time i warn ppl on filezilla ?

    w what is your client of choice ?

  3. Sure thing, I’ll write about it today after work :)

  4. Hi again, Sorry for the delay in posting the article but here’s the link to the threat: http://bassemdy.wordpress.com/2010/11/11/ftp-saved-passwords-threat/

    Hope it helps a bit in spreading awareness.
    :)

  5. Hi,
    My favorite FTP client would be FireFtp http://fireftp.mozdev.org
    mainly because it’s integrated with Firefox and needs <1min to install. Security wise, it's dependent on the FF password manager (which is crackable afaik)

    The "better" way of course is to use SFTP/SCP with SSH keys instead of passwords, if your hosting provider allows that. I would use WinSCP http://winscp.net for that (it works for FTP sites as well)
    Maybe you could write up on that ;)

  6. Abdallah – you have a blog and it is a super neat one – publish there and i will link :)

Trackbacks/Pingbacks

  1. Tweets that mention FTPying – File Transfer Person (6) Protocol – All you need to know ! : Mireille Raad -- Topsy.com - [...] This post was mentioned on Twitter by Micheline Hazou, Mireille Raad. Mireille Raad said: [New Blog Post]-FTPying: File transfer ...
  2. Global Voices in English » Lebanon: FTP for Non Geeks - [...] Lebanese blogger and freelancer Mir explains what FTP (File Transfer Protocol) means to the non-technical people in this post. ...
  3. Why you must not save passwords in Filezilla by @Bassemdy | Mireille Raad - [...] time ago I wrote an introductory tutorial on FTPying by using [...]

Leave a Comment

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>