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.
A2 Hosting was founded in August 2001 under the original name of Iniquinet. It was later renamed to A2 Hosting. A2 is a tribute to the company's home town of Ann Arbor, MI. The company is focus on providing excellence in technology (including speed). They were one of the first web hosting companies to offer PHP 5 in July 2004 and MySQL 5 in April 2006. They were also among the first to introduce SSD drives in a hosting offer (January 2013).
In addition to hosting in the US, A2 Hosting now also has datacenters in Amsterdam and Singapore.
Types of hosting offered
[stars:5] We especially like the b2evolution hosting offer which consists of high speed shared hosting with automated installation of b2evolution upon signup, at an attractive price.
Having this whole range of hosting solutions available is interesting if you sign up for a long term contract because you know you will be able to upgrade to a higher capacity or higher performance plan if needed. Some other hosting companies are much more limited in upgrade options.
[stars:5] With more than 10 years of experience, using SSD drives and additional fine tuning of their software and hardware by their inhouse experts, A2 Hosting offers some of the fastest shared, reseller and VPS hosting solutions on the market called SwiftServers and Turbo Servers.
Turbo Servers are up to 20X faster than some of the competing hosting offers. This is compared to the low end of course. But even a 2X increase on another host makes a world of a difference to your users!
Additionally, you can choose your datacenter ( USA / Europe / Asia ) in order to get your website hosted closer to your customers, which reduces latency in web requests and responses and leads to faster display of your web pages.
Green / Environment focus
[stars:5] 100% Carbon Neutral. A2Hosting is a partner of Carbonfund.org. Their FutureServe Green Host package focuses on protecting the environment for future generations. In addition to carbon neutrality, A2 Hosting develops their own green policies like telecommuting for their employees and reusing older hardware. More info »
[stars:4.5] A2Hosting offers 24/7/365 support. You can speak to a real person at any time. Their support technicians are knowledgeable and patient.
Reliability & Uptime
[stars:5] A2 Hosting claims 99.9% uptime. Our own testing showed picked up no downtime at all.
[stars:5] A2 Hosting is completely up to date on the required technologies.
At the time of writing (March 2017):
SSH & rsync are Free and available out of the box. No need to even turn it on.
[stars:5] In addition to providing a secure hosting platform, A2 Hosting also offers Free SSL certificates on Shared Hosting, Reseller Hosting, Managed VPS and Managed Servers.
This means that when you purchase your domain through A2 Hosting, you get zero-configuration https support for your website!
[stars:5] A2 Hosting is among the very top in terms of performance and technology. The price is reasonable and support is good. All in all a very good hosting solution. Even more so if you are a technology enthusiast! (as we are ;)
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.