CPanel password could not be changed because

Hello ,

This problem facing alot of server owners

Attempting to change the account password in CPanel or WHM for an user results in the following error message:

The password for ‘user’ could not be changed because:

No “because” explanation is given.

You may also see the following error in /usr/local/cpanel/logs/error_log:

Can’t locate Crypt/PasswdMD5/XS.pm in @INC () at /scripts/cPScript/CheckPass/UNIX.pm line 6.
BEGIN failed–compilation aborted at /scripts/cPScript/CheckPass/UNIX.pm line 6.
Compilation failed in require at /scripts/cPScript/CheckPass.pm line 6.
BEGIN failed–compilation aborted at /scripts/cPScript/CheckPass.pm line 6.
Compilation failed in require at /scripts/realchpass line 16.
BEGIN failed–compilation aborted at /scripts/realchpass line 16.

This indicates that the Perl modules CPanel require are either missing or damaged.

This solution has been confirmed on CentOS and Red Hat Enterprise Linux (RHEL).

Solution:

First, let’s try fixing the problem without rebuilding Perl or changing any system configuration files. Run:

/scripts/checkperlmodules
service cpanel restart

Try changing the password again. If you’re still getting the error, it’s likely the CPanel Perl installation was overwritten by an updated Perl RPM either manually or by yum. CPanel recommends using their Perl installer over the OS Perl packages.

Let’s make sure Perl is left up to CPanel added to the yum exclude list. Run the following command:

grep allowperlupdates /var/cpanel/cpanel.config

If you see allowperlupdates=1 you’ve enabled “Allow Perl updates from RPM-based linux vendors” in WHM under Tweak Settings -> System. Return to WHM and uncheck this option then click the “Save” button.

Open your yum.conf file in a text editor:

nano /etc/yum.conf

Verify that under the [main] section there’s a line that starts with exclude= and contains perl*. For example:

exclude=apache* bind-chroot courier* dovecot* exim* httpd* mod_ssl* mysql* nsd* perl* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*

If the line does not exist, you can either add it manually or run CPanel’s script:

/scripts/checkyum

Next, you’ll need to download the latest Perl installer from CPanel’s layer1 site: Downloads – cPanel Inc.

Once you have the file downloaded, extract and run the installer:

tar -xzf perl588installer.tar.gz
cd perl588installer
./install

Finally, restart cpanel:

service cpanel restart

You should now be able to change passwords and create accounts that can actually login again.

bye ,

http://community.singlehop.com/community-tutorials/319-cpanel-password-could-not-changed-because.html

Leave a Reply

Your email address will not be published.