TechTip: Open-Source Asset Management Software

Linux / Open Source
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times
I'll bet many of you also store all this information in more than one place. My lists were maintained in spreadsheets, across Web-based Wikis, and within documents such as PDFs and any other files I might be forgetting to mention. Sometimes, it was quite a task to locate IT information, especially when a device went down or another member of the IT department was requesting it.


GLPI is an open-source software project that has helped me and may help you. It combines a MySQL database back-end with a complete Web interface and administration panel front-end to store and index all your IT informational needs. GLPI's goal is to provide a single location to manage all IT resources. Using it, you can create an inventory of network devices, computers, monitors, printers, phones, software licenses, contracts, vendor information, and more. Chances are GLPI will be able to hold any sets of data you can think of.

If you'd like to test-drive the software before actually installing it, there's a nice demonstration for exactly this purpose. GLPI's Web interface is my favorite part of the software. The Web interface is great because it provides a concise menu system, simple and free from clutter and elaboration, not to mention it's rather responsive. If you like what you see, then installation is a pretty trivial matter.

Installation and Prerequisites

There are only three requirements to install GLPI. You'll need access to a Web server, PHP version 4 or higher installed on the server, and a MySQL database. I'll demonstrate installation on a CentOS 4.5 installation, which is my most-used RHEL derivative, but any generic Linux Web server will do. I'll assume that you already have a MySQL server installed, because that's beyond the scope of this article. If you Google "Linux and MySQL," you'll have no problem finding directions for setting up a database on a Linux server.

I'll also assume you'll be using the root user to connect to the database for simplified directions. By default, MySQL is left wide open. Again, please search the MySQL docs to learn how to set up a database user and secure your database installations. Once you get MySQL set up, create a database for your use.

# mysql
# mysql> create database glpi;
Query OK, 1 row affected (0.00 sec)
# mysql> q

Instructions can be found in the documents section of the GLPI Web site.

Next, you can head over to the downloads sections to grab the latest zip file and then unzip the files in your Web server document root.

# cd /var/www/html
# tar -xzvf /path/to/glpi-0.68.3-2.tar.gz
# chown -R apache.apache glpi

After unpacking the files, open up a Web browser and navigate to your directory: http://hostname/glpi. You'll need to choose your language, accept the GNU GPL license, and then choose to continue the installation. The next screen is a test screen that checks to make sure all the options on your server are correct. A common failure point will be the allocated memory limit within PHP, so you can change this setting next. GLPI will require at least 16 MB to operate, so if you have other PHP requirements on your servers, make sure you address that.

# vim /etc/php.ini
memory_limit = 16M 
# service httpd restart

The other issues you might encounter are file permissions errors, but if you changed ownership to the Apache user, these errors should not appear. If you get errors, correct them and continue.

You should now see a button at the bottom of the setup screen to re-run the configuration test.

The next portion requires you to enter the MySQL server name, user, and password used to connect to the database. Use your own settings for this page and then test the connection to the GLPI database you created earlier. If all goes well, the database will be initialized. The very last page lists a few default user names and passwords that are supplied already. Use "glpi" for both the user name and password to gain access to the application initially. You can change and edit passwords for all of them, but a word of caution about the user named "helpdesk": Do not delete this user; GLPI uses it for posting items into the database through the Web interface.

GLPI's Web Interface

Once you successfully sign into the Web interface, you should see a clean panel such as below.

Figure 1: This is GLPI's main page. (Click image to enlarge.)

There are entirely too many pages to describe in any detail here, but a basic overview is as follows. The Inventory section will house all your devices, peripherals, computers, printers, software, and such. The Management tab is used to gain access to all the contacts, companies, contracts, and documents you enter into the system. The Tools section will provide you with some useful reporting features. Lastly, the Admin panel is used for access to settings, users, passwords, logs, and the data. The Data tab is quite useful for providing an SQL or XML data dump. These dump files can be retrieved from under the document root directory of /var/www/html/glpi/files/_dumps, which you can then pull off the server and easily back up.

Asset Away

All in all, GLPI provides many very useful features. You can create service contracts, documents, and peripherals and then attach them directly to any piece of equipment you enter into the system. You can enter many custom field values, since every organization uses various naming schemes for their systems. There is even a small Help Desk system built into GLPI. If all the provided features aren't enough, you can install one of the many available plug-ins as well. To download any additional pieces, visit the plug-ins page.

Say goodbye to splitting up all your IT assets across many formats, and instead build a completely indexed database. You'll have just one place to search, and you'll never lose track of things again!