How to install YaBB 1 in your Spaceports CGI Account


This article is to address the problems Spaceports members have raised in the Spaceports Member Forum. Many users got stuck in the installation procedure and ask for help in the Support Forum. Some managed to get the board up and running eventually, whilst many others have given up. However, this is actually not difficult at all, and this article tries to enumerate the possible sources of errors and describe the installation procedure in detail. I hope this article would help other users get their board working eventually.


To complete the installation procedure you need:-

  • a cgi-bin account (could be obtained after you login at your account configuration menu)
  • an FTP client (SmartFTP recommended)
  • any text editor (Notepad is sufficient, but I like Anyedit)
  • the YaBB package, downloaded from YaBB and extracted (Assume everything is extracted to C:\YaBB in this tutorial)
  • ... and last but not least, patience

Note: In this tutorial, YaBB 1 Gold SP1 is assumed because this is the newest version, however the older versions could be installed in a similar manner.

Differences between the .pl and .cgi version

Basically both versions are the same and equally functional. However, some older servers (which are getting rare now) do not recognize Perl programs (.pl) as CGI scripts. For the Spaceports CGI server, both versions work well, so I recommend downloading the .pl version.


Understanding the directory structure of the package

After you have downloaded and extracted the archive to C:\YaBB, you should see the directory structure as below :-

Local DirectoryDescription
C:\YaBB\cgi-binContains all your YaBB source files and data files
C:\YaBB\cgi-bin\yabbAs above
C:\YaBB\cgi-bin\yabb\BoardsWill hold all data concerning your boards in the forum
C:\YaBB\cgi-bin\yabb\MembersWill hold all data of your forum members
C:\YaBB\cgi-bin\yabb\MessagesWill hold all messages on your forum
C:\YaBB\cgi-bin\yabb\SourcesPerl source files for functioning of different sections of your forum
C:\YaBB\cgi-bin\yabb\VariablesData files that can be configured by forum administrator
C:\YaBB\public_htmlContains supplementary stuff like images and documentation
C:\YaBB\public_html\YaBBHelpContains documentation for the current version
C:\YaBB\public_html\YaBBHelp\imagesImage files used in the documentation
C:\YaBB\public_html\YaBBImagesImage files for the forum
C:\YaBB\public_html\YaBBImages\avatarsPics forum members can choose from to represent themselves

The public_html directory contains all official documentation for YaBB. You SHOULD read them (not just this article).


Preparing the Settings.pl file for subsequent installation

The Settings.pl file contains important data for your YaBB forum. The settings in this file must be correct for the forum to function correctly. So, before uploading anything to your CGI account, check if this file is correct before doing so.

The file is located at C:\YaBB\cgi-bin\yabb\Settings.pl. Fetch a text editor and open it. You will see many options there. However, only some of them needs to be configured at this point. The others can be configured later by logging into your forum as 'admin' through the admin configuration center. I will only cover those essential options here.

$mbname = "My Test YaBB Forum";
Specifies the title to set for your forum. You can set it to anything you like.

$boardurl = "http://cgi-bin.spaceports.com/~yourid/cgi-bin/yabb";
At this point you will need to consider where to install your YaBB source files. In this article it is assumed to be in a "yabb" directory inside the "cgi-bin" directory, and "cgi-bin" is inside your "public_html" directory. You must upload all your files into the public_html directory or its subdirectories in your cgi-bin spaceports account. Substitute "yourid" with your account ID.

$emailpassword = 0;
Because sendmail is disabled on Spaceports cgi-bin server, you cannot have YaBB send password to your forum members upon registration. You need to set this to 0, otherwise your new members will never get the password! In this way, upon registration your new members specify their own password instead.

$emailwelcome = 0;
Similarly, this setting shouldn't be configured to 1 as no mail could be sent by the forum.

$facesdir = "../../YaBBImages/avatars";
This depends on where you place the YaBBImages directory and where you place your forum source files. If you follow this article, "YaBBImages" is placed in the "public_html" directory and this path is correct. This path is a relative path with reference to the directory where YaBB.pl resides (that is, the $boardurl).

$facesurl = "http://cgi-bin.spaceports.com/~yourid/YaBBImages/avatars";
This refers to the same location as $facesdir, except you now put it in absolute URL address.

$imagesdir = "http://cgi-bin.spaceports.com/~yourid/YaBBImages";
The URL to the "YaBBImages" directory.

$ubbcjspath = "http://cgi-bin.spaceports.com/~yourid/ubbc.js";
The URL to the ubbc.js file, a javascript file that allows forum members to click on buttons to insert YaBBC code into their posts. In this article, the file is uploaded to the "public_html" directory.

$faderpath = "http://cgi-bin.spaceports.com/~yourid/fader.js";
The URL to the fader.js file, a javascript file that is necessary if you want to use the news fader of YaBB. In this article, the file is uploaded to the "public_html" directory.

$helpfile = "http://cgi-bin.spaceports.com/~yourid/YaBBHelp/index.html";
The URL to the official help documentation when a forum visitor click on the "Help" icon. In this article, all the files are placed in "YaBBHelp" directory in the "public_html" directory.

