Disable cphulk from shell in cPanel server

Recently one of our customer complained not being able to login in WHM and was suspecting cphulkd blocking him and wanted us to disable it from the shell. Hence here are the steps I provided him.

/usr/local/cpanel/etc/init/stopcphulkd

/usr/local/cpanel/bin/cphulk_pam_ctl --disable

Above commands will just stop or disable cphulkd temporarily if you restart the cPanel service, it would again start the cphulkd service. In order to stop it permanently.

You can try

rm -f /var/cpanel/hulkd/enabled

Enjoy!!

Missing Databases in Cpanel

Recently, I came across one of the cPanel issue where a customer was complaining that the databases has suddenly disappeared from the cPanel although he did not delete any databases. After login to the server I found that the databases exists in /var/lib/mysql its just fact that they are not visible in cPanel.  After a bit digging I found that  with cPanel version 11.28 cPanel & WHM introduces the Database Mapping feature. A databases mapping tool allows administrators to grant ownership of databases and database users to a cPanel user. So after granting ownership to cPanel users, he/she can manage that database from the cPanel interface itself. This tool is handy when you are migrating accounts from different panels like plesk or any other.  The cPanel has also designed a script for databases mapping and in case cPanel fails to use this script, databases can be missing from the cPanel.

In order to troubleshoot this issue, you need to execute database mapping script. To make sure database indeed exists in the server, you may run following command through shell. Here I am assuming that the cPanel user name is  mylocal, a cPanel user name is crucial as you know database name prefix always contains cPanel user name. Anyways, you can execute following command.

ls /var/lib/mysql|grep cpanelusername

If  the output of above command displays your database that indicates database exist in the server however just missing from the database mapping.

In this case, you need to make the database maps for cPanel users by running following command.

/usr/local/cpanel/bin/setupdbmap

If the command runs susccessfully,  it will create the map. But in my case I got error “command not found”  the reason was that the cPanel version was not updated hence I run following command.

/scripts/upcp –force

If you see message something like below it means, cPanel update is completed.

[20120928.072428]
[20120928.072428] cPanel update completed
[20120928.072428] A log of this update is available at /var/cpanel/updatelogs/update.1348814235.log
[20120928.072428] Removing upcp pidfile
[20120928.072428]
[20120928.072428] Completed all updates

After you need to run following command,

/usr/local/cpanel/bin/setupdbmap

It should display output something like below.

info [setupdbmap] Begin setupdbmap
info [setupdbmap] Updating MySQL users
info [setupdbmap] Processing MySQL databases and database users …
info [setupdbmap] Finished with MySQL users
info [setupdbmap] Updating PostgreSQL users
info [setupdbmap] Processing PostgreSQL databases and database users …
info [setupdbmap] Finished with PostgreSQL users
info [setupdbmap] End setupdbmap
info [setupdbmap] Storing Database Index
info [setupdbmap] Database Index Complete.

Now, you can update the cpanel database cache by running the following command:

/scripts/update_db_cache

You are done!!

1 73 74 75