Mantis helps developers eat bugs


Author: Federico Kereki

Tracking and squishing bugs (both the six-legged and the computer software kind) is hard, and you need all the help you can get. Though of no use against actual insects, Mantis is great for the other variety, since it lets end users report bugs or suggestions, and gives developers a full workflow solution so bugs can be assigned and progress on them checked until eventually the problems are fixed.

Mantis works with several popular databases, such as MySQL, PostgreSQL, and even Microsoft’s SQL Server. It’s a client/server application; you must install the server part on a central machine, and you can then use any Web browser as a client. Because it’s written in PHP, you can install it on Linux, Windows, Mac OS X, and probably any other operating system that supports its basic requirements.

The current stable version is 1.0.8, but version 1.1 is at Release Candidate level and will probably be available soon. Mantis is released under the GPLv2.

Installation and requirements

Before you install Mantis you should have PHP 4.0.6 or higher, MySQL 3.23.2 or higher (if that’s the database you choose), and a Web server. You’ll also need the MySQL administrator user and password, and you’ll need to have Sendmail or a similar program enabled, because Mantis sends a confirmation email message to new users.

Go to the Mantis download page and get the latest version, which is just about 1.5MB. Open a console, go to the directory where you downloaded the file, and untar it into the Web server’s directory hierarchy with a command like:

tar zxf mantis-1.0.8.tar.gz
mv mantis-1.0.8 /srv/www/htdocs/mantis

Note that the /srv/www/htdocs/ directory is for openSUSE users; with other distributions, it would be /var/www/html/ instead. Now open a browser and access http://yourOwnWebSite/mantis/admin/install.php to start the actual installation process.

In the first installation screen, enter the hostname, username, and password for the database server. Type in the database name you’ll be using (I suggest using the default value), and click on Install/Upgrade Database. Mantis will inform you if your setup is somehow inappropriate; you’ll then have to solve the problem and redo the installation. If everything is OK, you’ll get a screen full of green “GOOD” messages. You should then log in (using “administrator” as the username and “root” as the password), create users (disable the administrator account, and create your own one), and then create your first project. As an added precaution, log in as root and type rm -rf /srv/www/htdocs/mantis/admin to remove the installation code; until you do, Mantis will keep reminding you to do it.

Working with Mantis

You must create a project before you can start receiving bug reports. As administrator, go to the Manage Projects screen and define your project’s name, status (development, release, stable, or obsolete), viewing status (public or private), upload path (a directory where attachments for issues and documents associated with the project will be stored), and description.

When a user is ready to report a bug, he first logs in, then goes to the Report Issue screen. If you’re an unregistered user, you’ll have to register and provide your email address, wait for a response message, and click on a link that gives you full rights to report issues. Next, specify the project, whether the error can be reproduced (always, sometimes, or randomly, for example), its importance (from minor to blocking, but you can also include here suggestions for new features or enhancements), a short summary, and a full description.

Developers can see the status of all issues at a glance. Mantis encodes the issues with colors, so you can quickly spot all changes and novelties. The status for issues can be:

  • new: A new bug or issue
  • feedback: A bug requires more information from the original poster
  • acknowledged: The bug has been looked at but not confirmed or assigned
  • confirmed: The bug has been confirmed, and it is reproducible
  • assigned: The bug has been assigned to a developer
  • resolved: The bug was fixed, and a confirmation is required
  • closed: The bug is closed

Mantis includes many sort and filter options to help developers locate a specific issue. Developers can go to the Issue Detail page to get more information, including the issue’s history. From that page, developers can add notes, send reminders, change status, and more.

Managers get full tracking information and can assign (or reassign) issues to developers, monitor specific issues, check on delays, and change priorities. If a bug report is a duplicate of (or otherwise related to) an existing one, they can link it to the original one. The Summary page is particularly interesting; it provides statistics and totals by user, reporter, severity, status, and more.


Mantis is a complete bug tracking system. There’s no way to describe all of its functionality here, but the project itself provides detailed information. The interface is simple, and neither users nor developers should have difficulties with it.


  • Reviews
  • Tools & Utilities
  • Programming
  • Internet & WWW