How to Update Expression Engine
In this tutorial, we will learn how to update the Expression Engine content management system from version 2.2.2 to the latest version (at the time of this writing) of 2.7.2 We are using the free Expression Engine Core only.
This is called an “update” (as opposed to an “upgrade”) because we are updating a minor version and not upgrading a major version.
The official documentation for updates from EllisLabs is here.
The steps below may not be appropriate for all system or versions and Expression Engine may have changed so that these steps may become outdated. If you are not comfortable performing updates, hire me or another developer to help you with your upgrade.
It’s a good idea to read version notes to see any special instructions. For instance, in our case, the version notes says …
“SafeCracker is now Channel Form, and the SafeCracker File fieldtype has been removed. Be sure not to include safecracker_file while restoring the system/expressionengine/third_party/ directory during the update process.”
Good to know.
1. First, you want to clear the cache by “Tools -> Data -> Clear caching -> All Caches” in the admin control panel.
2. Take site offline (Admin-> General Configuration -> Is System On) and logout.
4. Then backup the database (can use phpMyAdmin)
5. Backup all the application files on the server.
6. Make a copy somewhere of …
admin.php (or your renamed equivalent)
index.php
system/
themes/
because you will need it later.
7. Copy offline.html page from …
system/expressionengine/utilities/offline.html
to become index.html in root. (assuming your server will return index.html before index.php as default)
8. Download the latest version of Expression Engine.
9. Upload to the corresponding location on your webhost, taking into account if you had renamed the system folder and the admin.php file.
10. Merge in any changes from the old files to new files, especially these…
index.php
admin.php
system/expressionengine/config/config.php
system/expressionengine/config/database.php
themes/site_themes (may contains your theme and other)
themes/third_party (may contains third_party elements)
system/expressionengine/language/ (may contain additional languages)
system/expressionengine/third_party/
system/expressionengine/templates/
11. Check folder permissions on the following..
Typically should be 666:
- system/expressionengine/config/config.php
- system/expressionengine/config/database.php
These directories (and their subdirectories) typically are 777:
- system/expressionengine/cache/
- system/expressionengine/templates/ (but 755 if not saving template files to disk)
- images/avatars/uploads/
- images/captchas/
- images/member_photos/
- images/pm_attachments/
- images/signature_attachments/
- images/uploads/
12. Run update wizard by pointing browser to your Control Panel (typically /admin.php but could have changed for increased security)
13. After wizard has run, delete “system/installer/” from server.
14. Delete the index.html offline page from server.
15. Login to control panel to put site back online. You may see a message saying core files have changed. Click the “Accept changes” button.