PHP Forum Software Showdown Part 6: phpBB

It's that time again. This time, we'll be looking at phpBB. “phpBB is a high powered, fully scalable, and highly customizable Open Source bulletin board package. phpBB has a user-friendly interface, simple and straightforward administration panel, and helpful FAQ. Based on the powerful PHP server language and your choice of MySQL, MS-SQL, PostgreSQL or Access/ODBC database servers, phpBB is the ideal free community solution for all web sites.”

Lot's of features, so let's get to it. In this article, we'll be installing phpBB version 2.0.21, which is the latest version, as of June 9, 2006. A beta version of 3.0 came out a very short period before this article was written, otherwise I don't know that phpBB would have made it. Anywho, on with it.

File and folder size

The zip file for phpBB weighs in at around 650 KB. Unzipped, we're looking at almost 2 MB. The zip file contains a single phpBB2 folder, so extract away. phpBB is also available in gzip and bz2 formats.


Check out these requirements. PHP 4.0.3+ and one of these database systems; MySQL 3.22+ or PostgreSQL 7.0.3+ or MS SQL Server 7+ or MS Access 2000+

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 phpBB, we'll create a database called phpBB.

create database phpBB;

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 'phpbb' 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
ON phpBB.*

The first line, “GRANT select, insert, update, delete, index, alter, create, drop”, states what privileges the user will be granted. The next line, “ON phpBB.*”, states what the privileges are applied to. Finally, “TO phpBB IDENTIFIED BY 'phpbb';” 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 = OLD_PASSWORD('phpbb') WHERE User = 'phpBB';

If this query is OK, and it works, type exit, and press Enter. Now attempt to login to the phpBB 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 phpbb. Yippee.

Now, let's install phpBB.

Installing phpBB

First, unzip the downloaded zip file. I'll be using one called phpBB2.

Since we're installing locally, we don't have to worry about permissions. So, once phpBB has been decompressed, navigate to the phpBB root folder in your browser. You'll be automatically be redirected to http://localhost/projects/phpbb2/install/install.php

There's a form to fill-out, so let's get to it.

Database Type: MySQL 4.x/5.x
Choose your installation method: Install
Database Server Hostname/DSN: localhost
Your Database Name: phpBB
Database Username: phpBB
Database Password: phpbb
Prefix for tables in database: phpbb_
Admin Email Address: [email protected]
Domain Name: localhost
Server Port: 80
Script path: /projects/phpbb2/
Administrator Username: admin
Administrator Password: cbe15b

That's it. Woot. You'll have to delete or rename the install and contrib folders (I put an underscore before both). At this point, you can start bouncing around the forum. Woot?

How's the code look?

Like most other forums, phpBB uses tables, and doesn't care to declare a summary. There's also an issue with an 'invalid' target for the footer link.

Internally, code is commented pretty darn well. However, the main comment header is the same copyright notice over and over. Yuck.

Default layout and administrative interface

Once installed, phpBB setups up one category, one forum, and one post.

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. Very similar look to MyBB and PunBB. Where's the admin interface? Oh, there's a link way down at the bottom of the page. Eh.


Checking for updates, amongst other things, is quite easy from the interface, and the install even had an option regarding upgrading. Hmm.

They do have archived files with the changed and patched files only available for download, which is quite nice.

The temporary conclusion

phpBB is pretty much like the others that we've reviewed. But, now that we've gone over all of them, as far as installation and first impressions, it's time to dig into them deeper.

Stay tuned for the next PHP Forum review article, where we start busting heads.

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