cPanel Tips
July 6, 2007 by Jason Mathews, Tech Support in Tech Stuff
Hello, world! I’m Jason Mathews, the dayshift supervisor for technical support. I’ve been playing with computers since 300 baud and in the industry since 1992. I’ve been a network engineer, systems administrator and all around go-to guy for anything powered by electrons. So I have a lot of personal experience helping customers deal with issues when they arise.
Managing dedicated servers and the associated infrastructure can be pretty complex, and we’re here to help with that.
As an example, cPanel has gone to version 11, and there have been some support requests since the upgrade. This is no slight on cPanel — I’m not picking on them. It’s typical to see some initial discomfort when new versions come out, and usually there are some easy fixes. Since we’ve heard from some customers about this recent version, I thought it might be helpful to provide some tips in our blog to help:
1) Find your current version of Perl. You can do that by typing in:
perl –v
at the command line. Make sure that your servers have Perl 5.8.7 at a minimum. 5.8.8 would be better, and to get the installer package for that, run this in SSH asroot:
wget http://layer2.cpanel.net/perl588installer.tar.gz
tar zxvf perl588installer.tar.gz
cd perl588installer
perl install
This will get perl up-to-date and recompile a whole lot of perl modules that cPanel depends on. cPanel isn’t updating perl directly, and if it’s anything below 5.8.7, many modules won’t work, recompile at all or will provide strange output.
2) Run this script and check the output: /scripts/updateuserdomains
This will read the user files in /var/cpanel/users and make any needed synchronization with other system files, such as Apache and ftp.
Sometimes, however, the user configuration will have conflicts you may not have noticed, mostly by one account having control of a domain while that domain is still active on another account. This inconsistency can cause a lot of trouble later on, so you’ll want to edit the user files directly, remove the offending domain, then run the script again.
3) Verify all of cPanel is updated to version 11.
perl -c /scripts/wwwacct
If this command doesn’t have any errors, then everything should be at the proper version. If you get errors, something might be missing, so run this:
/usr/local/cpanel/bin/checkperlmodules
/scripts/upcp -force
This will double check all perl modules and run the update in force mode, overwriting existing cPanel functions with the latest ones. If this still doesn’t work, let us know, and we can try more detailed fixes, or we can escalate the issue to cPanel directly and they can provide a proper fix.
4) Ensure that you are using the maildir format in email. The previous versions of cPanel used both mbox and maildir formats, but mbox is being phased out, and maildir is much more efficient anyway. To check this,run:
/scripts/convert2maildir
This will tell you what your current mail format is, and offer you the chance to convert to maildir and backup current mailboxes before the change. This script is pretty reliable, I haven’t run across any problems with it. It will install the latest courier-imap to handle the new format. This will also mean that Horde and Squirrelmail will then work with the new format, and Neomail will go away, since that has long since been deprecated.
That’s pretty much it. These are the steps we would follow in looking at any recent issue with cPanel. I would welcome any comments or suggestions for the next posting. If there’s something you want to know about technical support and what it is we do, I’ll write about it.
- Jason


















July 8th, 2007 at 1:07 am
When I run /scripts/updateuserdomains I get an error…
touch: cannot touch `etc/secondarymx’: No such file or directory
touch: cannot touch `etc/secondarymx’: No such file or directory
And the script ends with no further output.
July 8th, 2007 at 12:46 pm
Fantastic post thank you. Would love to see lots more posts like this.
July 12th, 2007 at 7:10 am
David: This looks like something might be strange with the script itself. There’s two things you can try:
Run the script from the root directory, like this:
cd /
/scripts/updateuserdomains
Since the script is calling for etc/secondarymx, its obviously using a relative path, so running it from the root dir will allow it to reach the location.
Or, you can go ahead and do the /scripts/upcp to update cPanel itself. You probably have an older version of cPanel, so this would replace the script with a later variant that will correct the error.
July 15th, 2007 at 2:04 am
even after doing all that i still get
perl -v
v5.8.5
why isent it getting upgraded ?
July 19th, 2007 at 2:37 pm
Jason: it works for me I did have the same error that David has and when I did it from root directory it seems that it work, I got no error.
Thank you:)
July 30th, 2007 at 7:58 pm
bman: The clue is in the blog entry. I missed it a few times too. Try upgrading perl to 587 first (I was still on 580). Then go to 588. 587 tgz is also here:
http://layer2.cpanel.net/
November 13th, 2007 at 8:21 am
Thanks Jason .Keep it up
April 1st, 2008 at 3:41 pm
I am a fan of cpanel. It is feature rich and has an ease of use that appealing to most. As we get more advanced we do want more from our sites and our skills increase.
Jason you have been doing this for awhile.
Thanks for the info
April 4th, 2008 at 3:59 pm
Hey I am glad to see that I am not the only one that uses tin foil as a self defense item.
The videos are pretty KEWL!