Tech tip

How to run Let'sEncrypt SSL certificates on NameCheap shared hosting

NameCheap hosting will promise you "Free SSL" when you sign up for hosting, but it's a trap. What you get is actually the first year free, for a certificate that will cost you $9/year, plus all the frustration and developer time to manage renewals of that SSL certificate.

Let’sEncrypt, on the other hand, provides always-free SSL certificates. Many modern web hosting providers include SSL certificates from Let’sEncrypt, by default, with your new hosting plans.

Until NameCheap decides to get with the program, we'll need to manually configure our hosting accounts there to use Let’sEncrypt certificates, which can be a but of a pain. Here's how I did it for one of my sites recently.

Get access to the server

In order to install the certificate on the server, you will either need ssh access, or to run the "Terminal" application from within cPanel. You can find it in the "Advanced" section.

Keeping your Drupal site up to date with Git and Drush

I don't recommend trying to stay 100% on top of all updates for all of your modules all the time. However, when a security update becomes available for one of your modules, you should certainly make that update as soon as is reasonable. And while you're at it, that might be a good time to bring everything else up to date as well. Below is my recipe for keeping modules on my Drupal sites up to date, by using two of my favorite development tools, Git and Drush.

Using MAMP for local Drupal development

I use MAMP for my local Drupal development on my Apple computer.

If you would like to do the same, first download the most recent version of MAMP and install it locally. When you are done, you should have directories for both MAMP and MAMP PRO in your /Applications directory.

To run the application, double click MAMP.app inside the MAMP directory. Once it's up and running, you should see a MAMP widget with a cute elephant icon.

Let's start by adjusting the preferences. I like to run MAMP on the standard ports for Apache and MySQL. MAMP provides it's own ports, and by default uses these instead.

Patching Drupal core

Every once in a blue moon, you'll run into a problem with your Drupal site where the solution involves patching core. Start by making sure that you have a safe place to apply your patch. This would be a 'dev' copy of the website, either running locally on your own computer, or in a development environment on the same server (or one that's identical) to your live site. *Never* apply patches directly to your live website - *especially* core patches!!!

  1. Start from the root of your Drupal site.
    [.../drupal-7] 
    
  2. Download the patch file from drupal.org
    [.../drupal-7]  wget http://drupal.org/files/606598-core7-port-imagestyles-175.patch
    

    OR, If you don't have wget on your computer (with a mac you will need to install Xcode) then you can do the same thing with curl, as follows

Applying patches from the command line

Applying patches is easier than you think! Start by making sure that you have a safe place to apply your patch. This would be a 'dev' copy of the website, either running locally on your own computer, or in a development environment on the same server (or one that's identical) to your live site. *Never* apply patches directly to your live website!!!

For the purposes of the example below, we'll pretend we are patching the panels module.

1) Start from the root of your Drupal site.

[.../drupal-7] 

2) Change Directories into the folder for the panels module

[.../drupal-7]  cd sites/all/modules/contrib/panels
[.../drupal-7/sites/all/modules/contrib/panels] 

3) Download the patch file from drupal.org

© 2024 Jeneration Web Development