Home#OpEdUpgrading CiviCRM on WordPress in Amazon Lightsail: A Field Service Technician’s Guide

Upgrading CiviCRM on WordPress in Amazon Lightsail: A Field Service Technician’s Guide

Another Code Tip From Foreclosurepedia

In the world of mortgage field services, few things grind progress to a halt like outdated tools. Just as inspectors cannot operate with clipboards missing pages or contractors cannot mow lawns with broken blades, organizations running CiviCRM on WordPress cannot afford to let their systems stagnate. A sidenote to WordPress is that the free software powers nearly half of all websites on Earth! And yet, many nonprofits, associations, and service providers find themselves paralyzed when the dreaded update notice appears inside the WordPress dashboard. Nowhere is this more pronounced than on Amazon Lightsail, where WordPress runs inside a tightly sealed Bitnami stack. For the uninitiated, the upgrade process for CiviCRM is not the simple “click update” routine that WordPress users take for granted. Instead, it requires working in the command line, uploading files, and knowing exactly which directories can be safely erased without crippling the system. In full disclosure, I wrote this article for Digital Matrix Group, where I do most of my nonprofit and website builds.

We have long documented the disconnect between the technology demands placed on grassroots organizations and the opaque instructions provided by software maintainers. CiviCRM, while powerful, often feels like a labyrinth when it comes time to upgrade. This becomes a real barrier for those in the mortgage field services industry, like the International Association of Field Service Technicians (IAFST), who depend upon accurate tracking of memberships, contributions, and volunteer engagement. When the tool you rely upon for compliance reporting or donor management suddenly flashes warnings about being “out of date,” panic is a natural response. But panic is unnecessary. With a careful, step-by-step approach, upgrading CiviCRM on Lightsail can be no more intimidating than swapping out a broken lock on a foreclosure property.

CiviCRM is an open-source, web-based Constituent Relationship Management system designed specifically for nonprofits, advocacy groups, membership organizations, and associations that need to track relationships, contributions, events, and communications. With over 24 million users, it is a stable platform. Unlike expensive commercial CRMs that lock organizations into costly subscriptions, CiviCRM is completely free to download and use, with no licensing fees attached. Its flexibility allows it to integrate seamlessly with platforms like WordPress, Joomla, and Drupal, giving organizations the same power as big-budget systems without the financial burden. For many small nonprofits and labor associations, this freedom from recurring costs is what makes CiviCRM such a vital tool—it democratizes access to professional-grade data management while preserving precious resources for mission-driven work.

The first misconception to dispel is that upgrades must be performed from within WordPress itself. While WordPress core and many plugins can be updated with a simple click, CiviCRM requires a manual replacement of its plugin directory. Why? Because the complexity of its database schema and cache system means that simply overwriting files through the WordPress updater often leads to corruption. On Lightsail, where permissions are tightly controlled under the Bitnami user, the system will outright reject attempts to run the update from the dashboard. The result is that administrators must roll up their sleeves and enter the terminal through SSH, the same way contractors access a locked property with the correct key.

The process begins by uploading the new CiviCRM release to the server. Here is where many administrators falter. Unlike a consumer-grade hosting service where drag-and-drop might suffice, Lightsail requires connecting with SFTP software such as FileZilla or Cyberduck. The authentication key you use to log into Lightsail is the same key you use to connect via SFTP. Once authenticated, the new CiviCRM archive—conveniently named something like civicrm-6.6.1-wordpress.zip—must be placed in the wp-content/plugins directory. This is the digital equivalent of staging new appliances inside a foreclosed home before removing the old ones.

With the package uploaded, the real work begins. Using SSH, you navigate into the plugins directory, and the first command is both the most terrifying and the most liberating: deleting the old civicrm folder. This is where less experienced administrators hesitate, worried that removing the plugin might obliterate their data. In reality, all of CiviCRM’s mission-critical information—contacts, contributions, event registrations—lives in the database, not in the plugin folder. Removing the old code is akin to tossing out rusted lawn equipment while the actual property records remain safe inside the file cabinet.

