Tuesday, July 8, 2014

Cannot Sync Subscription To Service Plan In Plesk

This could be caused by a myriad of issues however as of version 12 there is a limit of 50 subscriptions per service plan. If you have more than 50, it will not sync.

There is a bug report for this under "PPPM-1379".

The solution to the problem is to simply not use Plesk.

Wednesday, July 2, 2014

How To Fix Permissions On Home Directory

This will ensure the user and group match the username in /home (non-recursively)
for i in `ls`; do { chown $i:$i $i; }; done;

Thursday, March 13, 2014

Cannot find or open table wp_kstats_raw

This error usually occurs because the table has crashed or some other INNODB error. Usually its best to just recreate the table from scratch
DROP TABLE IF EXISTS `wp_kstats_raw`;
CREATE TABLE `wp_kstats_raw` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `timestamp` datetime NOT NULL,
  `ip` int(10) unsigned NOT NULL,
  `url` varchar(1024) NOT NULL,
  `referrer` varchar(1024) NOT NULL,
  `user_agent` varchar(1024) DEFAULT NULL,
  `os` varchar(255) DEFAULT NULL,
  `browser` varchar(255) DEFAULT NULL,
  `search_engine` varchar(255) DEFAULT NULL,
  `search_terms` varchar(255) DEFAULT NULL,
  `spider` varchar(255) DEFAULT NULL,
  `feed` enum('','ATOM','COMMENT ATOM','COMMENT RSS','RDF','RSS','RSS2') DEFAULT NULL,
  `user` varchar(255) DEFAULT NULL,
  `preserved` enum('1') DEFAULT NULL,
  UNIQUE KEY `id` (`id`),
  KEY `timestamp` (`timestamp`),
  KEY `ip` (`ip`),
  KEY `url` (`url`(255))
) ENGINE=InnoDB AUTO_INCREMENT=262808 DEFAULT CHARSET=utf8;

Monday, March 10, 2014

Thursday, February 13, 2014

Wednesday, January 29, 2014

How To Disable Eximstats on cPanel

Eximstats does just what it implies, keeps stats on exim(email). Sometimes you don't care about these stats and want to free your database and I/O up for more important things. Luckily you can via the following CLI command:
/usr/local/cpanel/bin/tailwatchd -–disable=Cpanel::TailWatch::Eximstats
You may want to truncate the related tables for eximstats in MySQL before doing this (to save time if they are crashed,etc) but is not required nor necessary as the above will clear the tables (but will bawk if they are crashed, etc)

Monday, January 20, 2014

PHP Function To Convert CIDR To Netmask

<?php
function cidr2mask($cidr) {
     return long2ip(-1 << (32 - (int)$cidr));
}
?>

PHP Function To Convert Netmask To CIDR

<?php
function mask2cidr($mask){
     $long = ip2long($mask);
     $base = ip2long('255.255.255.255');
     return 32-log(($long ^ $base)+1,2);     
}
?>

Thursday, December 26, 2013

How To Fix [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

Time to time on new installs of MySQL I encounter this error which is luckily very easy to fix.

From the command line simply run:
mysql_install_db --user=mysql
You may also encounter this error in part when trying to start/stop/restart the service and see:
ERROR! MySQL server PID file could not be found!
...which usually reveals itself in the err log in /var/lib/mysql

Thursday, December 19, 2013

Remove PHP Malware Hack Exploit Injection

If all your PHP files have been injected on the first line with an exploit of some sort, you can use the follow FIND and SED commands to replace the entire first line with a normal PHP open tag:
find . -name '*.php' -exec sed -i '1 s/^<?php.*$/<?php/g' {} \;
Once completed, you should inspect your logs and upgrade your software to avoid future incidents.