I was wondering why some emails contain no spamassassin headers at all even if it’s globaly set to on. There is a message size limit in cPanel that prevent scanning of messages bigger than 200 KB *by default). Increase it in WHM -> Exim Configuration Manager -> SpamAssassin: message size threshold to scan to 1-2 MB at least.
I found an interesting tutorial about cPanel uninstall here:
http://www.askapache.com/hacking/uninstall-cpanel.html
Test most scripts, works fine. At the end I also remove unnecessary rpms.
Eximstats (installed by default in cPanel) use MySQL database to store log information. Over time, the database can grow up to few gigabytes. In my opinion those stats are useless, so I remove them. First go in WHM -> Service Manager and disable Eximstats. Then open eximstats database using for example phpMyAdmin from WHM, select all tables and truncate them.
A small shell script that search for magento databases and clean their logs:
#/bin/bash
for i in `find /var/lib/mysql/ | grep dataflow_batch_export | awk 'BEGIN { FS = "/" } ; { print $5 }'`; do
echo -n $i " ... "
mysql -e "TRUNCATE dataflow_batch_export; TRUNCATE dataflow_batch_import; TRUNCATE log_url_info; TRUNCATE log_visitor; TRUNCATE report_event; TRUNCATE log_visitor_info; TRUNCATE log_url; TRUNCATE log_quote;" $i
echo "[ DONE ]";
done
You need to upgrade WordPress each time a new version is released (at least for security reason). Below is a shell script I use to upgrade WP from console. Pay attention to rm -rf lines!
cd wordpress
export WPUSER=`ls -l . | awk {'print $3'} | tail -1`
echo $WPUSER
rm -f latest
wget wordpress.org/latest
rm -rf wordpress
tar xzf latest
rm -f latest
chown -R $WPUSER:$WPUSER wordpress
/bin/cp -aR wordpress/* .
rm -rf wordpress
export WPUSER=''
Looks like a fresh installed cPanel has an outdated SpamAssassin rules that mark legitimate emails as spam. There are 2 obsolate rules: DNS_FROM_OPENWHOIS and FH_DATE_PAST_20XX
Try search /var/log/maillog for these rules. If found, you need to run sa-update
# grep -l DNS_FROM_OPENWHOIS /var/log/maillog
/var/log/maillog
Quickly clean the swap on linux:
swapoff -a && swapon -a
To see it’s empty, use free command
A new and rewritter php class for cPanel XML API was just published by cPanel:
http://forums.cpanel.net/f42/xml-api-php-class-version-1-0-a-136449.html
A new ClamAV version was released few hours ago. If you want to upgrade your cPanel to latest ClamAV version, use this tutorial (version updated).
Sometimes you need to configure exim mail server to use multiple IPs for sending mail (for example, when you host a newsletter with too many subscribers) . By default, exim is bound to primary interface, but this can be changed.
Please note that this will break “mailip” feature from cPanel (that allow users with dedicated IPs to send mail from these instead of main server IP). Also, if you enabled SPF, take care to add all new IP addresses to the list of allowed IPs.
First, you need a function that pick a random IP from a list. Add it to /etc/exim.pl (somwhere at the end, above last line)
sub randinet {
@inet = ("x.x.x.1", "x.x.x.2", "x.x.x.3", "x.x.x.4");
return $inet[int rand($#inet+1)];
}
Then edit /etc/exim.conf and search for a line that start with “interface=”
remote_smtp:
driver = smtp
interface = ${if exists {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
replace last line with
interface = "${perl{randinet}}"
You can do the same for dk_remote_smtp section (this is used for sending signed mails). Restart exim and search the logs for possible errors.