WWWBoard (v2.0 Alpha 2.1) was Matt Wright's Perl-based discussion forum — a precursor to phpBB, vBulletin, and modern forum software.
"WWWBoard, a Perl script-based message board with some of the features found in higher-end products."
Released in 1996, WWWBoard was one of the first CGI scripts to bring threaded discussions to the web. It stored each message as a separate HTML file and used flat-file indexing — no database required. Thousands of websites ran WWWBoard before dedicated forum software like phpBB (2000) and vBulletin existed.
WWWBoard gave any site with Perl and CGI access a working discussion forum at zero cost. It was the standard community tool on shared hosting throughout the late 1990s, when alternatives like UBB cost $100+.
1996: WWWBoard, UBB. 2000: phpBB, vBulletin launched. 2010: Facebook Groups and Reddit grew dominant. 2014: Discourse introduced modern forum architecture with trust levels and real-time updates.
passwd.txt file was a well-known vulnerability — stored in the web root with predictable paths, it allowed attackers to download admin password hashes. The followup field exploit also enabled board clobbering. Version 2.0 ALPHA 2.1 patches the followup issue, but passwd.txt must be moved outside the web root manually.
| Software | Stack | Cost | Notes |
|---|---|---|---|
| Discourse | Ruby / Docker | Free (self-hosted) / $100+/mo hosted | Trust system, real-time, used by Docker and GitLab communities |
| phpBB | PHP / MySQL | Free | Most widely deployed open-source forum since 2000 |
| Flarum | PHP / MySQL | Free (MIT) | Lightweight, mobile-first, clean UI |
| NodeBB | Node.js / Redis or MongoDB | Free (self-hosted) | Real-time, plugin ecosystem, social integrations |
| XenForo | PHP / MySQL | From $160 (license) | Commercial, built by ex-vBulletin developers |
| Feature | WWWBoard (1996) | phpBB | Discourse |
|---|---|---|---|
| User registration | No | Yes | Yes |
| Spam protection | None | CAPTCHA, Akismet | AI + Trust levels |
| Mobile support | No | Themes | Built-in |
| Search | None | Full-text | Advanced |
| Database | Flat files | MySQL | PostgreSQL |
WWWBoard is a threaded World Wide Web discussion forum and message board. Users can post new messages, follow up to existing ones, and participate in discussions organized by thread.
The current release (2.0 ALPHA 2.1) includes the WWWAdmin program for board maintenance and has security patches to prevent board clobbering by followup fields.
| File | Description |
|---|---|
wwwboard.pl |
Main WWWBoard Perl script |
wwwadmin.pl |
Admin script for board maintenance |
wwwboard.html |
HTML file with post form and message links |
faq.html |
FAQ file for your users |
data.txt |
Data file tracking message numbers |
passwd.txt |
Password file for WWWAdmin (move outside web root) |
messages/ |
Directory where posted messages are stored as individual HTML files |
README |
Installation and configuration guide |
ADMIN_README |
WWWAdmin documentation |
ALPHA-2 |
Special information about this release |
Download the WWWBoard package and extract all files.
wwwboard.pl → CGI-bin directorywwwadmin.pl → CGI-bin directorywwwboard.html → Web directoryfaq.html → Web directorydata.txt → Web directory (or secure location)passwd.txt → Outside web root (e.g. /home/user/wwwboard/)messages/ → Create directory in web space# Scripts executable
chmod 755 wwwboard.pl
chmod 755 wwwadmin.pl
# Data files writable
chmod 666 data.txt
chmod 666 wwwboard.html
# Messages directory writable
chmod 777 messages/
Edit wwwboard.pl and set required paths and URLs.
Create a password hash using Perl's crypt() function and add it to passwd.txt for WWWAdmin access. Keep this file outside the web root.
Download the WWWBoard script package:
See WWWBoard in action:
Common issues with WWWAdmin:
wwwadmin.pl (should be 755)passwd.txt is correctpasswd.txt is readable by the web serverPassword authentication issues:
passwd.txt contains properly encrypted passwordscrypt() function to generate password hashesusername:encrypted_passwordpasswd.txtSee the Extras section below for historical add-ons. For modern alternatives, see the comparison table above (phpBB, Discourse, Flarum, NodeBB).
Yes. Requirements: Perl for Windows (ActivePerl or Strawberry Perl), a web server with CGI support (IIS or Apache), and adjusted file paths (backslashes on Windows).
Mitigations:
passwd.txt outside the web root.htaccessmessages/ directory regularlywwwboard.html template for the main page layoutwwwboard.pl (the $html_header and $html_footer variables)wwwboard.pl with unique pathsdata.txt and messages/ for eachOr use the single-script multiple boards modification from the Extras section.
See examples of WWWBoard implementations:
Historical add-ons and modifications for WWWBoard:
Run multiple discussion boards using a single wwwboard.pl installation.
Solution for large bulletin boards with archiving and pagination options.
Add search functionality to find messages in your WWWBoard.
Allow users to preview their messages before submitting.
Create a password-protected private discussion board.
Email notifications when new posts are added.
Support for Japanese characters with translated documentation.