David Szpunar: Lead Engineer, PC Help Services

David's Church Information Technology

May 31st, 2007 at 11:18 pm Print This Post Print This Post

Installing HelpSpot on Linux Virtual Machine

I initially started testing the HelpSpot trial using their hosted trial service. It was a good way to determine if the interface merited further investigation. It does, as the interface is very nice and it is very easy to use and understand (from technician and user perspectives). My main issue right now is that it’s a general customer support portal, not customized specifically for IT support, and therefore no inventory/asset tracking features are provided. This may or may not be a deal-breaker, I don’t know.

However, I want to host HelpSpot internally if we select it, because internet outages are one thing I want people to be able to report and track. If it’s externally hosted, how can they access it to report an outage? They can’t :-) I could install it on a Windows box, but although my desktop is set up as an Apache and MySQL server already for testing, I want a more permanent option (there is a HelpSpot Windows installer available, which is very nice if I was going that route). And I’d rather not put it on any existing production servers, or pay for another OS license of any sort. Sounds like a good task for a virtual machine and Linux!

I’ve been eying VirtualAppliances.net ever since I found them on the VMware Virtual Appliances directory months ago, but until now haven’t needed them and haven’t had the time to play. This seemed to be the perfect opportunity for testing their LAMP Server. I downloaded their VMware image, version 1.0.110, and loaded it on my new VMware Server installation (recently switched over from Microsoft Virtual Server, the only free one at the time I set it up). Setup worked great, no issues until I started to run the HelpSpot installation script. It choked saying that Zend Optimizer wasn’t installed, even though it supposedly came with the LAMP Server. A quick browse through the configuration options from the LAMP Server control panel found the Enable Zend Optimizer option under the Apache HTTPD configuration page, which corrected the error. Installation continues, but warns that the PHP IMAP module is not installed (what do I care? I want to use POP3 for email anyway). I continue with the installation, complete it, log into the HotSpot control panel, and go hit Admin to set things up.

Looking good so far–until I click Mailboxes. Wrong answer. Apparently I haven’t kept up on PHP (I’m a Perl guy originally); the PHP IMAP module is required for IMAP, POP3, and other email functions, however misnamed. How do I get this installed? Well, that took a bit of investigation. I tried my hand at several Linux commands, some of which are available on the LAMP Server appliance, others not. PHP was hard to find, and when I discovered PEAR (CPAN clone, anyone? :-) and that it was installed, I attempted to use it but got multiple errors (about the location of PHP, and then about the configuration file which I’d modified by hand to try and fix that problem). A search of Google revealed a link to the VA forums, to a post saying that PHP IMAP was included in the most recent build. Skip to finding that in another forum entry. Download, unzip, run. Configure the appliance (turn on Zend Optimizer, re-create MySQL user and database, etc.), copy over HelpSpot files, run install script. Now we’re cooking with fire! No errors, warnings, weeping, or gnashing of teeth.

Well, almost. In either version of the LAMP Server appliance, I cannot get external name resolution to work, via the hosts file or DNS. IP-based access works fine (for ping, wget, etc.) but although DNS is configured in /etc/resolv.conf, set via our standard DHCP server that assigned an IP just fine, it just Won’t Work. This doesn’t bode well for the POP3 mail function, which I just now realized was failing to send email because I was using a hostname–which won’t resolve! Duh! Sometimes typing out a story brings the final solution. Or at least, the final problem. No, the final solution — I just tested HelpSpot using an IP address for the mail server, and it’s working! Now to set up cron to run the daily maintenance script (tasks2.php) and the every-few-minutes POP3 mail checking script (tasks.php) and I’m set! (After a false start trying to run the cron jobs using the php executable, I switched to wget calling the scripts via the URL because running PHP directly caused errors about the Zen Optimizer not being installed; it works!)

So, if I can get DNS working, things will be much better, unless the Active Directory integration add-on scripts to HelpSpot require something else that the LAMP Server doesn’t include; I haven’t made it that far yet. Until then, I’m feeling somewhat accomplished to have gotten this far given my ad-hoc knowledge of Linux with even less Gentoo experience (the distro the appliance is based on, admittedly stripped way down). Success feels good!