Magento upgrade from 1.4, 1.5, 1.6, 1.7, or 1.8 to 1.9

NOTE: this upgrade process works the same way for Magento version 1.4, 1.5, 1.6, 1.7, 1.8, and 1.9

As many magento users will know, Magento is no fun to work with-- mainly due to poor community support (the developers help paying customers; i.e. Magento Enterprise ... Only payed support there... Great for business but bad for the average or beginning user...)


So here's how we do it.


You can skip this step all together, however, please make a backup of everything prior to beginning the upgrade.

Create a test environment somewhere on your server (preferably away from your production installation)

Tags: how-to magento magento upgrade

How to install an SVN version of Apache using Directadmin Custombuild

This is a quick guide to help out those trying to install an NON-RELEASE version of apache. It was made due to intermittent crashes of apache 2.4.25 with HTTP2 on CentOS with DirectAdmin.

You can see the changelog here:

Here is the DirectAdmin discussion this was first reported on:


Here's the fix:

Tags: apache http2 DirectAdmin centos

HOW-TO: create a Drupal views block to display the current node content

In views section, for an existing view or newly created one, do the following:

  1. Click "Add" > "Block"
  2. Fill in whatever you normally would do in views (this is beyond the scope of this tutorial)
  3. Under "Contextual Filters" > click "Add" >  "Content: Nid" > "Provide default value" > "Content ID from URL"

And that's that... 

Tags: Drupal Views

New Linux Server Checklist (2017 Edition)

These are some of the basic things I do when I setup a new server

Get the latest directadmin.conf values

With each version of DirectAdmin, new configuration values are introduced that you may not know about. To see ALL these values do the following:

/usr/local/directadmin/directadmin c | sort -n

You can essentially copy/paste the entire results into your /usr/local/directadmin/conf/directadmin.conf replacing anything else in there.

Tags: how-to Linux Server checklist best-practice

Enable DKIM and have Exim SMTP banner use the accounts dedicated IP in DirectAdmin for PHP mail

Enable DKIM and change the PHP mail SMTP Sender banner

To Change the "Sender" info we have to do the following:

cd /usr/local/directadmin/data/templates/custom/
cp /usr/local/directadmin/data/templates/virtual_host2.conf /usr/local/directadmin/data/templates/custom/
cp /usr/local/directadmin/data/templates/virtual_host2_secure.conf /usr/local/directadmin/data/templates/custom/
sed -i 's/`USER`@`DOMAIN`/no-reply@`DOMAIN`/g' ./virtual_host2*.conf
echo "action=rewrite&value=httpd" >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d
Tags: Linux exim DirectAdmin DKIM spam SMTP PHP mail email

MariaDb/MySQL how to fix Unknown/unsupported storage engine: InnoDB

If you changed /etc/my.cnf "innodb_log_file_size" setting, then may get this error:

 [ERROR] InnoDB: Unrecognized value JO_DIRECT for innodb_flush_method
 [ERROR] Plugin 'InnoDB' init function returned error.
 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

You probably tried the following fix:

Easily manage magento extension installations with modman and generate-modman

Modman lets you install/uninstall magento extensions without the use of Magento Connect.

Why would you use modman?

Say you have an extension that doesn't use Magento Connect--where you upload it's contents manually. When you want to uninstall that extension, you have to tediously/manually search the installation files/folders and remove them by hand.

With modman, this is done for you perfectly--no more tedious labor.

Install modman

Let's first install modman.

1. Enable symlink support in magento: System > Configuration > Advanced > Developer , Under "Template Settings" > "Allow Symlinks" select "Yes"

2. Download and run the installer.

Tags: magento modman

How to install PECL uploadprogress w/ PHP 7 support

Original uploadprogress doesn't seem to be developed any longer, and hence doesn't support PHP 7. However, there's a PHP 7 compatible version we can use:

cd /usr/local/src/
git clone
cd uploadprogress
make install

Now add the extension to your php.ini

Tags: Drupal linux server media

How to add Google Fonts to Drupal 8 theme, the PROPER way

