Thursday, January 23, 2014

Disabling an email account

How can a particular email account be ‘disabled’ temporarily. Note that the email account should not be ‘deleted’ ? Is this possible at all via cPanel?

There is no direct functionality in cPanel at the moment for this. This feature might be added at a later stage.
However, you can achieve this functionality by modifying a few entries via SSH.

Comment out the entries related to the particular email account in the following locations:

Make sure that you just comment them and NOT delete them as you might need them back later.

Where to check the version of Horde

Where can I check the current version of Horde webmail client running with cPanel ?

If you have ‘root’ SSH access to the server then, simply open the file /var/cpanel/horde/version using your favorite editor and you’ll be able to see the current Horde version.

How to limit the overall size of emails

How can the overall size of an email including attachment, encoding etc. be limited to a pre-defined value?

This can be done in the following way :
Go to WHM >> Main >> Service Configuration >> Exim Configuration Editor
In the first box where you can type ( right below where you see ‘#!!# cPanel Exim 4 Config’ ), add the following directive :
message_size_limit = 100M
This will limit the overall size of the message to 100Mb

Not able to login to FTP accounts using root password

 Not able to login to FTP accounts using root password
Was able to login to all FTP accounts using the root password earlier but now it doesn’t seem to work. Where to check that?

Go to WHM >> Main >> Service Configuration >> FTP Server Configuration.
At the bottom of the page, you’ll find an option as ‘Allow Logins with Root Password’
Make sure that it is set to ‘Yes’ and save the settings.

This should resolve the issue.

How to block emails from a specific address using Exim

How to block emails from a specific address on a cPanel/WHM server using Exim ?

This is fairly easy to achieve with Exim.
First you’ll need to find the system filter file for Exim. This can be found out through WHM >> Main >> Service Configuration >> Exim Configuration Editor.
Towards the middle of the page, under the section ‘Filters’ , you ‘ll find the path to the file.
Open that file via SSH using your favorite editor and add the following to it :

    if first_delivery
    and ( (“$h_from:” contains “”)
    then fail

How to hide DNS controls from resellers/users

The server is mainly used for serving webpages and FTP. Certain things like DNS functions and email are not required as they are being handled externally. How can these be hidden from resellers/users?

DNS, email or any other functionality can be handled through ‘Feature Lists’ in WHM. Just go to WHM >> Feature Manager. Edit/create a feature list and enable/disable functions as required. Assign this ‘feature list’ to the particular ‘package’ which is assigned to the accounts.

How to find the number of user accounts via shell

There is no control panel installed on the server. So, how can the total number of user accounts on the system be determined?

Use the following command to find the total number of accounts on the system :
cat /etc/passwd | wc -l
Note : This will also include system accounts like root, mail etc.
To list all the accounts on the system then use the following :
cat /etc/passwd | cut -d”:” -f1

Turn off bandwidth monitoring

Issue :
How to turn off the bandwidth monitoring module in cPanel ?

Solution :
Go to WHM >> Service Configuration >> Service Manager.
Look for ‘cPBandwd’. Make sure that the check box besides that is unchecked.
Save the settings and that should be it !

How to change the default email settings

Issue :
Whenever a new account is created, the server sends out an email notification. Where can this setting be accessed and modified?

Fix :
Just go to WHM >> Basic cPanel/WHM Setup >> Server Contact Email Address.
You can make the required changes there.

How to enable SuPHP

 Issue :
 How to enable SuPHP

Solution :
Login to WHM.
Go to “Service Configuration >> Apache Configuration >> Configure PHP and Suexec” and check if SuPHP is available in the drop down menu. If it is available then select it and save the configuration after a dry run.
SuExec should also be available in the same drop down with an on/off option.

If SuPHP is not available then you need to run EasyApache via “WHM >> Software >> EasyApache (Apache Update)” and select SuPHP in the available options. You can also run EasyApache via console by using the following cPanel scipt :


Change in hostname causing redirection on secure access

Issue :
The server hostname was changed. Ever since that, secure access such as redirects to https://servername.old:2087

Fix :
This happens when the SSL certificate has not been reset for the services.
Go to WHM >> Manage Service SSL Certificates.
Re-issue all the service certificates.

This should resolve the issue!

SpamAssassin : WHM ACL Options : Reject mails with spam score at SMTP time

Issue :

It seems that by default, it is set to reject mails with a spam score of more than 20 at SMTP time. How to change the value of spam score for rejecting the mails at SMTP time ?

Solution :

You can do that by doing the following :

1. Go to WHM >> Main >> Service Configuration >> Exim Configuration Editor
2. Look for the section ‘ACL Options’ .
3. The first parameter under that deals with the spam score setting at SMTP time. De-select the check box corresponding to that.
4. When you de-select the check box, it will give you the other available options. Check the box corresponding to the desired value.
5. Click on ‘Save’ at the bottom to save the settings.

How to unblock IP address blocked by Brute force

METHOD to unblock all the IP addresses:

Command to disable cPHulk:

root@bigbang [~]# /usr/local/cpanel/bin/cphulk_pam_ctl – -disable
Command to enable cPHulk:
root@bigbang [~]# /usr/local/cpanel/bin/cphulk_pam_ctl – -enable

Removing blocked IP addresses manually from cPHulk’s database:

1.first login into mysql

2.then : use cphulkd;
mysql> use cphulkd; * from brutes;
mysql> SELECT * FROM brutes WHERE `IP`=’’;

mysql> DELETE FROM brutes WHERE `IP`=’’;