Fix Munin MySQL Graphs on cPanel

If you have setup munin-node on a cPanel server it’s possible that your MySQL graphs stop updating at sometime, or don’t even generate from the beginning.

To fix, edit the following file:

/etc/munin/plugin-conf.d/cpanel.conf

And make sure that the mysql section contains the following:

[mysql*]
user root
group wheel
env.mysqladmin /usr/bin/mysqladmin
env.mysqlopts --defaults-extra-file=/root/.my.cnf

Setup WordPress CDN with Dediserve

My blog is running on a blazing fast Litespeed-powered server which is located in London, but because most of my visitors are from the US (check out this cool infographic!), I always wanted to setup CDN to speed things up for them too. A CDN can offer tremendous WordPress performance improvements and by utilizing the W3 Total Cache plugin you optimize WordPress from it’s core.
Since there wasn’t any related documentation available, Dediserve was very kind to offer me a free first month on their CDN service to test things out.

What is a CDN

A CDN is a global network of caching servers and smart DNS routing that delivers your content and media to your users from the closest possible location. The result is the fastest possible load times, better Google rankings and less load on your servers!
When US visitors view my blog, images are served from the UK, making it a long way from the visitor to the server. By implementing a CDN, edge servers located all around the world serve those images from the nearest location to the visitor. Dediserve is running on the OnApp CDN engine, and has over 60 locations all around the world at the time of writing.
Continue reading

Centova Cast: Upgrade from Trial to Monthly/Owned License

After trialing Centova Cast v2.2.6 for a few days, I decided to move on and purchase a paid monthly license. Since a new license key needed to be purchased, I started searching about a way to replace my license key on my current installation, but unfortunately I couldn’t find any clear instructions.

By combining information from a few forum posts and knowledge base articles from their website, I finally found a way to do it.

  1. Download their license key update utility
  2. Unzip the contents of the file to the root directory of your Centova Cast web files (eg. /var/www/ or /home/[username]/public_html/)
  3. Launch the script in your broswer: If Centova Cast is installed at http://radio.domain.com then you should launch http://radio.domain.com/licenseupdate.php
  4. Copy the license key of your newly purchased license from your Centova Cast Client Area and click the Update Key button.
  5. SSH to your server and run the command below:
    /home/centovacast/system/runascc/runascc exec ccmanage reissuelicense radio.domain.com

    (replace radio.domain.com with your FQDN you used when purchasing your license)

You should receive output similar to the following:

INF License reissuance forced; renewing license information (this may take a few moments) ...
OK Key updated; new renewal date: 2012-03-07 10:13:39

Your license key is now updated and you’re ready to roll. Happy streaming!

Fix Unknown table engine ‘INNODB’ error on Munin

In newer MySQL versions, if you have InnoDB disabled, Munin will fail to run giving you the following error:

root@myserver [~]# munin-run mysql_connections
DBD::mysql::st execute failed: Unknown table engine 'INNODB' at /etc/munin/plugins/mysql_connections line 958.

This is caused because the error message is changing between versions and the mysql_ plugin for munin hasn’t been updated in order to recognize it.
The fix is pretty simple, just open /usr/share/munin/plugins/mysql_ with vim on line 958 (hint: vim +958 filename) and replace as bellow.

Original code

    if ($@) {
 	        if ($@ =~ /Cannot call SHOW INNODB STATUS because skip-innodb is defined/) {
 	            $data->{_innodb_disabled} = 1;
 	            return;
 	        }
 	        die $@;

Fixed code

    if ($@) {
 	        if ($@ =~ /Unknown table engine 'INNODB'|Unknown storage engine 'innodb'|Cannot call SHOW INNODB STATUS because skip-innodb is defined/i) {
 	            $data->{_innodb_disabled} = 1;
 	            return;
 	        }
 	        die $@;

Save the file and you’re good to go 🙂