Geek Talk

My Bulletin Board

As you may or may not have noticed, I have a BBS (Bulletin Board System) running on my site at bbs.stardestroyer.net. I use phpBB, for several reasons:

  1. It's free.
  2. It is very easy to customize and modify. In fact, I basically learned PHP as a result of tinkering with phpBB.
  3. There's no scary corporate license hanging over my head. PhpBB is GPL'd, and all open-source geeks will know what that means.
  4. The extra features typically found in BB$ systems are mostly uninteresting to me (what the hell is this fascination with "Calendar functions" in BB$ systems? Do people use a BB$ as a personal information manager?). Those that are compelling could be hacked into phpBB if I felt like it.
  5. It works on different database systems. If I wanted to switch to PostgreSQL, it would be supported. This is one of those feelgood security features for me, knowing that an option is available to me (particularly since MySQL has well-documented performance problems when database sizes grow large due to its lack of row-locking on MyISAM tables and other issues).

I'm not trying to run down the competition, but #1 and #3 are big issues for me; I like knowing that there isn't some company out there that can abruptly change its licensing terms on a whim and screw me. Of course, I would be remiss if I didn't mention phpBB's competitors. According to www.big-boards.com, a short list of the most popular ones would be:

As you can see, I would consider it crazy to use either EZBoard or UBB, but I'd say there might be valid reasons for choosing either phpBB, Invision, or VBulletin, depending on what you combination of price and features you find to be most important. For someone like me, who used to be in corporate IT and places great value on not being beholden to a corporation for support, any GPL'd solution wins every time, so it's an easy slam-dunk to use phpBB. Besides, one of the biggest knocks against phpBB is the performance penalty incurred by its robust search system, and I've modified my board to significantly accelerate search performance, so this isn't an issue for me.

My forums currently run on a self-hosted 2GHz single-CPU system with a 2Mbps symmetrical Internet connection and a single IDE hard drive. Not exactly a hot performer by modern standards (in fact, its specs are really more appropriate for a home PC and would be considered quite weak compared to what one might consider a professional-grade server, where you'd expect to find multiple SCSI hard drives, multiple CPU units, and multiple gigabytes of RAM). Nevertheless, performance is currently acceptable.

I've made the following modifications to my phpBB installation:

  1. Numerous changes to the language files in order to customize the default messages displayed on the screen, in keeping with the theme of my website.
  2. Admin-panel modifications making it more convenient to manage users and allowing me to change or recalculate user post counts.
  3. BBCode modifications allowing left and right-justified images.
  4. A display modification to show yellow stars for seniority under each user's name, one star for each 6-month period that the user has been on the forums (this gives a way to gauge seniority as opposed to post count, since some senior members don't have a lot of posts and youngsters with high post counts often assume that they're newbies). This used to be on the official phpBB website as the Yearstars MOD, but they appear to have dropped it because the download link no longer works. I keep a copy here.
  5. Numerous security-related modifications, such as eliminating guest access to certain areas (based on a "Restrict Guest Access" MOD which used to be available at the official phpBB site but which the link no longer works, so I keep my updated version of it here), forcing users to use complex passwords, locking out accounts upon 3 consecutive bad login attempts, etc.
  6. Modifying the search function so that it batch-updates the search tables once a day on a cronjob instead of updating them every single time someone adds, edits, or deletes a post. This modification was performed with help from "R45" at the phpbb forums, but it was never made into an official MOD, so I keep my own custom MOD version of it here. This mod makes a huge difference in performance, especially with a BBS that has well over a million posts in the database.
  7. A "header message" mod which I made up in order to plaster a message across the top of the forums in addition to the site name and description. It was originally created in order to put up a note of condolence for a board member (John Healey) who died tragically. After several months, it was changed to a good-luck message for some of our friends serving with the US military in Iraq. You can see this mod here.

I also back up the database daily and copy it to an offsite location weekly, both via automatic cronjobs. If there's one thing I've learned after using phpBB for two years now, it's that the learning experience of running your own forum is quite invaluable. While some of the lessons from corporate system administration can be carried over, it really is its own particular field, and in its own way, it's quite rewarding to create an online community. There is no way to know how long mine will remain at its present level of popularity, or whether it will someday fade away, but the creation of an online community brings you into contact with people you would have otherwise never encountered, and I'm pleased to say I've even met several people from my forums in real life, and hope to meet many more.

Last updated: 2004/09/18


Continue to Security for N00bs

Jump to: