WebBBS Documentation Part 1THE PERL SCRIPTS ARE NO LONGER BEEING SUPPORTED - PLEASE GO TO TETRABB.COM FOR THE NEWEST VERSION OF THE WEBBBS FORUM
The files that you need are as follows:
webbbs_basic.pl, webbbs_form.pl, webbbs_index.pl, webbbs_misc.pl,
webbbs_post.pl, webbbs_profile.pl, webbbs_read.pl and
webbbs_rebuild.pl: These are the “pieces” of the main program file.
You don’t actually need to do anything with them; the appropriate
segments will be called by the configuration script depending upon
what specific action the script is supposed to perform.
webbbs_settings.pl: The “master” configuration file. In this file,
you define the bulk of your configuration settings.
webbbs_config.pl: This is the specific configuration file for a
particular board. In this file, you define those configuration
variables unique to the particular board in question. This is also
the file that you will execute. (You can easily maintain multiple
discussion boards just by keeping separate config files for each.
You do *not* need multiple copies of the main script files.)
webbbs_text.pl: A simple file containing the text of messages included
on various pages by the program. They’re separated to make alteration
or translation a bit easier.
“smilies” folder: This folder just contains some simple “smily”
graphics that you can use, if you like, with WebBBS.
Basic setup is very simple. You need only to create a directory in
which the script will store the message and other data files, and make
sure that it is set world-writable. The script files can be put
wherever you like (or wherever your system administrators require them
The configuration file should, of course, be set executable. Make sure
that the first line of the script matches the location of your system’s
Perl interpreter. As well, a number of variables need to be defined.
Note that *only* the variables in the configuration script and in the
first section of the “settings” script need to be changed from their
default values. If you’re not sure you know what you’re doing, don’t
even bother looking at any other of the configuration settings until you
have your file paths and e-mail variables defined correctly, and have
verified that the script is indeed functioning!
(A) The essential variables are as follows:
In the config script itself, first make sure that the “require” line
is defined with the correct path to your webbbs_settings.pl file. Then
define the following variables:
$dir: The absolute path (minus a trailing slash) of the directory
in which all the WebBBS data files are to be stored. This directory
must be set world-writable, or else WebBBS won’t be able to use it!
Your data directory, by the way, should *not* be located within
your CGI-BIN directory. Even if your server allows it — which
many don’t — locating a world-writable directory and world-
writable files within your CGI-BIN is an unacceptable (and
unnecessary) security risk.
$cgiurl: The URL address of the WebBBS configuration script itself.
(In other words, it should contain the URL to be referenced to run
$boardname: The name of your specific discussion board. THIS VARIABLE
MUST BE DEFINED FOR COOKIES AND CERTAIN OTHER SCRIPT FUNCTIONS TO
WORK PROPERLY! If you don’t want the board name to print, set
$printboardname as 0. Do *not* simply leave $boardname undefined.
$shortboardname: You can optionally define here a shorter version of
your forum’s name, to be used in the subject lines of any e-mail
notices sent out announcing new posts. (If this variable is not
defined, your forum’s full name will be used.)
Under the third heading (“Define variables you want changed from
webbbs_settings.pl”), simply re-define any of the variables from the
“settings” script which, for whatever reason, should be different for
this particular board. (If you’re only *running* one forum, obviously,
this is a moot point. But if you’re running multiple boards, while many
settings will be consistent from one to another, other settings, such as
the forum name, will be different in each case.)
Once you’re done with the webbbs_config.pl script, you’ll need to define
the following variables in webbbs_settings.pl:
$scripts_dir: This is the directory in which all of the script files
reside. (They don’t *have* to all be in a single directory, but it’s
certainly simpler if they are.) As you did when you defined the data
directory, be sure to define this variable with a *path*, and not
with a URL. Note that this directory, unlike the data directory
defined in your config script, does *not* have to be world-writable.
$webbbs_basic, $webbbs_form, $webbbs_index, $webbbs_misc, $webbbs_post,
$webbbs_profile, $webbbs_read, $webbbs_rebuild and $webbbs_text:
These variables define the specific locations of the various “pieces”
of the WebBBS script. If they all reside in the directory defined
in $scripts_dir, and have not been renamed, then you do *not* need
to alter the default definitions.
$mailprog: This variable defines what, if any, mail program is to
be utilized by the script. It can be defined in one of three ways.
The prefered definition is the absolute path to the “sendmail”
program, at least if you’re on a server that *has* it. (NT servers
do *not*.) Note that this is *not* the same as the “mail” program,
and has absolutely nothing to do with Matt Wright’s “formmail” or any
other CGI script. If your system doesn’t have “sendmail,” you can
instead define the variable as “SMTP” to instruct WebAdverts to access
your server’s mail server directly. Finally, if it’s available to
you, you can utilize Libnet’s “Net::SMTP” Perl module by defining the
$mailprog variable as “libnet”. If you simply don’t want the various
e-mail notification functions activated, leave this variable
$WEB_SERVER & $SMTP_SERVER: If you’re using a direct SMTP interface,
you can define either or both of these variables with the relevant
server names. If you leave them undefined, the script will attempt
to determine for itself what the names should be. If you’re using
sendmail, of course, these variables are irrelevant.
$admin_name: The name of your board’s administrator. It will appear
at the bottom of script-generated pages with an e-mail link (using
$maillist_address: The address you wish to use for e-mail related to
your BBS. The “@” character in your address must be “escaped” with
a backslash (e.g., “scripts\@awsd.com”). Note that this variable
should be assigned even if you don’t enable the various e-mail
notification functions, since the maillist address is also shown on
some of the BBS’s admin pages to let people know how to contact you
if they have any problems.
$notification_address: If you send out e-mail notices, they will be
addressed “From:” the $maillist_address above, and “To:” the address
defined here. If you don’t want to receive copies of all the notices,
define this with a dummy value. If you *do* want to receive copies,
define it with a real address (such as your administrative address
already defined above). Please note that by “dummy value” I do *not*
mean that you should send the notices to someone else’s domain! Set
up an address within your own domain which automatically deletes
$ReplyToAddress: If you leave this variable undefined, the “Reply-To:”
field in e-mail notifications will be the same as the “From:” field
(i.e., it will contain the address defined in $maillist_address).
If you prefer that direct responses to the mailings be sent to a
different address — for example, to an auto-responder which will
mail back a “Please don’t respond via e-mail, but respond on the
forum!” message — define the appropriate address here.
$email_list: If you don’t want to set up any sort of e-mail list to
notify interested parties of new posts, simply leave this variable
unassigned. If you have a relatively low-volume board, and want to
allow people to get e-mail copies of any messages immediately as they
are posted, set it to “1″. If you want to set up a digest-style
notification list, set it to “2″. Note that the digest mailings are
*not* handled by the WebBBS script itself; if you want to send out
that sort of notification, you’ll also need to set up the separate
WebBBS Digest script available from the WebBBS download page.
$private_list: If you want e-mail notices to be sent out, but *don’t*
want just anyone visiting your board to be able to subscribe, set
this variable to 1. (Setting this variable to 1 but leaving
$email_list set to 0 is an easy way to ensure that the administrator
gets copies of each post, even if no one else does.)
$HeaderOnly: If you set this variable to “1″, any e-mail notifications
will contain only the header information, and not the main body of the
post. This is handy if you want to be able to let people know when
new messages are posted, but still want them to have to come to the
BBS itself to *read* thos messages. Note that this setting will not
effect the manner in which digests are sent out; if you’re using the
digest option, the e-mail notices will *always* contain the full text
of the messages posted.
If you’re utilizing the direct SMTP interface rather than the “sendmail”
program, uncomment the “use Socket” line in the config file. (In other
words, remove the initial hash mark symbol.) Otherwise, just leave it
If you’re using the “Net:SMTP” module, uncomment both the “use Net:SMTP”
line and the “use Socket” line.