Fog Creek Software
FogBUGZ 

[ Help Index ]

What Setup Does 

 

This document describes the complete list of steps that the FogBUGZ Setup program takes to install FogBUGZ. It is intended to help you with troubleshooting, or for advanced system administrators who need to know what changes will be made to their system, or in unusual situations where you need to install something manually. But please do not try to install FogBUGZ manually. FogBUGZ Setup is very smart and only takes a couple of minutes. Doing this all by hand would take you hours and is bound to be frustrating.

FogBUGZ Setup is a self-contained, single executable file that installs everything you need to run FogBUGZ on a Windows server. It can be used to upgrade FogBUGZ 2.0 or 3.0.

Setup is completely reversable until you get to the last screen and click Finish. If you cancel at any point in time all changes that were made before then are undone.

Setup never requires a reboot. While files are being copied, it temporarily stops three services:

  1. W3SVC, the web server
  2. CISVC, the Content Indexing Service
  3. FogBUGZ's own Dispatcho service (if it's been installed previously)

This is to minimize the chances that any FogBUGZ files are in use while you run Setup and cannot be overwritten. If a file is still in use, Setup will simply not succeed and changes will be rolled back.

Check System Requirements

The operating system is checked to make sure it is one of these:

  • NT 4.0 with Service Pack 6a
  • Windows 2000
  • Windows XP Professional
  • Windows .NET Server
  • or later.

Internet Information Services (IIS) is checked by checking if the file iisadmin.dll has major version 4 or later. If you have Windows NT 4.0 you will have to install the Windows Option Pack to get IIS 4.0

MDAC (Microsoft Data Access) is checked to make sure that you have version 2.6 or later. You can install MDAC from Microsoft's web site at http://www.microsoft.com/data.

VBScript is checked to make sure that it is version 5.6 or later. You can install Microsoft Windows Script from their web site at http://www.microsoft.com/scripting.

Install Files

The Setup program offers an option that only extracts files without making any other changes. If all else fails you could choose this option to get the FogBUGZ files out and set everything up manually. You still have to pass the "system requirements checking" phase to get this far, but no changes are made to the system except for extracting files.

Files are extracted, by default, to  c:\Program Files\FogBUGZ, although you can use any directory on a locally attached hard drive, which must be formatted using NTFS. Do not use FAT drives, network attached storage (NAS) devices, or Linux/UNIX SAMBA shares, because they do not support user-level permissions on files.

There are two subdirectories, Website and Accessories. Website is the one that IIS will serve. Accessories contains everything else that ships with FogBUGZ.

Create an Account

The FogBUGZ application will need a Windows account for it's operations. This account will be used for the anonymous access account in IIS, for the Dispatcho mail service, and will map to a login in SQL Server (if you use SQL Server). FogBUGZ Setup asks you if you want to use an existing account or have Setup create an account for this purpose. If you choose the latter, it will be named "FogBUGZ" unless you specify another name.

IIS Settings

A virtual directory is created in IIS which points to the FogBUGZ Website folder.
(By default this is C:\Program Files\FogBUGZ\website)

The following settings are made in the IIS metabase. All but the last one, UploadReadAheadSize, can be set using the IIS management console. IIS properties dialogue instructions are thus included, and this list is formatted to make it easy for you to click through the settings in the dialogue.

  • An application is created for this directory. By default it is named FogBUGZ.

  • Access flags are set to read only/scripts only, Directory browsing is disabled.
    • IIS Properties dialogue > Virtual Directory tab (or Home Directory tab if using root folder):
      Read should be checked off. The following should not be checked off: Script source access, Write, Directory Browsing. Execute Permissions should be "Scripts only".

  • The following are set to TRUE: AspAllowSessionState, AspBufferingOn, EnableParentPaths, AspSessionTimeout is set to 60 minutes.
    • Virtual Directory tab > click Configuration > App Options tab:
      These should all be checked: Enable session state (set to 60 minutes), Enable buffering, Enable parent paths.

  • The default document is set to default.asp.
    • Documents tab

  • Authorization is set to Anonymous account ONLY.
    • Directory Security tab > Edit... Anonymous Access:
      "Anonymous access" should be checked off, "Integrated Windows authentication" should not.

  •  The account for anonymous access user and password are set. By default this is the "FogBUGZ" user account.
    • Edit... Account used

  • AnonymousPasswordSync is set to FALSE.
    • "Allow IIS to control password" should be un-checked.

  • The 500;100 error handler (Windows 2000 and later) is set to internalError.asp.
    • Custom Errors tab 

