PHP Forum Software Showdown Part 4: MyBB

This time, we'll be looking at MyBB. “MyBB is a powerful, efficient and free forum package developed in PHP and MySQL. MyBB has been designed with the end users in mind, you and your subscribers. Full control over your discussion system is presented right at the tip of your fingers, from multiple styles and themes to the ultimate customisation of your forums using the template system.”

In this article, we'll be installing MyBB version 1.2.1, which is the latest version, as of September 27, 2006.

File and folder size

The zip file for MyBB weighs in at just over 1 MB. Unzipped, we're looking at almost 3 MB. The zip file does not contain a single folder, but rather two, so you'll want to unzip to a single MyBB folder. MyBB is also available in gzip and bzip formats.


MyBB requirements were dang hard to find. That said, MyBB requires PHP 4.3.11+ and MySQL 4.0+. The PHP requirement actually seems a little high.

Installing on our local Web server

Unlike past articles, for these forum reviews we're going to create the necessary users and databases using the command line interface of MySQL. If you're going to be installing these forums to a remote system, just create the user(s) and database(s) as usual (and that goes for if you're installing it locally as well).

Creating the user and database via the command-line

First, you'll need to login to MySQL. Open up the Run prompt by going to Start > Run … and type cmd, then press Enter. At the prompt, if you've setup MySQL correctly, you can type the following command, followed by pressing Enter.

mysql -h localhost -u root -p

At this point, you'll be prompted to enter your password, which you'll have already setup. Enter your password and press Enter.

At this point, you're logged into MySQL. Now, we can create our database, create our user, and grant the user privilege to modify the database we created.

Since we're installing MyBB, we'll create a database called MyBB.

create database MyBB;

At this point, you'll be told that “Query OK, 1 row affected”, followed by the execution time.

Now, we'll create a user with privileges to access the database. Note that other than the bold text, this command is case-insensitive. Also, you may want to change 'mybb' to something different (as this is the user's password).

Before you enter this, look it over, and then read the paragraph following, for an explanation.

GRANT select, insert, update, delete, index, alter, create, drop

The first line, “GRANT select, insert, update, delete, index, alter, create, drop”, states what privileges the user will be granted. The next line, “ON MyBB.”, states what the privileges are applied to. Finally, “TO MyBB IDENTIFIED BY 'mybb';” states what user will get these privileges. Since the user doesn't exist yet, we're also giving a password to the user.

If the query is OK, enter the following command.

UPDATE mysql.user SET Password = OLDPASSWORD('mybb') WHERE User = 'MyBB';

If this query is OK, and it works, type exit, and press Enter. Now attempt to login to the MyBB user. Once you've logged in, enter the following command.

show databases;

You should be given an ASCII table that shows there's a database of mybb. Yippee.

Now, let's install MyBB.

Installing MyBB

First, unzip the downloaded zip file. The files are within two folders in the zip file, so make sure you create a folder to dump these into. I'll be using one called mybb.

Since we're installing locally, we don't have to worry about permissions. So, once MyBB has been decompressed, navigate to the MyBB root folder in your browser and then the upload/install folder. On my install, this is at http://localhost/projects/mybb/install/. I simply moved the upload folder's contents into the mybb folder.

You're in for it now. There's ten pages, from the initial look, that you'll have to go through. Here goes.

Read and Next along. There's a Requirements Check page which will tell you if you're set for requirements. If you've followed along with my other tutorials, you will be set.

In Database Configuration, leave Host as is.

Database Host: localhost
Database Username: MyBB
Database Password: mybb
Database Name: MyBB
Table Prefix: mybb

Once this has been entered, and you've pressed Next, the necessary tables (all fifty of them) will be created. Okay, so I was kidding about the fifty, but there's a whole lot. Yeesh. Next will populate these tables with some data, then setup the default theme.

Board Configuration is next, which will have some default settings. These will be fine, except the cookie path will have to be updated (why they couldn't do this, since they populated the others, we'll never know), followed by an email setting. Based on the URL of http://localhost/projects/mybb/, my settings were as follows. Note that the domain is blank.

Cookie Domain:
Cookie Path: /projects/mybb/

Next you'll create an Administrator Account. I used the same settings as I've used for the previous forums.

Username: admin
Password: cbe15b

At this point, MyBB will be setup. Yay. The installer will also be locked by the creation of a 'lock' file. That is nice.

How's the code look?

Like most other forums, MyBB uses tables, and doesn't care to declare a summary. However, that looks like the only issue. Some of the admin pages are especially table-heavy.

Internally, some code is commented, while some is not. That's unfortunate, but from the MyBB site, it sounds like this will change.

Default layout and administrative interface

Once installed, MyBB setups up one category and no topics.

Unfortunately, the look is very boxy, and reminds me of the look of a number of other forums. There's really not that much, graphically, that separates it from the others.


Checking for updates, amongst other things, is quite easy from the interface. Unfortunately, when I attempted to check for updates, Apache started choking on me, specifically with problems in the php4ts.dll.

There's one download file, but it looks like they do state what files have been changed.

The temporary conclusion

MyBB has a nice administrative interface, but the default layout doesn't really get me excited. That's all I'll say, until we've got the last two forums installed.

Stay tuned for the next PHP Forum review.

View all of the steps to creating a local Web server, for development.