I just upgraded my server software to cPanel. Previously it used some crappy free thing called “Basic Control Panel”, which kind of worked, but really did very little in terms of helping me manage my sites. I’d avoided changing because: A) it cost money, and B) it required a “reprovisioning” of my server. That meant the server would be wiped clean, and I’d have to back up everything and restore it.
Still, the move was precipitated when GoDady sent me 46 emails reminding me that I was on the old Fedora Core 4 and I really should be using Fedora Code 6, for security and stuff. So I decided to bite the bullet.
First I had to back everything up. All my sites are basically the same, based on wordpress, with a bunch of files. I just FTPed everything down, and then dumped the databases to SQL files. This worried me a bit, as I’d had experiences where very large SQL files caused problems (and my largest was 16MB or so). So I also decided to try and copy my databases onto another MySQL server on my backup hosting account. This proved to be the first of my many difficulties.
First I tried the freeware HeidiSQL, but it just crashed when connecting to my backup hosting account. This account is just a regular web hosting account at GoDaddy, with 100GB and 25 MySQL databases for $6.95 a month I just keep it for FTP backups, and for this kind of thing. Anyway, databases, I downloaded this nice tool NaviCat (on trial, so free for the duration), which is a professional MySQL wrangling tool, and it connected to my live databases just fine, but was unable to connect to the backup databases.
I eventually figured out (via much googling) that GoDaddy’s regular hosting does not allow external accesses to their databases. So I needed to install this little “HTTP Tunnel”, which was pretty straightforward - just a little php script which you upload, and then set it up in NaviCat’s HTTP Settings. once this was in place I was able to do a “data transfer”, which copied the entire database from the live server to the backup server.
So, everything was (hopefully) backed up. At 12:35 I tell GoDaddy to upgrade to fedora core 6. My sites all go down, and about 45 minutes later my new server rises from the ashes, empty. Unfortunately I now have to do it again to install cPanel, the server goes down again, this time for about twice as long. Eventually things spring back to life.
I then begin the task of restoring everything. Somewhat tedious. NaviCat worked very well in transferring the databases back (once I added my home IP address to the new database). I had a very annoying problem with Wordpress not being able to connect to the database. This apparently happens a lot, and the error message covers a multitude of evils. You can actually get a much more useful error message if you write a little PHP file that tries to connect, and then echos the error message on failure. But what was actually happening for me was that the installation of MySQL uses a longer hash for password authentication than is supported by the version of PHP that is installed. The solution was to downgrade the passwords by running an SQL query as root for each user/password:
SET PASSWORD FOR mysite_user@localhost = OLD_PASSWORD(’password’);
Not trivial. It took me an hour to figure this out. Again, Google was very useful, as other people had had the same problem. See here:
http://dev.mysql.com/doc/refman/5.0/en/old-client.html
I later tried to install phpBBS, but had the same problem. At this point I discovered I could set MySQL to use old style passwords all the time in WHM->Server Configuration->Tweak Settings->My SQL->USe old Style passwords. Much better.
A few other problems arose, like my mail not working. This turned out to be a couple of problems, one of which was solved by simply restarting the various mail services (easy to do, but rather obscure). The other was a little more insidious. I tried setting up a mail server for one domain (hollymick.com). Then to test it, I sent mail from my gmail account at mickwest.com to and account I’d created called test@hollymick.com
The mail got bounced with:
Delivery to the following recipient failed permanently:
test@hollymick.com
Technical details of permanent failure:
PERM_FAILURE: SMTP Error (state 13): 550-Verification failed for <mick@mickwest.com>
550-No Such User Here
550 Sender verify failed
This is a rather confusing error, as it looks like it’s saying that the user “test@hollymick.com” does not exist - which actually seems reasonably, since I’m attempting to set it up. So initially I go off and try to figure out why it does not exist. But if you look more closely, it’s actually saying mick@mickwest.com does not exist, which is rather odd, since that’s what I’m sending the mail from, and I know it’s there.
Again, other people had had this problem. What’s going on is that mickwest.com is hosted at the same server as hollywest.com. Hollywest.com has the mail server here as well, and it’s configured by default to check to see if the sender’s email address is real, so it checks with the sending mail server to see if mick@mickwest.com is real. Now this SHOULD check with Google, but because mickwest.com is hosted here, it first checks the local zone file for mickwest.com, and the default setting for the MX record is mickwest.com, meaning it’s asking the LOCAL mail server if mick@mickwest.com is good, and of course it’s not, as mick@mickwest.com lives at Google.
Solution? In WHM, under DNS Functions, Edit MX Records for mickwest.com, and set them to the Google mail servers (aspmx.l.google.com, etc).
That was about it as far as problems go. I’m really liking cPanel so far. It’s very easy to make changes, and a lot of things are automated. Like I was missing the GEDCOM perl module for my family history stuff, so I just clicked on “Install Perl Module”, typed in “gedcom” and ten seconds later it was installed.
It’s also set up to repair and update itself every night, and it emails me a nice list of things that have changed. The backup seemed to work fine as well, backing up everything including MySql databases via FTP to my backup server.
There’s also a shedload of software that can automatically be set up on a site, under “cPAddons”. This actually includes, I now notice, Wordpress, which might have saved some time. There are also a bunch of CMS, which I might have to take a look at.
One more problem that cropped up overnight was the FTP backup failed at one point with:
Can’t call method “login” on an undefined value at /scripts/cpbackup
The solution, apparently, is to enable “Passive Mode” under “Configure Backup” in WHM.

hey, where did you get the “HTTP Tunnel” file? i can’t seem to locate one. thanks!
Should be in
C:\Program Files\PremiumSoft\Navicat 8.0 MySQL
it’s called ntunnel_mysql.php
Sweet. Thanks!
How does your system compare to a gaming control panel – e.g. SCInterface® at http://www.scinterface.com?
I’ve never tried a gaming control panel, but I suspect things like SCInterface are more geared towards their support of specific game servers, at the expense of general tweaking and configuration of things like Apache and MySQL. They seem to be coming out with a version of SCInterface specifically for servers that might cover that kind of thing.
[...] some time and some troubleshooting, we discovered it was the same error that Mick West wrote about. It was a cpanel server, and the destination server was ostensibly hosted on the same server as the [...]
Interesting I have never used GoDady. That is a pretty intense restore job.
You made it through it, Kewl!