Rants on business, science, technology, society, politics, police, and justice, plus life hacks and tricks, since 2003. header image 2

Thinking of upgrading from Plesk 7.5 to Plesk 8.0 (or Plesk 8.0.1)?

October 12th, 2006 · 6 Comments

I use GoDaddy’s Virtual Private Server solutions to host this and other websites. It’s very stable and reliable. GoDaddy will help with basic support, but for a lot of things they’ll simply tell you: it’s your server to support if you are using a dedicated or virtual private server solution. This left me in a horrible quandary earlier this evening.

I found directions on GoDaddy’s virtual private server help page with very simple directions about an upgrade path for Plesk 7.5 that would upgrade me to Plesk 8.0.1. Really, I had no good reason to do this update, but I like to keep my software fresh. And that is one thing GoDaddy’s VPS lacks pretty horribly. Right now I’m running PHP3 and MySQL3. Light, stable, and broken-in — that’s what I think of when I think of these versions of PHP and MySQL. But seriously, to not even offer a more recent version is pretty lame. This may cause me to drop GoDaddy as a VPS host if I ever need the enhanced features of PHP5 (and coming soon, PHP6) or MySQL 5. For example, in PHP5, there is the “str_ireplace” function, which allows case-insensitive inline string replacement, and in MySQL 5, there are subqueries — something I’d die for right now for my custom coded apps.

In any event, I followed the directions on GoDaddy’s help page, and the installation completed successfully. Per their directions, I had to call and have a customer service rep update my Plesk license key. Humorously the technician didn’t know how to handle my request. But before he put me on hold, I asked, “Are you from the United States?” He chuckled and said, “Of course, what did you think?” I said, “Well, when you call Dell, it can be a culturally enlightening experience.” Instead of putting me on hold, he spent a few minutes with me joking about Dell customer service and their battery recalls. But he did get someone that was able to help with the Plesk license key issue. So my key was updated, and everything worked except for two things.

First, all of my DNS zones were completely wiped out. I’d get this error when trying to access any of my DNS management pages:

ERROR: PleskException
Up LevelUp Level
Undefined dns_zone_id

0: /usr/local/psa/admin/htdocs/domains/dns.php:1

And second, when I restored all the old DNS records, none of my “www.” subdomains worked properly. All “www.” pages would redirect to the default page for the IP address shared by the hosted site. So for example, since is hosted on, “” was resolving the same way that would, which normally is what happens anyway, except that the Apache server was handling it as if it literally was a hit to and not “”. The issue is that I have many sites hosted on this server, and is not the default site for this server (feel free to peek at if you’re curious about what the default page is).

So first, to restore my DNS zones, I logged into my Plesk panel and viewed the root MySQL database to investigate the issue. clicked the Server button, then clicked “Database Servers”, then clicked “Local MySQL Server”. From here, I selected the “Databases” tab, and then clicked “DB WebAdmin”. I loaded the “psa” database. Note that the “Database Servers” feature is new in Plesk 8.0.1; in previous versions you could only use the “DB WebAdmin” feature on a per-domain basis.
Knowing that the DNS zones, DNS records, and Domain tables are all related, I first grabbed a list of all domains hosted on my server with the SQL command:

SELECT `name` FROM `domains` WHERE 1

Then I copied the list of domains to my clipboard, and put each domain on it’s own line. Now I needed to create the DNS zones for each domain. I created new DNS zones manually by using a series of INSERT statements based on the list of domains I had just copied. There was one statement for each domain, and each statement looked like this:

INSERT INTO `dns_zone` (`name`, `displayName`) VALUES (``,``)

In this case, there was already 1 entry in the DNS zone table still: the default DNS zone, named “”. So for the first INSERT statement, the first DNS zone ID was now 2. I made note of this number. Starting with the first domain on your list, each domain’s new zone ID will be one higher than the zone before it. So in my case, my first domain’s zone ID was now 2, and my second domain’s zone ID was now 3, and so on.

Now, I had to update the DNS records table to reflect the new zone IDs. Interestingly (and fortunately), upgrading to Plesk 8.0.1 didn’t cause the DNS records to be deleted, only the DNS zones. So now I needed to update each of the DNS records and link them back to their corresponding DNS zones. To do that, I used an UPDATE statement that used a LIKE clause to figure out which rows belonged to which DNS zones. Again, you’ll have to do this for each domain:

UPDATE `dns_recs` SET `time_stamp` = NOW( ) , `dns_zone_id` = ‘2’ WHERE `dns_zone_id`=0 AND (`host` LIKE “” OR `val` LIKE “”) LIMIT 20;

Note that “” appears in this statement twice. Also, note that “dns_zone_id” must correspond to the zone you just created. So in this example, my first UPDATE statement starts with zone ID 2, and my second statement is zone ID 3, and so on.

And finally, I needed to actually update the domain records to link the new DNS zones and their associated DNS records to the domains themselves. I created yet another series of UPDATE statements (one for each domain again), to link the domains up to their new DNS zones:

UPDATE `domains` SET `dns_zone_id` = ‘2’ WHERE `name` = “” LIMIT 1 ;

This fixed the DNS issues. However, there was still the problem with the “www.” subdomains not being properly handled by Apache. GoDaddy’s tech support told me this was a “known issue” with Plesk 8.0.1 when I called. It would have been nice if they mentioned that in their help center on the page with the instructions on upgrading! However it turned out to not be a big deal to correct. I logged into the Plesk control panel again, and clicked the “Domains” button in the left navigation column. For each of the domains listed in the right side, I clicked the domain name to show the domain control panel, then clicked “Domain Administrator”. Then I unchecked the “WWW” box at the very top of the page, and clicked OK. I was returned to the domain control panel. I clicked “Domain Administrator” again, and checked the “WWW” box again, then clicked OK again. I did this for each domain on my server.

