FTPying – File Transfer
Person (6) Protocol – All you need to know !
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 :
- it is multi-platform : runs on osX , windows and linux – so the screens will be the same for everyone
- it supports : FTP – SFTP (secure FTP ) – FTPS ( FTP over implicit TLS / SSL ) – FTPES ( FTP over explicit TLS / SSL)
- 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
- 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 :
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 :
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 )
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.
you can set filters on what type of files you want to see – useful when you have to sort out your files
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