FTP 101: How to upload and manage files on your web server
This page tells you what you need to know to upload files to your web server and mange them using FTP, which stands for File Transfer Protocol, in case you wonder. More specifically (or as an example), we’ll show you how to upload all the folders & files making up the b2evolution CMS package onto your web server.
1. You need an FTP client
Your web hosting account may come with an FTP tool that runs in a web browser window. If that works for you, fine. But the odds are you will hit the limits of that tool within the first 5 minutes of you trying to use it. So you might as well get yourself a real FTP client.
It’s called an FTP Client, because there is a Server and a Client. The Server is your web server (which includes an FTP server). The Client is a piece of software you will install on your computer. The client will then connect to the server and tell it to do what you need it to do.
Although you might never have heard of them, there are many FTP clients available. A good free option for Mac, Windows and Linux is Filezilla. We’ll use this in our example.
There are paid tools which look much better. On Mac OS X we like to use Yummy FTP lite (Free Trial!) or Transmit.
So make your choice, download and install an FTP client on your computer.
2. Connect to your server
Your web host will have given you:
- an FTP hostname
- an FTP username
- an FTP password
- sometimes an FTP port but this is pretty rare
Just copy and paste each of these strings carefully into the "Connection" dialog box of your FTP client. With FileZilla, it looks like this:
- the FTP hostname
- the FTP username
- the FTP password
Once you’ve entered the info, click "Connect" or "Quickconnect" as Filezilla calls it (4).
Note: you can save all this info in an address book if you frequently need to connect to different FTP servers, but this is beyond the scope of this guide.
3. Get acquainted with the interface
There is a best practice among FTP client to present your local files (what’s on your computer) on the left and remote files (what’s on your server) on the right.
You can see this on the screenshot of FileZilla above.
On each side FileZilla shows you 2 panes: you have a directory structure on top and a list of files below. You can use the directory structure to navigate your hard drive and find the folder you’re interested in. Once you select a folder you can see its contents in the pane below.
Yummy FTP has a slightly different view but it boils down to the same concepts:
4. Start by finding the root of your website
On the right side, you see your web hosting account. Note that by default you are connected to the root of your account which is not the same as the root of your website.
Your website actually lives in a folder that is typically called
public_html. If you see both, one is an alias of the other, so you can just go with
Select that folder (step 5 on the screenshot) to see its contents.
Inside of the
www folder you will probably see files that have been placed there by your web host. Most of the time you will see a file called
index.html (marked 6 on the screenshot). This is typically the file that displays "This site is under construction" until you put something else there.
5. Clean up
We recommend you start by deleting the
index.html file as well as any other file that may be inside of your web root (the
www folder). Do NOT touch the files outside of
In FileZilla you can delete a file by selecting it and pressing the Delete key. You can also select it and then right-click on it and select "Delete" from the contextual menu.
IMPORTANT: we also recommend you enable "show hidden files" in your FTP client (if it’s not enabled by default) and that you delete the
.htaccess file that is pre-installed on your web hosting account. This will ensure that b2evolution can install its own custom-tailored
6. Upload b2evolution to your server
Now, on the left side, find the b2evolution folder on your hard drive. This is the version of b2evolution you have previously downloaded and unzipped.
On most modern computers, you will need to start by going into the directory
/Users/ in order to find your files.
b2evolution folder, you will find the files that you want to upload to your website. This includes folders like:
install– Note: this is where the install script is (you’ll call it later)
And also files like:
Select all these folders and files on the left pane. Then drag and drop them into the right pane!
Now just look at FileZilla doing the work of moving all these folders and files recursively onto your website. b2evolution is made of more then 2000 files. It should take between 30 seconds and 10 minutes to upload them all, depending on the speed of your internet connection.
Pro Tip: The upload speed will greatly depend on the number of concurrent connections you can make to your server. A good target is 10 concurrent connections. For technical reasons beyond the scope of this tutorial (handshaking delays, IP protocol windows…), concurrent/parallel uploads are much more efficient than serial uploads. The number of concurrent connections depends on your FTP software (how well it handles multiple threads) but also, and more importantly, on the limits set by your webhost. You can find such limits in our webhosting matrix.
Pay attention if there are errors though. This probably means your Internet connection is not very good, or your web host is overloaded. In FileZilla, there is a "Failed transfers" at the bottom. If you see failed transfers in there, b2evolution won’t be working. You need to restart 100% of the failed transfers. If you have a doubt, you can also re-upload everything (by overwriting the files that were already on the server).
Tip: if you keep getting errors, try this operation outside of the peak hours. Late a night or very early in the morning might work best.
7. Extra credit
You may never need this, but notice that on the remote files pane there is a column called permissions where there is a code similar to
0755 for each file. These are the UNIX file permissions. If you run into file permission issues later, this is where you need to look.
If you’re trying to install b2evolution on your server, uploading the file is only one part of the process. Please refer to the Installation Guide for more details about creating the database and running the installation script.
Comment from: fplanque
@cre8nlove We have updated the article. There is no `blogs` subfolder anymore. It was too confusing for many people. You should now upload all the contents of the `b2evolution` folder (but not the `b2evolution` folder itself).
Comment from: cre8nlove
Many thanks for the update, fplanque!
Comment from: cloud minister
Very Nice Blog..!! Thank you for sharing this information with us. It is very useful and important information for those who are doing this work at the first time.
Well, I understand this page except that the copy of b2evolution I downloaded has no subfolder labled “bolgs", so how am I supposed to know just what to ftp to my shared web-host? The directions here say to select the “blogs” subfolder and send the contents to the web-host. … In my case the contents of the main folder that appeared as I unzipped the download do contain much of what these instructions say will be in the blogs subfolder BUT I think there are extras, like I suspect I do not need to transfer the various languages of readme files… what else? What all should I ftp, and what do I not need to? I attach a jpg of my directory folder, the unzipped b2evolution, I have changed nothing in it.
Thanks for any insight/help/guidance!