Fix a broken Perl installation – cPanel

Please note that this guide is applicable for cPanel versions prior to 11.36 and does not fix the issues on cPanel 11.36 + versions.

When you have a broken Perl in your cPanel box, it becomes a big issue and it affects other services which depends on the Perl modules. Usually, you can fix the broken modules using the cPanel provided scripts such as /scripts/checkperlmodules or even a force cPanel update ( /scripts/upcp --force ) should do the job.

However, if you ever tried to install another version of Perl via yum or from the source,  other than cPanel, things will break. This would prevent even cP from updating and many other functions.

A usual workaround for this issue is to manually re-install Perl as provided by cPanel installers.

===============

wget http://httpupdate.cpanel.net/perl588installer.tar.gz
tar xzvf perl588installer.tar.gz
cd perl588installer/
./install

===============

If you still see issues and is not able to complete the above installation, you might need to manually install Perl from the source files.

Following would help you :

=============
Get the version 5.8.7 from the official source, http://search.cpan.org/dist/perl/

You can use this direct link to download the file.

# Extract the folder and enter in

# sh Configure -de -Dusethreads

# make && make test && make install

# cd /usr/bin

# mv perl perl-backup

# ln -s /usr/local/bin/perl perl

# Re-install cPanel - /scripts/upcp --force

=============

This would fix the issues with a broken Perl in pre-11.36 cPanel & WHM

A quite note on versions after 11.36 :

Since cPanel & WHM 11.36, when system perl (/usr/bin/perl) began being handled by CentOS/RHEL/CloudLinux and cPanel internal perl began being handled in /usr/local/cpanel/3rdparty/bin/perl (symlinking to the version cPanel provide), cPanel do not recommend using source installations for Perl.

CentOS 6 onward uses system perl 5.10 via rpm (yum reinstall perl is the way to fix system perl), and cPanel’s perl is also installed via rpm files with cpanel-perl* whatever as the names.

The way to fix internal cPanel perl would then be to remove the cpanel-perl rpms and to reinstall them using this script:

/scripts/fix_cpanel_rpms –fix

Again, system perl would be fixed using “yum reinstall perl

The cPanel perl for 11.46 and higher (11.48, 11.50) is 5.14:

root@server [~]# ls -lah /usr/local/cpanel/3rdparty/bin/perl
lrwxrwxrwx 1 root root 44 May 23 19:26 /usr/local/cpanel/3rdparty/bin/perl -> /usr/local/cpanel/3rdparty/perl/514/bin/perl*

root@server [~]# /usr/local/cpanel/3rdparty/bin/perl -v
This is perl 5, version 14, subversion 4 (v5.14.4) built for x86_64-linux-64int