Converting Your UBB.threads™ Community from the Perl to PHP Version (Unix Server)

What you Need

·        An FTP client (such as CuteFTP, Leap, Fetch, etc.)

·        PHP must be installed on the web server (version 4 or higher - nonbeta)

·        Your Perl UBB.threads™ database must be uncorrupted.

·        Database name, host name, username, and password for the database. This information is located in the Perl installation’s “Modules” directory, in the file named “”.

Don’t do Anything Until you Read This

This document assumes that you are running the latest Perl version of UBB.threads™ software.  Do not try to switch from an older version. 

You must download the latest Perl package from the Member Area first and upgrade your forum system to that version before switching over to PHP.  Otherwise the databases won't match.

Step-by-Step Instructions

1.        Unzip the software zip file to a location you’ll remember on your PC.

2.        Open your FTP program and connect to your server.

3.        On the server, in your directory, look for a folder called “ubbthreads”. If one does not exist, create one.  All of the files you will upload can be placed in that folder.

4.        Set the FTP program to upload in ASCII mode, and upload all files and folders into the “ubbthreads” folder EXCEPT for “createtable.php” and the images folder and its contents. You can upload into your existing directory if you wish.

What is an FTP program?

FTP stands for “File Transfer Protocol.” Some examples of FTP software include: LeapFTP, CuteFTP, and WS_FTP.  Using these programs, you can securely send files to a location on a remote server. If you’re unfamiliar with FTP, you may wish to ask a webmaster for assistance; he/she probably uses FTP to make changes to your website.

5.        If you plan to use cookies rather than browser sessions to track user activity, you can skip this step.  Create a directory called “sessions” above the web root and set its permission to 777.  If your web host will not allow you to place directories above the web root, request that the host secure your “sessions” directory so that it cannot be browsed.

6.        Using Notepad, or another text editor, open the uploaded file named “” (it is not in a subfolder). Look for the first instance of the $thispath = variable and change it to the actual path of your UBB.threads™ software installation.  Note that you do not need to include a trailing slash when entering paths.  HINT: you can obtain your actual path from the file in your Perl installation. You will need to adjust the path slightly from the Perl installation path to your new PHP installation path.

7.        Using Notepad, or another text editor, open the uploaded file named “”.  You will be looking for items in quotation marks; these are variables that must be set in order for your message board to function.  Almost all of these settings can be obtained from your file in your Perl installation. 

8.        Set permissions on and to 666.

9.        Set permissions on all files in the stylesheets directory to 666.

10.     Set permissions on all files in the filters directory to 666.

11.     Set permissions on the stylesheets folder to 777.

12.     Set permissions on the filters folder to 777.

What do “777” and “666” permissions mean?

The 777 setting means that the Owner, Group, and Others have read, write, and execute permission for that particular file. 666 means that the Owner, Group, and Others have read and execute permission.  Setting these permissions correctly is important, because the UBB.threads™ software requires certain access rights on the server before it can function properly.

13.     If your Perl installation was older than 5.4.3, you will have to run the altertable script that will update from your version number to the latest version.  You can identify which script you need easily---the scripts are named by version number, so that you can see the one that applies to your installation.

NOTE: All of the altertable scripts should be deleted from your server once they have successfully run.


14.     Log into your Admin options, located at your normal URL, with ubbthreads.php at the end instead of .pl.




Difference between cookies and browser sessions

The UBB.threads™ software, in order to function normally, needs to keep track of users’ activity in the forums.  For example, the who’s online feature requires information on which users are currently logged in.  The software can accomplish this tracking using one of two different mechanisms:  browser sessions or cookies.

You can determine which mechanism is used by changing the variable in the file that looks like this:

  // Do you want to use sessions or cookies to track your users

  // values = "cookies" or "sessions";

    $config['tracking'] = "cookies";

If you set the variable to “cookies” (the recommended setting), then your users will be recognized by the UBB.threads™ software and will not have to log in each time they enter your community.  The cookie will stay in place within the user’s browser until it is deleted by the user.

If you set the variable to “sessions”, then user activity will be tracked using browser sessions, and your users will have to log in each time they re-open their browser.  Additionally, if you are using the “sessions” variable, you need to secure the “sessions” directory, either by placing it above the web root or by requesting that your web host make it a non-browsable directory.



Placing Files Above the Web Root


Your web server is organized with numerous layers of directories and subdirectories, just like a series of folders within folders on your computer. You may already know that the path to a directory is literally the path we’d take to navigate from the root directory – the first directory in the path – to the destination directory or the file we’re trying to locate. An absolute path might look something like this:


This would indicate that on my server, to get to the “cgi-bin” directory, we would start in the “home” directory, go into the “mydomain” directory, then into the “public_html” directory, and then into the “cgi-bin” directory.

The web root directory is the first directory in the structure into which we would place files or subdirectories to make them browsable from the web. In this case, “public_html” is my web root. Other common web root directory names are “www”, “inetpub”, “html” etc.

How do you know the name of your web root directory? The only way to know for sure is to ask your host. Alternatively, you can upload an image file to the directory that you think may be the web root, and then try to call it from the browser like this:

If it works, and you get an image, then you’ve found the web root. If it doesn’t work, then either you’re not in the right directory, or there’s an issue with the image name or file extension. In this case, confirm with your web host the name and location of your web root directory.

To increase the security of your UBB.classic installation, you can place your Member directory above the web root. In our example above, this would mean placing it in the /home or the /mydomain directory, but not in the /public_html or the /cgi-bin directory.


ă Groupee Incorporated. All rights reserved.


2401 Fourth Avenue, Suite 500• Seattle WA 98122

Phone 206.283.5999 • Fax 206.283.6166



Document Last Revised: 8/08/05 (UBB.threads™ version 6.5.2)




Groupee, UBB, UBB.threads, UBBCode, UBBFriend, OpenTopic,

Wordlet, and other Groupee products/features referenced in this

document are trademarks of Groupee Incorporated