The second step is purging the templates_c cache directory. This folder contains compiled templates that CiviCRM regenerates automatically, but if left untouched, they will conflict with the new code. For those accustomed to field inspections, this is like ensuring you clear out all the trash before bringing in fresh paint—failure to do so means the old stains will bleed through. On Lightsail, these cached files are usually owned by the daemon user, meaning you will likely need sudo permissions to wipe them out. Once purged, the folder will repopulate itself as soon as CiviCRM runs again.

After clearing out the debris, the new plugin archive is unzipped directly into the plugins directory. This drops a fresh civicrm folder into place, housing the updated codebase. The archive itself can then be removed to prevent clutter. At this point, the digital equivalent of a property “trash-out” has been completed, and the structure is ready for inspection. But the process is not yet finished. Just as city inspectors demand permits be updated before work can resume, CiviCRM requires its database schema to be upgraded. This is done by visiting the upgrade URL inside WordPress—/wp-admin/admin.php?page=CiviCRM&q=civicrm/upgrade&reset=1. Following this link initiates CiviCRM’s upgrade wizard, which brings the database into alignment with the new code.

It is only after completing the database upgrade that CiviCRM is truly ready for use. Skipping this step leaves the system in limbo, just as failing to file the proper reports leaves a contractor exposed to fines. Once the upgrade wizard confirms success, administrators should test basic functions: viewing a contact, recording a contribution, and sending a test email. If all works smoothly, the upgrade is complete, and the organization can move forward without the looming threat of software obsolescence.

For those working in the mortgage field services industry, the lesson here is twofold. First, technology—like property maintenance—requires discipline and a willingness to get your hands dirty. There are no shortcuts. Second, by understanding the logic of the upgrade process, organizations free themselves from dependency on expensive consultants who often charge thousands for what is essentially a ten-minute operation. The parallels with contractors in our industry are clear: just as labor is squeezed by middlemen, nonprofits are squeezed by unnecessary technical gatekeeping.

The next time you see a notice that CiviCRM needs to be updated, remember this process. Upload the archive, remove the old plugin, clear the cache, extract the new version, and run the database upgrade. It is not glamorous, but neither is mowing a yard or boarding up a window. Both, however, are necessary to keep the larger system functioning. And in an industry already stretched thin by inflation, tariffs, and stagnant wages, the ability to control your own tools is not just empowering—it is essential for survival.

Happy coding and good luck! As a footnote, I always suggest backing up your website and database. I personally use All in One WordPress Migration by ServMask, but any manner is good and generally speaking, check with your host to see if they are already backing up, when they back up, and ensure that the snapshot is timely to include any data you may have entered that day. If not, do a manual backup/snapshot before you begin!

Before You Go ...

Foreclosurepedia exists because readers, workers, and advocates understand that protecting Labor in the mortgage field services industry requires independence, persistence, and resources. We do not answer to servicers, hedge funds, or corporate trade groups; our accountability is to the Field Service Technicians, Inspectors and administrative personnel whose livelihoods are too often treated as expendable. Donations are what allow us to investigate quietly buried contract changes, expose abusive labor practices, and publish work that would otherwise never see the light of day. Every contribution helps keep our reporting free from industry pressure and focused squarely on defending labor standards, fair pay, and basic dignity in the foreclosure ecosystem. If you believe this work matters, your support is not symbolic—it is the reason Foreclosurepedia can continue to stand between Labor and a system that routinely exploits it.

Donate To Foreclosurepedia

Support the Foreclosurepedia Nation today!

Editor In Chief
Editor In Chiefhttps://foreclosurepedia.org
Off Grid Linux Junkie and Always a Friend of Labor! I'm that guy that you call when people say "I know a guy".

Appointments

Schedule An Appointment

Tahoe CBD

NAMFS Gift To YOU!

Inspectors

Followers

27,534FansLike
179,612FollowersFollow
49,036FollowersFollow
16,528SubscribersSubscribe

Most Popular