Drupal/CiviCRM without doing Devops

By kathc, 1 June, 2023

Subscribe with a SaaS provider

There are now a few very good options for using CiviCRM without managing a Drupal site or server at all - Spark (CiviCRM.org's own starter service); CiviPlus (from Compuco); Civi-Go: CiviCRM SaaS Hosting (by Ixiam). 

Find a hosting/maintenance partner

If you want more freedom to customize your Drupal site, but with installation and maintenance handled by a partner, there are more options for you:  Blackfly Solutions (your own Drupal/CiviCRM installation with managed hosting); and Civihosting for example. I've used both of them very successfully.

Managed hosting

But I've been looking for an inexpensive, easy to use (similar to Drupal 7 or Wordpress/CiviCRM) environment for hosting my own Drupal with CiviCRM when I only intend to manage one or a handful of sites. I'm not a developer who is creating new modules, themes or extensions.

I've tried out a bunch of different hosts and have landed on these for actually getting work done without spending a day setting up a local development environment and the relevant Git repository to simply download all the files and send them back up to a server using a git workflow (although nothing in this process will prevent a migration to that if you prefer - ensure that you're doing Git right though - don't keep anything that should be secret in your repository). 

In the olden days, you could do a one-click Drupal install, then add CiviCRM using an FTP client. I was comfortable with that, but it made life difficult for folks managing a lot of sites or enterprise sites. 

I'm only maintaining a handful of sites, so I'm still okay with a more manual approach to those rare-ish jobs -- there's an occasional Drupal core update or a CiviCRM release monthly, but I've rarely felt the need to update both every time -- only for security updates or a new feature I want. It's more likely that I'm updating sites quarterly. That's often enough for me to recall how it's supposed to work, but not often enough to figure out a lot of automation.

Since I have no custom code aside from some theme overrides, that's a matter of cloning my site, applying the updates, testing that nothing has broken, and then either switching DNS to the clone, or re-applying the updates to the live site. (I still take a backup just before starting). (Again, a proper development environment would have me cloning from Git, making the changes locally, deploying to test, QA, deploy to live). 

The services that meet my needs right now are Cloudways (using DigitalOcean VPS) or DevPanel (uses AWS). 

The nice folks at DevPanel have created a one-click Drupal/CiviCRM latest version install so you don't need to read this next bit, and they're offering their service free to nonprofits and agencies -- you pay for your own AWS services, which can include services through an AWS grant, or a Lightsail instance. 

Installing Drupal and CiviCRM

Cloudways has an option to install a PHP Custom app, so you can install Drupal there by going to the (built-in or local) console, logging in and copying and pasting a few lines from https://www.drupal.org/docs/develop/using-composer/manage-dependencies (this page is frequently updated, so I give it a read every time). 

Then head over to https://docs.civicrm.org/installation/en/latest/drupal/ (likewise, give it a read-through) and copy the lines noted to install the version of CiviCRM you need. 

You can type the lines if you want, but I try to reduce the possibility of a typo as much as possible. 

That's it. You've got an installed Drupal site with CiviCRM ready to configure as you wish.

 (Note - Drupal 10 may change this - I've done it a few times with Drupal 9 which will be end of life in November 2023). 

Maintenance every quarter(ish) is similar - read  https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer, copy and paste the relevant lines, check your Status report to see if you need to update your database (or run drush updatedb while you're in the console). Maybe at the same time (maybe not - that might be enough for one day!) you can update CiviCRM. Go to https://docs.civicrm.org/sysadmin/en/latest/upgrade/drupal8/ (all modern -- post D7 -- versions are covered by drupal8 in CiviCRM). 

Drupal 10 stability for CiviCRM is quite recent, so I'll be reading and updating and return to update this page if that's substantially different. 

My current hosting is with Cloudways/Digital Ocean. 

If you want to try them out, use my affiliate link and I'll get some free hosting credits if you stay.
https://www.cloudways.com/en/?id=1365707

 

Comments