With each domain re-configured for it’s “www.” subdomain, I clicked the “Server” link in the left side, then clicked “Service Management”, and then restarted Apache and the DNS service.

And now, after about 90 minutes of downtime, two phone calls to GoDaddy, and a lot of grief later, I have Plesk 8.0.1 installed and working!

Overall I would not recommend the upgrade, though I do like the features of Plesk (generally speaking).

Tags: Business · Complaint Department · Computers · INeedAttention News · Site News · Technology

6 responses so far ↓

  • 1 jeol Mellon // Nov 6, 2006 at 6:14 pm

    I just upgraded. I am dissappointed with the Godaddy experience. First the “Team” does not work third shift, so I had to wait 8 hours (no server) to get my new key. Now I have discovered that the formating on the blogs that are hosted has been altered. No columns. I am agreement. Godaddy is lame in the upgrade department. Time to start a transiton search.

  • 2 peteru // Nov 6, 2006 at 7:08 pm


    Just to warn you, a lot of virtual dedicated server hosts will offer similar support because of the cost of supporting specific configurations of a VPS. Many shared hosts will only upgrade for “critical” updates in the first place, namely because they don’t want to break anything! Anyway, you might be interested to know that GoDaddy has changed their VPS offering and is now giving Plesk 8.0 by default, on Fedora Core 4 systems running MySQL 4 and PHP 5. I’m much more impressed with their current offering. I actually am in the process of using a new GoDaddy VPS to transition content from my old VPS, and use the newer solution for performance and security reasons. However, one thing I would *not* recommend is using GoDaddy VPS for their PostgreSQL support when buying the Plesk Power Pack at $9.99 per month. The PostgreSQL PHP module wasn’t installed when the server was provisioned, and I didn’t have the time to figure out how to install it (and worse, I couldn’t find directions on the Postgres PHP module). But to make things more strange, the Plesk panel itself ran a custom web server that used phpPgAdmin to administer the database server. So somehow, the PHP PostgreSQL module was on the system, except it was only in the control panel’s installation of PHP. I was bummed, and confused. Anyway, despite this experience I’d say GoDaddy’s service is still competitive, so don’t give up hope.

  • 3 kyle // Nov 28, 2006 at 4:06 pm

    here is a quick sypnosis since i had to this as well:

    TO FIX:
    1) login to psa database in Plesk:
    Server -> Database Servers -> Local MySQL Server -> Databases tab -> DB WebAdmin

    2) load the “psa” database in the database drop down on the left.

    3) collect a list of domains by running the following SQL query
    SELECT ‘name’ FROM ‘domains’ WHERE 1

    You will get something like:

    4) recreate each zone for each domain listed in step 3:

    INSERT INTO dns_zone (name, displayName) VALUES (‘’,’’) ;

    INSERT INTO dns_zone (name, displayName) VALUES (‘’,’’) ;

    5) collect a list of the “id” numbers for newly created dns_zone, you can run the following SQL query:

    SELECT id,name FROM ‘dns_zone’ WHERE 1 ;

    you’ll get something like:

    6) update dns_recs table with new id numbers you just collected, set “dns_zone_id” in the following SQL queries to the coinciding id number from step 5

    UPDATE dns_recs SET time_stamp = now() , dns_zone_id = ‘7’ WHERE dns_zone_id=0 AND (host LIKE “” OR val LIKE “”) LIMIT 20;

    UPDATE dns_recs SET time_stamp = now() , dns_zone_id = ‘8’ WHERE dns_zone_id=0 AND (host LIKE “” OR val LIKE “”) LIMIT 20;

    7) update the domain records to link the new DNS zones and their associated DNS records to the domains themselves.

    UPDATE domains SET dns_zone_id = ‘7’ WHERE name = “” LIMIT 1 ;
    UPDATE domains SET dns_zone_id = ‘8’ WHERE name = “” LIMIT 1 ;

    8) the www. sub domain will probably not work. we need to fix this.

    in plesk “Domains” -> -> “Domain Administrator”,
    uncheck the “WWW” box at the very top of the page, and click OK to save. Then go back and recheck it and save again.

    NOTE: you have to do this step for every domain otherwise apache wont restart successfully.

    9) restart apache and bind: “Server” -> “Service Management”, and then restart Apache and the DNS service.

  • 4 James Nakakihara // Aug 6, 2007 at 12:08 pm

    Thanks for posting this fix. I wanted Spam Assassin so I paid, waited, was told to upgrade, then was told they would not support the fact that all my domains now didn’t work. Gotta love those guys.


  • 5 » How-to: Upgrade a GoDaddy VPS from Fedora Core 4 to Fedora Core 6 // Nov 25, 2007 at 9:11 pm

    […] than the last time I had to upgrade my GoDaddy virtual private server, although last time I was upgrading the Plesk interface, and not the operating system. I figured if anything, it would be more of a hassle to upgrade the […]

  • 6 Time to ditch GoDaddy? // Mar 12, 2008 at 10:37 pm

    […] a GoDaddy VPS customer, and amateur tutorial author and reviewer, this upset me, so I wrote a note on GoDaddy’s public relations feedback […]

Leave a Comment