You can easily run a forum in a foreign language simply by translating
the text strings in the file.  (A number of alternate
versions of that file are already available on the WebScripts site.)

In addition to the text strings, you’ll also find a variable called
%extrachars.  By default, WebBBS will allow search terms to include
any alphanumeric characters (A-Z and 0-9), as well as dashes,
underscores, apostrophes and periods.  If there are other characters
you’d like to allow in search terms, such as “foreign” characters or
particular symbols, you can define them in this variable, along with
any relevant HTML “encoding” that may be used to display them

The following example illustrates how they should be defined:

%extrachars = (


WebBBS uses DBM databases.  There are a variety of DBM “modules”
available, at least one of which should be available on any server on
which Perl has been installed.  As you’d expect, though, not all
modules are created equal.

WebBBS will automatically utilize the best DBM module available on
your server.  Normally, this will be sufficient.  However, if you
notice your forum running very slowly, and/or notice that your database
file(s) are incredibly large (hundreds of meg or more in size), you may
want to contact your system administrators and see about having a better
module installed.  The Berkeley DB_File module, by the way, should be
your first choice; it’s the most efficient of all the available choices.
In fact, it’s so much better a choice than the other options, that the
WebBBS admin script’s main index page will actually tell you if it’s
not available, and recommend that you install it.


You can display “quick info” — the date of the newest message and, if
cookies are being utilized, the number of new messages — on other pages
by calling the WebBBS script from an SSI tag.

On most systems, a tag such as the following should work:

<!–#exec cgi=”/webbbs/”–>

Some systems, though, don’t set the DOCUMENT_URI environment variable
that WebBBS uses to tell whether it was called from an SSI tag.  Most
of those systems, though, also don’t recognize the fact that SSI tags
aren’t supposed to be able to include QUERY_STRING data, so if you find
the above tag trying to load the entire WebBBS index page, you’ll most
likely find that the following tag will work instead:

<!–#exec cgi=”/webbbs/”–>

You can also create static links, if you like, directly to the most
recently-posted message on each of your forums.  Simply link to
“″ instead of directly to “”; when followed,
the link will take you or your visitor directly to the forum’s newest


Although WebBBS can handle fairly large e-mail notification lists,
you’ll probably find as your board gets busier that your subscribers
don’t like getting lots and lots of individual message notifications.
If you’re running a board with heavy traffic, you should probably
switch from the basic “as messages are posted” notification scheme to
the more efficient digest setup.  (As noted above, the digest mailings
are *not* sent out by WebBBS itself; they are handled through the
separate digest script, available from the WebScripts site, which can
easily be set via cron to run automatically at regularly-scheduled



Though WebBBS does not yet directly incorporate password protection, it
works quite well with server-based protection.  All you need to do is
locate your configuration file in a password-protected directory.  And
if your security system sets the “REMOTE_USER” environment variable, as
most do, you can even set WebBBS to require that users post under their
login IDs, thus preventing them from posting under someone else’s name.

Even if you’re not password-protecting your BBS, you should still either
password-protect your data directory, or locate it outside of your Web
space.  There’s no need for the directory itself to be accessible to the
public, and you’re probably better off if it isn’t.  (NOTE that the
directory *does* need to be set world-writable, as stated above; what I
mean here is that it doesn’t need to be physically located within your
Web space.  The script needs to be able to read its contents, but your
visitors don’t!)

If you want to set up a board which anyone can read but to which only a
few designated people may post, you can easily do so by setting up two
configuration files for the same data directory.  One would be publicly
accessible, but defined as “read only”; the other would allow posting,
but be accessible only to those with appropriate IDs and passwords.


The easiest way to display banners — whether you’re using WebAdverts
or any other banner display program — is to include the same sort of
banner calls in your header or footer files as you’d include on any
normal HTML page.  However, if you really want to, you *can* instruct
WebBBS to call WebAdverts directly for banner displays.

To do so, you will need to define the “require” line in the
“insertadvert” subroutine at the end of the WebBBS configuration file
to point to your (WebAdverts display configuration) script.

Once that is done, you can include banners anywhere in your header or
footer files simply by inserting the comment line “<!–InsertAdvert–>”
wherever you want a banner to appear.


The header and footer files utilized by WebBBS can include SSI tags;
the script is able to correctly parse most commonly-used tags.

Specifically, the following SSI tags can be used:

“ECHO DATE_LOCAL” and “ECHO DATE_GMT” tags can be used in your header
and footer files to display the date and time.  However, at this time,
WebBBS does *not* support those tags’ configuration options, so all
times will be displayed in the default format.  “ECHO <var>” tags can
be used to display any standard environment variables.

“EXEC CGI” tags are supported, and should work properly to display
the output of any CGI scripts, no matter what language those scripts
are written in; however, “EXEC CMD” tags are *not* supported.

(WebBBS utilizes the “LWP::Simple” module for running of other CGI
scripts, by the way.  This should present no problems, as that module
is part of the standard distribution of Perl, and should be available
to you.)

“INCLUDE FILE” and “INCLUDE VIRTUAL” tags should both work properly,
to insert the contents of the referenced files into your headers or
footers.  However, if such tags reference “.pl” or “.cgi” files,
the tags will be treated as “EXEC” tags rather than as “INCLUDE”
tags, as they are by far too many servers, anyway.

Finally, “PRINTENV” tags can be used, if you feel the need to
print out a list of all environment variables.

This documentation assumes that you have at least a general familiarity
with setting up Perl scripts.  If you need more specific assistance,
check with your system administrators, consult the WebScripts FAQs
(frequently-asked questions) file <>,
or ask on the WebScripts Forums <>.