I have a small adventure today moving the SenseClusters web interface from it's
temporary home on talisker (a Fedora Core Linux system) back to it's permanent
home, marimba, which is our designated "production" web server, and
now with 12 GB of memory and the new Ubuntu Linux distribution (Hardy).
The process of getting the web interface running involved a few changes to the
system which I will integrate into the notes for the next release, in
the event you
wish to run the web server on Ubuntu. Please note that all that
follows is specific to
the web interface, so you don't need to worry about that if you don't run that.
So, a few simple things first. Ubuntu prefers that Perl be located at
I changed all references to /usr/local/bin/perl in the Web/ .pl and
.cgi files. It would
be possible to create an alias for /usr/local/bin/perl, but I have
observed that sometimes
this seems to cause problems (for reasons I don't fully understand).
Then, config.txt needs to be changed. Fortunately we've kept the
install on Ubuntu
fairly simple, so there aren't too many paths involved. In our example
you see a situation where different programs are installed in many
so it is fairly complicated. That is what you need to do if you aren't
able to install
everything you need as root - at this point we are able to do that on marimba so
things are pretty simple. Here's the config.txt file that is currently
being used on
If you are paying close attention, you'll note that this config.txt
file has one less line
that the example - I didn't actually see that the cgi=cgi-bin line was
being used, so
I omitted that, although it doesn't hurt anything being there.
In general when dealing with Ubuntu one must be aware that the default locations
for cgi-bin and htdocs are somewhat different than what one normally
gets with apache.
You can see above that the cgi directory is /usr/lib/cgi-bin, and the
is /var/www. The install instructions now are somewhat oriented
towards the Fedora /
Red Hat organization of things, but in future releases I'll make it
more neutral between
All of the above was pretty easy. This last one was the painful part. :)
I was running the web interface, and I got to the last screen, and I
errors, saying that there was a problem and that the logfile couldn't
be opened. In
general the best thing to do when you see those kinds of errors is to check out
the apache logs, found in Ubuntu at /var/log/apache2/error.log
In that I found the following:
sh: Syntax error: Bad fd number
This is a strange looking error, and fd made me think of file descriptors, so
I was looking around very carefully at file permissions (recall that
those need to
be set to allow rwx access all the way to the directories where we write output
files, and this is among the more common errors in setting up the web interface,
along with syntax errors in config.txt)
Anyway, after digging around in the Ubuntu mailing lists, I found the following:
So, for whatever reason Ubuntu has decided to make a fairly significant change
to /bin/sh, which is our generic command line processor. Apparently this change
should not affect you if you are POSIX compliant, but, I'm not even sure what
that means - I suspect there might be an issue with the Perl system( )
we use when moving files around in the web interface. But, rather than trying to
debug that I decided to restore marimba to using the standard /bin/sh via this
sudo dpkg-reconfigure dash
After I did that, the web interface was working.
So, marimba will be the permanent home of SenseClusters - talisker will move on
to other uses in the next week or two (although the web interface is
all links have been changed to point to marimba).
Give the web interface to SenseClusters a try if you haven't lately, and let us
know of any problems or concerns you may have.