November 10, 2005

PunBB: A simple, speedy bulletin board

Author: Joe 'Zonker' Brockmeier

For some time now, I've been looking for a good, open source bulletin board package to run a discussion board on my Web site. After a lot of searching, I've settled on PunBB because it offers the features that I want, and is available under the GNU General Public License (GPL).

PunBB is extremely easy to set up and configure. The requirements are minimal, and the entire procedure should take only a few minutes for users who are moderately familiar with Linux.

PunBB should be easy to install even on hosted environments where you don't have root access to install software. It doesn't require root access for any of the steps -- just a MySQL, PostgreSQL, or SQLite database, and a directory to upload the PunBB files to. See the installation instructions for the details.

PunBB features

According to the PunBB project's about page, the goal for the project is to be "a faster, smaller, and less graphic alternative" to other discussion boards. This means you may not find all the features that you'd get from projects like phpBB, but you should get better performance.

Another reason I chose PunBB is security. PunBB has released some security updates, but I'm not aware of any widespread exploits for PunBB.

I also chose PunBB because it seems to have a healthy development community, so it should be around for some time to come.

For a basic discussion board, PunBB seems to have all the features that I want. The overall layout of PunBB is user-friendly; it looks like phpBB and other popular bulletin boards, and it's easy to navigate.

Users can set up signatures and avatars, and choose from available themes to find a look and feel that suits them. Users can also "subscribe" to posts so that they receive notification when there are new posts to a forum.

Rather than using HTML in posts, PunBB supports BBCode, which is similar to HTML, but it uses a different bracket style ([] instead of <>). This is supposed to be safer than allowing users to input HTML directly, though it's also a bit clunky if you're accustomed to just using HTML when posting.

PunBB - click to enlarge

Many users want the look and feel of the bulletin board to match the rest of their Web site. PunBB comes with a few default styles, my favorite being the Lithium style, and the PunBB community has come up with quite a few more that should be suitable for many people. If you need to match PunBB to an existing site, it's possible to create a custom style using CSS, and the PunBB community has a discussion forum all about styles in PunBB.


PunBB is as easy to administer as it is to install. It took me no more than 20 minutes to go through the admin interface and familiarize myself with PunBB's admin options and features.

I found at least one odd touch. When you add a new forum using PunBB, you're not given the chance to set the name of the forum. Instead, you're asked to select the category for the forum, after which PunBB creates a new forum called "New Forum." You can then edit the name and description, as well as forum permissions. It would make more sense to let the administrator name and configure a new forum when it's created rather than making it a second step.

PunBB has a fairly comprehensive set of permissions options, so you can control whether users can use BBCode, insert images, maximum length of signatures, and so on. One useful option is the ability to restrict subjects, posts, and signatures that consist of all caps. Seeing messages LIKE THIS is a pet peeve of mine, so I'm happy to forbid posts that consist of all caps. However, instead of requiring the user to edit their post, PunBB simply changes the post from all caps to initial caps.

The user permissions are very fine-grained, which is a good thing. For example, you can grant users moderator status over a single forum, rather than giving them moderator status throughout the entire bulletin board. The stock PunBB installation includes four groups: administrators, members, moderators, and guests. Administrators are granted full permissions without restriction, and you can edit the permissions granted to the others. For my purposes, those groups were sufficient, but it's possible to create new groups based on member profiles.

PunBB administration interface - click to enlarge

By default, PunBB allows users to go back and edit their posts. This can be turned off in the group options and settings, so if you want to make sure that posts don't change over time (which I do), you can revoke the edit option. Users do have the opportunity to preview posts before submitting them.

If you have a naughty user (or users) who trolls your forum, you can ban users by username, IP address or IP range, and/or email address. If it's a persistent troll, the only really effective method is likely to be by banning an IP address or range.

If you're concerned about trolling, it's also a good idea to turn on the "verify registrations" feature, so that users have to receive an email to a valid address to complete registration. By default, users can simply register with any email address and start posting to the forum right away. If you'd prefer to restrict registration to people you know, it's also possible to disable user registration altogether. PunBB also makes it possible to require users to agree to forum rules before being registered.

PunBB also provides a censoring option, which allows the administrator to provide a list of words to be censored, and words that will replace the censored word. I tend to agree with George Carlin when it comes to "dirty words," so I haven't bothered to filter any words on my bulletin board.

If PunBB seems to be missing one vital feature that you absolutely have to have, the developers have you covered. It's possible to add features to PunBB via plugins. PunBB comes with a sample plugin that does nothing, but serves as a template for creating new plugins.


As far as I can tell, PunBB's performance is excellent -- though my discussion forum isn't brimming over with users, so it's hard to say how well it would perform under a heavy load.

All in all, I think that PunBB provides a great set of features for users and admins alike. It's easy to set up and administer, and pleasant to use as well. It also looks good in a wide variety of browsers -- I tested PunBB in Firefox, Konqueror, Safari, and even w3m, and it came through with flying colors.


  • Open Source
Click Here!