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:

 

Red Hat Linux 8.0 and 9.0
Fedora Core 3 and 4

Red Hat Linux provides a graphical Package Management Tool which allows you to install and uninstall groups of related packages. To run the Package Management Tool, type the command redhat-config-packages at the command prompt.

You can also install packages individually using the tool rpm, available on all Red Hat systems. It takes a single file ending with the extension .rpm which corresponds to a chunk of precompiled functionality and installs it on your system. A good place to find the rpm files you need is on the site http://rpmfind.net, a search engine for rpm files.

For our own testing of FogBugz on Red Hat Linux, we installed the following rpms:

RedHat 8

PHP needs to be built from source because FogBugz requires php 4.3.10 due to a PHP security vulnerability, and the rpms for RH8 only go up to php 4.2.2

RedHat 9

PHP needs to be built from source because FogBugz requires php 4.3.10 due to a PHP security vulnerability.

Fedora Core 2 and 3

Use yum to get the latest versions of mysql, mysql-server, php-4, php-imap-4, php-mysql-4, and httpd-2.  See this post for more info regarding setting up Fedora Core 2. 

Fedora Core 4

Use yum to get mysql, mysql-server, php-5, php-imap-5, php-mysql-5 and httpd-2

Mandrake Linux 9.2 - Mandriva Linux 2005

Mandrake Linux 9.x allows you to install software packages using the tool rpm. It takes a single file ending with the extension .rpm which corresponds to a chunk of precompiled functionality and installs it on your system. A good place to find the rpm files you need is on the site http://rpmfind.net, a search engine for rpm files.

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

SuSE Linux 9.0 / 9.1

Please see the SuSE website for more information for Suse 9.0.

For Suse 9.1

Dont trust the RPMs...

  1. Make sure Apache 2 has apache2-devel installed.  This adds "apxs2" which is needed for php
  2. Compile PHP using APXS & the host of required modules
  3. Go find libstdc++6 as an  RPM (rpmfind.net works, the platform doesn't matter)
  4. Install the RPM
  5. Restart apache
  6. Party

Debian Linux 3.0r1, 'Sarge', and 'Etch'
Ubuntu Linux 'Breezy Badger' and 'Dapper Drake'

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.linuxgazette.com/issue84/tougher.html

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

PHP 4:

apt-get install apache2 libapache-mod-php4 php4-cli php4-imap php4-mysql php4-pear curl mysql-server mysql-client php4-dev libstdc++5

PHP 5:

apt-get install apache2 mysql-server-5.0 libapache2-mod-php5 php5-cli php5-imap php5-mysql php5-mysqli curl libstdc++5

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.1 - 5.4

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

 

Solaris 8, 9, and 10 on SPARC

Solaris ships with Apache and Mysql.

PHP builds are currently GNU and Linux-centric. A short guide to building and installing PHP and mod_php on Solaris can be found here:

 http://www.bolthole.com/solaris/php+solaris.html

NOTE: Remember to build PHP with xml, imap, mysql, and iconv

Binary packages for other necessities, such as Curl and libiconv, can be found here:

http://www.sunfreeware.com/

Finally, you may need libstdc++.so.2.10.0 in your /opt/sfw/lib if it's not already there. Here's a gzipped build of it:

http://www.fogcreek.com/libstdc++.so.2.10.0.gz