FogBugz 6.0 Online Help

Getting Your Unix Server Ready for FogBugz

Fog Creek Software has collected this list of tips, tutorials, and links to help you install the software packages that are required by FogBugz for Unix. In some cases we provide links to outside web sites, for which we cannot be responsible. Please email us if you find any broken links or if you have any additional tips we can add to this page.

One way to install the required packages is to download the source code and compile it all. For detailed instructions on how to download and install Apache, SSL, MySQL, and PHP from source code, check out this article at DevShed:

The Soothingly Seamless Setup of Apache, SSL, MySQL, and PHP
By Israel Denis Jr. and Eugene Otto
http://www.devshed.com/c/a/PHP/The-Soothingly-Seamless-Setup-of-Apache-SSL-MySQL-and-PHP/

There's often an easier way, though: many varieties of Unix include their own proprietary package managers, such as "apt" on Debian, "rpm" on Red Hat and Mandrake, or the Ports Collection on FreeBSD. The rest of this page is organized by supported operating system:

Fedora Core 5 and higher

For our own testing of FogBugz on Fedora Core 5, we used the yum package manager to get mysql, mysql-server, php-5, php-imap-5, php-mysql-5 and httpd-2.

Also, to get the most recent version of Mono to install, you may have to get the mono-repo file as described on the Mono page for the Fedora project, and then do:

yum install mono-complete

Mandriva Linux

With Mandriva distributions, you can use the urpmi tool to install packages easily from distribution CDs or "cooker" sites.

Debian Linux Etch and higher
Ubuntu Linux 'Feisty Fawn' and 'Gutsy Gibbon'

The Debian and Ubuntu Linux distributions use a system called APT. By issuing the apt-get command you can download and install any packages you are missing. Before starting, issue the command apt-get update so that APT can figure out the latest version of every package is.

For a tutorial on APT:

http://www.debian.org/doc/manuals/apt-howto/

In setting up the test system at Fog Creek Software, we installed the following apt packages:

apt-get install apache2 mysql-server-5.0 libapache2-mod-php5 php5-cli php5-imap php5-mysql curl libstdc++5 mono php-pear libmono2.0-cil php5-curl

We also recommend upgrading pear:

pear upgrade-all

FogBugz 6 requires mono 1.2.3, while the stable release of Debian Etch is mono 1.2.2. The installer should prompt you to use backports to get mono from the testing branch, by adding the following to your sources.list:

deb http://www.backports.org/debian etch-backports main contrib non-free

Then do:

apt-get update

apt-get -t etch-backports install mono-common mono-jit libmono2.0-cil libmono-i18n2.0-cil mono-gmcs

Gentoo Linux

Gentoo Linux uses a  system called portage to manage a tree of common open source packages. You can use the emerge tool to retrieve and build the packages you need to run FogBugz.

Emerge Apache without threads (-threads).

Emerge mod_php without debug but with apache2, imap, mysql, and xml2 (-debug +apache2 +imap +mysql +xml2).  

Emerge mysql and curl with the standard options.

FreeBSD 5.2 and 6

Before installing any other software, you'll want to make sure you have the Ports Collection installed. For more information on obtaining the Ports Collection, see this topic in the FreeBSD Handbook:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html

Once you have the Ports Collection on your server, you can install many software components (including everything you need for FogBugz) just by going into the appropriate directory and typing the appropriate "make" commands.

An excellent tutorial on setting up a FreeBSD server to run Apache, MySQL, and PHP is located here:

http://www.devx.com/opensource/Article/17534/0/page/1