In IIS 6.0 only:

The following setting cannot be accessed using the IIS console:

  • UploadReadAheadSize is set to 0x40000000

To modify this setting, which is required for file uploads to work correctly in FogBUGZ, you will need to modify the IIS MetaBase directly. For IIS 4 and 5, you will need an application available from Microsoft called the MetaBase editor (MetaEdit). The IIS 6 metabase is a plain-text XML file; click here for how to configure it.

Grant Permissions For New Account

The account is granted permissions. This is one of the hardest things to get right in a manual FogBUGZ installation. The following permissions are granted, and all are set up to "inherit" to child containers.

  • Full control of FogBUGZ directory and all subdirectories.
  • On NT 4.0: full control of the registry key HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\MachineKeys
  • On Windows 2000: full control of the directory c:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA
  • Full control of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Fog Creek Software\FogBUGZ

Register OCX controls

All DLLs and OCX files in FogBUGZ\Accessories are registered. You can do this manually with regsvr32.

Install Dart Control Licenses

In HKEY_LOCAL_MACHINE\SOFTWARE\Dart\PowerTCP\License, we create license keys. For the specific license keys please contact Fog Creek Software. The FogBUGZ account is granted full control of this key.

Initialize Registry Settings

In HKEY_LOCAL_MACHINE\SOFTWARE\Fog Creek Software\FogBUGZ, we create a key with the name of the FogBUGZ Website directory, with all backslashes changed to forward slashes, for example, c:/Program Files/FogBUGZ/website. If you have multiple FogBUGZ installations in different directories, each can have its own registry settings. In that key, we create the following default values, which are all strings (even the ones that look like numbers are strings.)

sRegistryVersion=3
sReplyEmail=fogbugz@example.com
sSMTPServer=NONE
sCVSView=default.asp?pg=pgInvalidSourceControl
sCVSDiff=default.asp?pg=pgInvalidSourceControl
fPasswordEnable=0
fRememberMeAllowed=1
fAnybodyCanCreateAccounts=0
cbUploadMax=1024000
fDemo=0
sLocale=*
sConnectionString=a valid OLE DB connection string to the FogBUGZ database
fFullTextSearchOK=1 if SQL server and Full Text Search is installed, 0 otherwise

Many of these settings can be controlled by FogBUGZ administrators from the Site Configuration screen once FogBUGZ is up and running.

Create the Database

For SQL Server, a file in the Accessories directory called all.sql contains the SQL code that you need to create a blank FogBUGZ database. Also, Setup creates a scheduled job which repopulates the full-text database regularly.

For Access, a file in the Accessories directory called FogBUGZ.MDB contains a blank FogBUGZ database. Simply clone this file.

SQL Server Permissions

We set up accounts and permissions inside SQL Server using integrated Windows security, so that the FogBUGZ account has full control over the FogBUGZ database.

Dispatcho Service

In the accessories folder is a Windows NT Service called Dispatcho. SETUP installs and starts this service. It runs under the FogBUGZ account and is always running. This service checks for incoming POP3 email at any FogBUGZ mailboxes that have been set up, and moves that email into bugs. (Basically, it reads POP3 and then shoves the results into a special ASP page within FogBUGZ that has been setup for the purpose).

 

*  FogBUGZ Home Page

*  Email: fogbugz@fogcreek.com