WWWBoard

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."

PCWeek, July 1996
Perl v2.0 ALPHA 2.1 Patched Jan 2000

Quick Info

  • Version: 2.0 ALPHA 2.1
  • Patched: January 07, 2000
  • Language: Perl 5+
  • License: Free for use
  • Includes: WWWAdmin tool

Historical Context

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.

Why WWWBoard Mattered

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+.

Forum Timeline

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.

Modern Forum Software

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

Comparison: WWWBoard vs Modern Forums

Feature WWWBoard (1996) phpBB Discourse
User registrationNoYesYes
Spam protectionNoneCAPTCHA, AkismetAI + Trust levels
Mobile supportNoThemesBuilt-in
SearchNoneFull-textAdvanced
DatabaseFlat filesMySQLPostgreSQL

Overview

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.

Package Contents

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

Features

Discussion Features

  • Threaded message display
  • Post new messages
  • Follow up to existing posts
  • Subject line threading
  • Email address linking
  • Optional URL field

Admin Features (WWWAdmin)

  • Password-protected administration
  • Delete individual messages
  • Remove threads
  • Board maintenance tools
  • Message archiving options

Installation

Step 1: Download and Extract

Download the WWWBoard package and extract all files.

Step 2: Upload Files

  • wwwboard.pl → CGI-bin directory
  • wwwadmin.pl → CGI-bin directory
  • wwwboard.html → Web directory
  • faq.html → Web directory
  • data.txt → Web directory (or secure location)
  • passwd.txtOutside web root (e.g. /home/user/wwwboard/)
  • messages/ → Create directory in web space

Step 3: Set Permissions

# 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/

Step 4: Configure Variables

Edit wwwboard.pl and set required paths and URLs.

Step 5: Set Admin Password

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

Download the WWWBoard script package:

Working Demo

Frequently Asked Questions

Common issues with WWWAdmin:

  • Check file permissions on wwwadmin.pl (should be 755)
  • Verify the path to passwd.txt is correct
  • Ensure passwd.txt is readable by the web server
  • Check your Perl path in the shebang line
  • Look at server error logs for specific errors

Password authentication issues:

  • Ensure passwd.txt contains properly encrypted passwords
  • Use Perl's crypt() function to generate password hashes
  • Format should be: username:encrypted_password
  • Check file permissions on passwd.txt

See 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:

  • Move passwd.txt outside the web root
  • Update to version 2.0 ALPHA 2.1
  • Restrict admin access by IP via .htaccess
  • Back up the messages/ directory regularly

  • Edit wwwboard.html template for the main page layout
  • Modify HTML output in wwwboard.pl (the $html_header and $html_footer variables)
  • Change colors and fonts via configuration variables at the top of the script

  1. Create separate directories for each board
  2. Copy all files to each directory
  3. Configure each wwwboard.pl with unique paths
  4. Use different data.txt and messages/ for each

Or use the single-script multiple boards modification from the Extras section.

View All FAQs | WWWBoard FAQ Archive

WWWBoard in Action

See examples of WWWBoard implementations:

WWWBoard Extras

Historical add-ons and modifications for WWWBoard:

Multiple Boards on One Script

Run multiple discussion boards using a single wwwboard.pl installation.

Multi-Page Layout

Solution for large bulletin boards with archiving and pagination options.

Simple Search Engine

Add search functionality to find messages in your WWWBoard.

Preview Before Posting

Allow users to preview their messages before submitting.

Private Board

Create a password-protected private discussion board.

Subscription Function

Email notifications when new posts are added.

Japanese Version

Support for Japanese characters with translated documentation.

Related Scripts

Guestbook Perl

Simpler visitor comment system without threading.

FormMail Perl

Send form data via email instead of posting to a board.