Tag Archives: linux

misc sysadmin

Error mongoDB under Ubuntu – can’t find libmozjs.so

When installing MongoDB under Ubuntu, one could stumble upon the following problem:

mongo: error while loading shared libraries:
libmozjs.so: cannot open shared object file: No such file or directory

This is caused because MongoDB uses XulRunner for it’s operations. (This is also why you see a bunch of X11 programs that are to be installed when using apt-get). XulRunner, however, contains this file, but is not loaded.

Solving the problem:
Make sure you have xulrunner installed (sudo apt-get install xulrunner-1.9.2) and add its path to ldconfig’s configuration files, which are in/etc/ld.so.conf.d. You could create a file, say, /etc/ld.so.conf.d/xulrunner.conf, containing the following line:


After this, you chould run ldconfig (as root) and that should do the trick. Let me know if you have any problems with this.

sysadmin web

Reverse proxy for sharepoint on Linux using HAProxy

At Nakheel, we needed to load balance a new sharepoint instance. Our new sharepoint is single sign on, and was running on 2 web servers which needed to be load balanced. We played around with Apache for a while, and it’s awesome proxy balancer, but it gave us the problem that it was always asking for a username and password.

Apache was used, since I have a reasonable amount of experience with it load balancing servers such as Webrick, etc. After a few frustrating hours of messing with NTLM, Christian proposed a few alternatives for this.

Having this in mind, we decided to go for HAProxy, to provide load balancing and a reverse proxy for our sharepoint instance. The good this is that it is a very simple tool, it accept HTTP conenctions, and forward them.

Below is our simplified /etc/haproxy/haproxy.cfg file

        maxconn 4096
        user haproxy
        group haproxy
        # debug

        mode    http
        option  forwardfor
        log local0 notice
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

backend sharepoint
        balance roundrobin
        option redispatch
        cookie SERVERID insert nocache
        server sp1  cookie spsrv01 weight 30 check
        server sp2  cookie spsrv02 weight 30 check

frontend httpid
        bind *:80
        acl hosts_sharepoint hdr_end(host) -i intranet.domain.com
        acl hosts_sharepoint hdr_end(host) -i intranet.domain.com:80
        use_backend sharepoint if hosts_sharepoint
        default_backend sharepoint

The configuration is very straightforward, and it got rid of our continuous username/password boxes, especially under firefox.

Hope this helps,


Change the ILO server name under Linux

At work, we have a lot of HP Blade servers, and manage these through HP Onboard Administrator. By default, the server names are adapted from the Windows hostname, due to HP Insight Management agent tools. When running Linux, there doesn’t seem to be a option, or at least I couldn’t find one.

While questioned a few times on HP forums (such as this thread), questions rose to “installing windows on the server, then reinstall Linux”, it is possible in the web interface to be set. It’s not obviously placed, and hence might require some searching. read more »

code misc sysadmin

nnscfgmaker.sh: a nagios/nsclient++ cfg maker

Dear all,

We are in the process of changing the monitoring system on part of our network from Zenoss to Nagios. This is not a Zenoss vs. Nagios debate, as both products are awesome and do the things they are designed for very well. We (Christian and myself) use a combination of Cacti for bandwith monitoring and Zenoss for server and device monitoring. Now, recently we decided to change the latter to Nagios. It is know for its “great deal of flexibility when integrating Nagios into their environment” (Galstad, 2005)

As Zenoss was configured using SNMP Informant to grab information about the MS Windows servers (available disk space, CPU load, etc) and Nagios uses NSClient++; one of the time consuming tasks was getting the client on the server (thank you domain 🙂 ) and configuring each and every server on the Nagios server. I guess there should be some sort of discovery tool for Nagios, but I couldn’t directly find one.

In order to tackle the copy-pasting for a few dozen config files, and to brush up my bash scripting again, I wrote the Nagios Nsclient++ cfg maker read more »


7days bashes on Linux, should stick to normal gossip

7days recently published an article about Valerie Singleton who created a PC for the elderly.

It was a well written, objective article until statements were made which wasn’t researched enough:

The computer runs on Linux – an operating system of such bewildering complexity to anyone outside its inner circle that trained IT experts have been known to weep in frustration at the process of installing a simple programme.

The reason? Linux has so many incarnations that software often has to be manually modified at the time of installation. That means coding. Yep, amateur programming. Scary, huh? Especially if you’re 82 and you’ve never used a computer before.

“Software” to be manually modified during installation is usually done when you set up services, such as dhcpd, sendmail and bind Let’s assume that a 82 year old will not install their own mailserver, or domain. From a Windows point of view, I doubt that many elderly will install a Windows Active Directory at home also. I would recommend Paddy Smith (the article author) not to mix up Interface and internal workings.

It’s like running a car, driving a car (the interface) is relatively easy, especially if it’s an automatic transmission. Start the car, put the transmission in “D” and push the right pedal. A car’s inner workings is a combination of electronics, air/fuel mixes, precise timed ignitions, and a lot more.

You don’t need a wrench to drive a car.
You don’t need to do coding to run an operating system.

I wish that topics highlighted in 7 Days’ articles were well researched before making statements.

In my eyes, Linux interfaces could be very easy for the young, or the elderly. On the EEE PC, Asus could get their Linux interface pretty right, I’m sure the “inner workings” were done by their IT geeks.