Click here for a sample Settings.pl file that I use. After you have checked the settings carefully, save and close the file, and close the text editor. Now you are ready for uploading.


Uploading the necessary files

Now open the FTP client of your choice (SmartFTP used in this article). Several notes must be clarified here:

You need to configure your FTP client to connect in Passive Mode (PASV). The default mode (PORT) will not work when connecting to the cgi-bin.spaceports.com server, as this server is protected by a firewall that restricts incoming connection from outside. How to set this option depends on the FTP client you choose. Please check it up from the help documentation of your FTP client.
Some FTP clients, like the command-line ftp program supplied with Windows, do not support PASV. Do not use these FTP clients.

You will be asked to upload certain files in binary mode while the rest in ASCII mode. By transferring in ASCII mode, your files are treated as some sort of text files and transfer your files line by line. Because how a line is terminated is different in Windows and in other operating systems, this copying action must resolve for the difference in the line terminating character on every line. This article assumes you are using some version of Microsoft Windows, and you ought to find that the size of the files and the uploaded files would slightly differ. If you are using other operating systems, especially those in the Unix family (including Linux), use Binary mode for all file transfers as transferring in ASCII mode will add superfluous line terminating characters and lead to the files being messed up. Also, bear in mind that your directory names must match those written in the Settings.pl, including capitalization. If the Settings.pl refers to the "Boards" directory in $boardsdir, for example, then the directory has to be named "Boards", not something like "boards" or other weird combination of capitalizations.

By using FTP clients with a graphical user interface, uploading is largely a process of some drag-and-drop operations. In SmartFTP and in other similar FTP clients, uploading is done by selecting the files to upload from the local browser and drag-and-drop them on the window representing the remote FTP account. Please refer to your FTP client for details.

You will also need to know how to chmod your files on the remote account through your FTP client. chmod is a Unix command for setting the permission of any specified file. A good text that explains chmod in detail can be found here.

Some Tutorials on common FTP Clients

Here is a list of tutorials about the use of commonly-used FTP clients at the time of writing of this article :-

Now you can upload your files and chmod them according to this table:

----- /public_html/ -----
----- /public_html/cgi-bin (ALL in ASCII) -----
yabb/Boards/*.* (others)rw-rw-rw-(666)
yabb/Members/*.* (others)rw-rw-rw-(666)
yabb/Messages/*.* (others)rw-rw-rw-(666)
yabb/Sources/*.* (others)rw-r--r--(644)
yabb/Variables/*.* (others)rw-rw-rw-(666)

This table is similar to the one shown in the installation manual. The given chmods have been tested on the cgi-bin.spaceports.com server. In general, you don't need to chmod files with permission 644 as this is the default permission given to any uploaded file.


Testing and completing configuration

The installation process has been largely finished. If you have made sure your chmods are correct and all the files are uploaded with correct capitalization, go to your newly created forum at http://cgi-bin.spaceports.com/~yourid/cgi-bin/yabb/YaBB.pl, again substituting "yourid" with your account ID. You should be able to reach the index screen of the YaBB board, as in this figure. At this point you can log in as 'admin' using the password 'admin'. You will need to change your admin password to prevent others' unauthorized modifications of your forum configurations. You may also want to click on the 'Admin' icon to go to the admin's configuration center to set options like disabling email notification, setting the time offset of the forum etc. Please read the official documentation for details.

Congratulations! Your board has been successfully set up!


I access the YaBB.pl file after installation and get the "File Not Found" (404) error.

That means the file is not found at the specified URL. Check if you have uploaded all your files into the public_html directory of your cgi-bin account. The public_html directory should have been made automatically when you sign up for the account. But if it's not there, simply create one yourself just like making any other directories.

I access the YaBB.pl file after installation and get the "Internal Server Error" (500) message.

They may be caused by problems like incorrect chmods that makes certain file write attempts to fail, or you may have set some variables in Settings.pl in a way that violates the Perl syntax (e.g. there shouldn't be unescaped double quotes inside a doubly-quoted string).

Forum members cannot retrieve their forgotten password via email.

sendmail is disabled on Spaceports CGI server. So it is normal that no mail would be sent, and some error messages may (possibly) appear when they do so.

Dialog boxes keep popping up complaining on Javascript errors!

Two possibilities. The first is that the two javascript paths in Settings.pl is not correctly set. The second may be caused by the scripts themselves. The script is configured for only several mainstream browsers that support Javascript. These scripts may not work well with some other Javascript browsers, either because their javascript implementation is slightly different or incomplete. In this case, either you modify the javascript source or simply disable the news fader script altogether.


Before you yell for help, check these points :-

  • Did all your files reside in the "public_html" directory?
  • Are the paths in Settings.pl correctly specified?
  • Are the chmods correct and are the files uploaded using the correct mode (ASCII or binary)?
  • Are the file capitalizations correct?
Last Updated on 17/12/2002
Chan Bernard Ki Hong (1999-2004).
Downloads | FAQ | Legal Information | Feedback | Validate This Page