b2evolution is "self hosted" software. That means that before you can use it, you need to install it.
This short guide will tell you what you need to know in order to successfully install b2evolution for the first time.
You might ask… why bother with an installation procedure? Why can’t I just sign up and get going?
The answer is simple: b2evolution wants you to be in total control.
You own your contents, your posts, your images, your personal details. If you signed up with an online service to publish your data, you would just give up some of your privacy and some of your property rights, you would never fully control who accesses your private date or not (the classic Facebook problem) and you would never have an opportunity to move your stuff somewhere else if things go wrong.
With b2evolution, you own the system that contains your data.
Now… being in control actually requires a minimum amount of effort to.. well.. be in control.
Sounds good? Let us guide you through the installation of your b2evolution powered website.
Installing on your own computer is only useful if you want to test b2evolution before putting it on a real website or if you plan to develop custom skins and plugins. Installing on your own computer also means you need to install extra software on your computer in order to make it simulate a web server (which it is not by default). If you want this, you will find instructions for installing locally here.
On the other hand, installing on a real website requires that you do have a real website to begin with. Read on to know how to get one…
You need a domain, something like
awesome-domain.com. This will be used to form the base address (base "URL") of your website, for example:
You also need a web hosting account. This is an account on a server that is connected to the internet 24x7, waiting to serve whomever tries to access your website.
When you sign up for a web hosting account, most companies will offer you to register a new domain name at the same time. They will also let you use a domain you might already have purchased in advance (even if you purchased it from someone else).
Now, web hosting accounts come in many different shapes, sizes and prices. You can find more details in this article: Web Hosting 101: How to GET STARTED FAST!. You might also want to check out the System Requirements for running b2evolution.
However, for practical purposes, you can just skip ahead to this selection of top web hosting offers. All of these are good starter packages.
Now it all depends on whether your web host offers automated "1 click installation" of b2evolution or not.
Look into the Control Panel of your hosting account and look for an icon/feature called any of the following: "Fantastico", "Softaculous", "Simple Scripts", "Web Apps", "Software install" or anything similar. If you find something like this, click on it and see if you find b2evolution in the list of the software it can install. If you do, check that the version is not too old (our current stable version number can be found here) and try it out. This is the fastest way to install b2evolution. If this works, you’re done with installation and you might want to skip ahead to the Beginner’s Guide.
If automated installation is not available, read on to know everything you need about manual installation. It’s a little longer but the good news are:
You can download b2evolution from the downloads page .
You will notice there are several versions available. For most users it’s best to download the latest stable version.
This will download a
.zip file to your computer which you should unzip. This will create a folder called
b2evolution. This folder contains a file called
index.html which you can double click to get further instructions (sometimes available in several languages) or you can read on here…
To do this, you will use a piece of software called an FTP Client. (FTP means File Transfer Protocol).
If this is all new to you, please follow these guidelines: FTP 101: How to upload and manage files on your web server.
If you know your way around FTP, you can read the short version outlined on the screenshot below:
ATTENTION: Do not upload all files, only upload the contents of the
blogs folder. Again, do not upload the
blogs folder itself; only upload its contents. This will insure that b2evolution is installed at the root of your website so that you can access it through
http://www.awesome-domain.com/ and NOT
If you have other stuff on your site: In this case, of course, you might actually want b2evolution to live in a folder and not at the root. Just make sure you decide on the exact base URL to access the b2evolution-controlled part of your site. For example if you upload the contents of the
blogs folder into
x-files, then your base URL for b2evolution will be something like
Multiple installations: It is possible to install b2evolution multiple times on a site but this this beyond the scope of this guide. See Multiple instances.
b2evolution is going to handle (a lot of) dynamic content. All this content will be stored in a database. This includes posts, comments, photo captions, usernames, passwords, permissions, private messages, forum messages, etc.
b2evolution uses a MySQL database. Most web hosting accounts offer this as a standard feature. However you may be given the credentials of a MySQL database to use when you sign up OR you may need to explicitly create a new MySQL database. Depending on your hosting account you may be allowed to create 1, 2 or more databases. You only need one for b2evolution (but it should be one with good performance! We’re just saying that in case your host offers some "standard" and some "high performance" databases. Get the hi-perf one!)
So here again, you need to use the control panel of your hosting account to find the icon/feature that allows you to create a new MySQL database (or obtain the credentials of an existing one).
In case your web host is OVH, here are specific instructions for OVH.
Note: if necessary, it is possible for b2evolution to share a database with another web application. It is also possible to install multiple b2evolution instances into a single database. However this is beyond the scope of this guide. See Multiple instances.
In the end you should end up with 4 pieces of information similar to the ones below. Note that most hosting companies will force you to use a predefined prefix for your credentials. In the examples below we will us the prefix
xyz_ but yours will be different (il there’s no prefix it’s also ok). So here’s what you should end up with:
xyz_b2evo(can be the same as the DB name)
xyz_b2evo.some.thing(this is the basically the name by which your web site can find and talk to the MySQL server that has your database)
Copy paste all that info into a safe place and take a deep breath; the hardest part is over ;)
Now you want to use your web browser to go to the installation script which is part of the b2evolution files you uploaded earlier. If you followed the upload instructions above you should find it at
This script will ask you for your base url (something like
http://www.awesome-domain.com/ if you uploaded b2evolution at the root of your website) as well as the credentials for the MySQL database to use (four strings you saved in the previous step).
Enter the required information, then let the installer guide you. It should be smooth sailing from there…
When the installer runs, it will display a long list of everything it’s doing. You don’t need to understand everything here, but at the bottom of this page you will see your b2evolution administrator "login" and "password", which you will use to access your new blog. Don’t lose these. They can be changed later, but they are required to access your b2evolution back-office.
If the installation went successfully, you might want to skip ahead to the Beginner’s Guide.
Just make a note that ideally, you should read the following page some day: After installation.
In case something goes wrong, here’s a few links that should solve 99% of possible problems:
Unbelievable! Can't believe how easy it was to get this set up. After running installation scripts, everything worked just fine. The key was in creating a new MySQL db on the host server and having all the credentials at hand.