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 www or public_html. If you see both, one is an alias of the other, so you can just go with www.
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 www.
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 .htaccess file.
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.
Inside your 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 0777 or 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.
However, these cheap prices don't always stay cheap forever!
Unfortunately, as many of our users alerted us, we found out that it has become an industry standard for hosting companies to lure new customers in with cheap sticker prices only to abruptly increase the monthly price at the end of the first payment term. For example, you may sign up at $1.99 / mo for the first 2 years but as your plan auto-renews at the end of those 2 years, your price may go up to $5.95/month.
Many customers don't realize this until it is too late and they have already been billed for a full year renewal at the increased price. Don't be one of them!
How to be a smart shopper
Solution 1: Be prepared to change hosts frequently
When you sign up for a cheap web-hosting plan, you will be able to lock in the low price for 12, 24, 36 or even 48 months if you pay in advance for the whole period. But as renewal time comes up, you will have to pay the higher rate... or switch to another webhost... and that is what most smart shoppers actually do! This is very similar to switching cell-phone plans to always take advantage of the best deals.
There are a few things you can do to be fully prepared for this:
Make a note in your calendar in order to be reminded automatically 1 month before the end of your initial term that you should start looking for another host.
Make sure to cancel your account in due time according to the terms & conditions of your web host. You may also remove your credit card information from your old host a couple of weeks before the end of the term to avoid being charged without your knowledge.
If possible, use a separate provider to register your domain name. This makes switching to another host much easier than if your domain name is sort of "held hostage" at your old hosting company.
Solution 2: Choose a web-host which rewards loyalty
At the time of this writing HostMetro is the only hosting company to offer a "Price Lock Guarantee". This means that at renewal, you will get the same price as when you first signed up.
However, some other hosts also have renewal rates which are close to, or even identical to the initial sticker price, they just don't guarantee it will never evolve over time. This also means the price may actually go down by the time of renewal.
Go with a host which offers a reasonable renewal rate
Have a reminder in your calendar to check that everything is ok 1 month before the end of your term. If not, be prepared to switch to another host.
It's a bit tricky because the term "cloud" has been widely over-used, misused and abused by many... However, all serious web-hosting providers will consider the difference like this:
A VPS is a virtual machine running on a single dedicated server. That server is shared between a number of VPS virtual machines. It means that a part of the CPU time, a part of the RAM and a part of the disk space are allocated to your VPS. If the server is shut down, all the VPS virtual machines on that server go offline.
With Cloud Hosting, you also have a virtual machine, but it is NOT hosted on a specific single dedicated server. On the contrary, your virtual machine can be spun up on any dedicated server of the hosting company's infrastructure, depending on availability. In case a server goes down, all the virtual machines it was running can be spun up again very quickly on a different server. The disk space may be network storage or it may be replicated to local SSDs when the virtual machine is spun up on a new server.
One particularity of this is that if you need several identical servers with load-balancing in order to handle traffic surges, Cloud hosting can quickly (sometimes almost instantly) spin up extra instances of your servers, as many as you need and as long as you need, then spin them down again when they are no longer used. You generally get billed by the hour for each running instance and you have access to an API for managing your instances.
How do they compare?
Technically, a VPS infrastructure is simpler and easier to set up than a Cloud infrastructure. Therefore VPS hosting will typically be cheaper than Cloud hosting.
However with VPS hosting you may run into limits that will make you prefer Cloud hosting:
With VPS you can grow the specs of your virtual machine, as long as there is space on your sever (depending on other clients). After this, tech support will need to move your virtual machine to another server with more available resources. This may take days or weeks. Sometimes it's not possible at all. With Cloud the same operation will only take minutes or maybe even seconds, because the infrastructure is built for automatically moving VMs from server to server.
With VPS, if there is a hardware issue with your server, you get downtime while the server gets serviced. With Cloud, if there is a hardware issue, you get moved to another server and you barely notice the downtime.
Cloud allows you (via an API) to scale up and down the number of virtual machines you may be running simultaneously. VPS is a reserved slot on a server, with no easy up and down scaling.
Cloud hosting also typically comes with infrastructure management. This means that all your cloud instances can communicate on a private network that is automatically configured. This is useful for separating your application server from your database server, for database replication, for placing a load balancer in front of your application servers, etc.
VPS is best suited for small sites that need flexibility (root access) but can run on a single (virtual) machine and/or need to contain their hosting costs.
Cloud is best suited for sites that rely on a multi-(virtual)-machine infrastructure, typically with load balancing and potentially up/down scaling depending on traffic surges.
So you’re ready to start your own website? Congratulations! Here’s five easy steps to get started without wasting any time!
Step 1: How does it work?
In order for your website to be available to anyone at anytime, you need to host it with a web host. In other words: you need a web server leased to you by a web hosting company.
Also, in order for your visitors to easily access your site by name, you will need a domain name such as `yourdomain.com`. This will allow to make your site available at `www.yourdomain.com` (for example) but this will also allow you to receive email on addresses like `email@example.com`…
Most hosting companies offer all-inclusive packages by default, which include:
a domain name,
the web-hosting itself
several email addresses/mailboxes.
Thus, if you’re just starting out, it is generally a good idea to get both your domain and your hosting in one single sign up with a hosting company. (Depending on your needs, you may or may not want to also take advantage of the email addresses.)
Step 2: Which kind of web site do you want?
Think about your smartphone for a minute: you can enter notes into the basic existing apps, but you can also install new apps on your phone. It’s similar when you get a website: you can put up some basic information using basic tools but you can also install new app, powerful apps… like b2evolution!
It basically boils down to 2 kinds of web sites:
Static sites (simple sites): you will build one or more web pages (called HTML pages) with software like DreamWeaver on your computer. You will then upload the pages to your host’s server using FTP software like FileZilla for example.
Every time you will need to change something on your site, you will have to edit the pages on your computer and upload them again. The website never changes by itself. That’s why it’s called a “static” site.
Note: If you don’t have any such software, don’t worry: many web hosts will actually provide you with free “site builder” software to get you started.
Dynamic sites (blogs, forums, photo galleries…): instead of uploading HTML pages to, you will install a piece of software (called a web application) on your web server. This software will let you add and edit content (text, pictures, videos…) at any time directly online without the need for any special tools on your computer. The software may also allow your visitors to leave comments or start discussions of their own if you let them.
Of course we recommend the b2evolution blog/CMS software to kickstart your site and let it grow over the years, but there’s plenty of choice here. Other popular web apps include WordPress, Joomla, Drupal, phpBB, Gallery and plenty more…
Note: If installing a web application sounds complicated, don’t worry: many web hosts will automatically install the application of your choice for you. Their tech support should also be able to help you.
The worst is this: if your domain name is controlled by your webhost, they can make it very hard for you to leave!
Unfortunately, this has happened more than once: customers of some fine web hosting company suddenly realize said hosting company has been acquired by another. Soon they cut costs, staff leaves (or is fired) and service degrades rapidly. Comes time of renewal, customers try to leave for another hosting company only to find that the company makes the procedure so convoluted they pass the due date for renewal. Renewal price is unexpectedly high... but hosting company holds the domain hostage and locks down your site. Customer has no choice but to pay through the nose...
Don't let this happen to you!
Pass on the one year of "free domain" and keep your domain free instead!