Here's the proper way to add external google fonts.

NOTE: Important parts here are and YOURTHEMENAME.libraries.yml



      '//,400,300,700|Open+Sans:300italic,400,300': { type: external, minified: true }

Drupal 8 drush critical update commands

There are some new drush Drupal 8 commands that are critical to updating your site. The big new one here, is "drush entitity-updates".  Which should be initiated AFTER "drush updb".

Otherwise, if you check your Drupal 8 "Status Report" you may get an error showing "Entity/field definitions: Mismatched entity and/or field definitions"--which won't be apparent, unless you check the Status Report.

So here goes... 

Clear all cashes (no longer "drush cc all"):

drush cr 


drush cache-rebuild

Update the database (this is still the same, however, you won't be done here):

Tags: Drupal drupal 8 drush

How to install Apache Solr 5.x for use with Drupal

Here's the updated version on how-to install Apache Solr 5.x and get it running with Drupal (WITHOUT Apache Tomcat; as Solr 5.x doesn't support Tomcat anymore).

Install Java 1.8

yum install java-1.8.0-openjdk.x86_64
# or
aptitude install java8-jdk

Create a symlink to wherever your /etc/bashrc or ~/.bashrc has export JAVA_HOME=/usr/local/jdk set to.

Tags: apache apache solr Drupal Server admin

Fix magento 1.9 price rules "Stop Further Rules Processing"

There's a bug affecting all magento 1.9 versions, that prevents users from applying multiple coupons to their order--even if "Stop further rules processing" is NOT selected.

Basically, a customer can only apply a single coupon to their order--no stacking of coupons works in Magento 1.9.

Here's the fix, you'll need modman and generate-modman installed:

Tags: magento

Enable WHM SSH safemode if you lock yourself out

If you locked yourself out of SSH in WHM/Cpanel for whatever reason--e.g. you specified an invalid AllowUsers in /etc/ssh/sshd_config--you can reload SSH service in safemode, by pasting this into your browser's address bar:


Then login with your root credentials, and sshd will be restarted in safemode, allowing you to login and fix your /etc/ssh/sshd_config.

Once done, restart ssh:

service sshd restart
Tags: Linux ssh

How to install Apache Solr 4.6 with Apache Tomcat 7, for use with Drupal

Here's the 2014 version on how-to install Apache Solr 4.10, alongside Apache Tomcat 7, to help out with things like Drupal faceted search.

Ok... let's do this.

Install Java 1.7

yum install java-1.7.0-openjdk
# or
aptitude install java7-jdk

Done--that was quick.

HOW TO create a Gmail filter to automatically delete emails Older than X amount of days

Let's say you want to AUTOMATICALLY delete all "Promotional" emails from your Gmail after 90 days.

Step 1:

Go to Settings -> Filters -> Create a new filter

Step 2:

Type the following into "Has the words" field:

category:promotions older_than:90d

Step 3:

Click "Create filter with this search"

Step 4:

Select "Delete it" and finally click "Create filter" button... 

And... we're done!

The key here is older_than:90d, you can just as easily create whatever time-based filter you want with that.

Tags: gmail email

How to move an account from DirectAdmin to WHM/cPanel

If you tried using WHM's Transfer Tool on very large sites, you've probably got a timeout error.

To fix this, we'll need to do this through SSH (via root) what the Transfer Tools wasn't able to do itself.


The Transfer Tool will create a /scripts directory--with all required scripts--at the base of your server, which we will use to create WHM/cPanel compatible backups.

The name of the script will look like the following: /scripts/pkgacct.YOUR_CPANEL_SERVER_NAME

Type the following to get the exact name:

Tags: Server Linux cpanel DirectAdmin transfer

Drupal remove deleted fields from database

Install and enable Field SQL norevisions, and use it to delete any revisions you don't need. Also set it to disable revisions for content/entity types that you don't want revisions being made.

Note: For entity content types, drupal will automatically make revisions for each update, but won't allow you to revert to any of these revisions, so this is pretty pointless; plus for very large databases this can degrade performance.

Tags: Drupal drush