2.11.9 User Guide

Retired Documentation

You are using the documentation for version 2.11.9. Go here for the latest version or check here for your available upgrades to the latest version.

Upgrading from ExpressionEngine 1

This guide will help you upgrade your site from ExpressionEngine 1 to ExpressionEngine 2.


Third-party add-ons from version 1.x will not work with ExpressionEngine 2. Please contact each add-on’s author for a 2.x-compatible version before upgrading, or your site may not function properly. The installer will automatically disable all extensions as part of the upgrade process.

1. Prepare and Back-up

  1. Download the most recent release of ExpressionEngine (either ExpressionEngine Core or the standard edition, whichever your site is currently running) and unzip the files to a folder on your computer.

  2. In your ExpressionEngine Control Panel, go to Admin ‣ Utilities ‣ Clear Cached Data Files. Select All Caches and click Submit.

  3. Back-up your ExpressionEngine database.

  4. Back-up all your ExpressionEngine files and directories:

    Find these files and directories and add _old to the name:

    • Rename index.php to index.php_old
    • Rename system/ to system_old/
    • Rename themes/ to themes_old/
  5. We strongly encourage taking your site offline for the duration of the update so that people visiting your site won’t see any PHP errors or other anomalies that may occur while you are uploading files:

    1. Copy system/utilities/offline.html to your web root directory (the same place you have your main index.php file).
    2. Rename offline.html to index.html. Now your visitors will see the “offline” page while you update your site.

2. Upload New Files

Using your favorite FTP client, upload these files and directories to your server:

  • admin.php
  • index.php
  • system/
  • themes/

During this step, you should also upload the most recent version of all add-ons installed in your ExpressionEngine installation. Consult the documentation for each add-on for any particular steps necessary to upgrade that add-on.


If you have Discussion Forum or Multiple Site Manager installed, be sure to update them to the latest versions whenever you update ExpressionEngine.

3. Restore Select 1.x Files

  1. Restore the config file from your backup:
    • Copy system_old/config.php to system/expressionengine/config/
  2. If you saved your templates as flat files in ExpressionEngine 1, restore this directory from your backup:
    • Copy all files and directories from system_old/templates/ to system/expressionengine/templates/


If you’re running Multiple Site Manager and saving templates as files, you will need to create template directories for each site and and copy your 1.x templates into the proper directories. The directories should reside in system/expressionengine/templates and named following the format system/expressionengine/templates/site_short_name/

4. Restore File Changes

Copy over to these files any modifications that had been made to ExpressionEngine 1’s path.php file, such as updating the system directory name or path:

  • admin.php
  • index.php


If you are using Multiple Site Manager, the same should be done for each MSM site’s index.php and admin.php file.

5. Verify File Permissions


These permissions are typical for PHP-based applications running on Apache, though you may want to check with your web host to see if more restrictive permissions can be used to allow PHP to write to files and directories.

Set these files to 666:

  • system/expressionengine/config/config.php
  • system/expressionengine/config/database.php

Set these directories (and their subdirectories) to 777:

  • system/expressionengine/cache/
  • system/expressionengine/templates/
  • images/avatars/uploads/
  • images/captchas/
  • images/member_photos/
  • images/pm_attachments/
  • images/signature_attachments/
  • images/uploads/


Provide all permissions to the IIS user for these directories:

  • system/expressionengine/cache/ (and subdirectories)
  • images/avatars/uploads/
  • images/captchas/
  • images/member_photos/
  • images/pm_attachments/
  • images/signature_attachments/
  • images/uploads/

6. Run The Upgrade Wizard

Point your browser to the URL of the admin.php file you uploaded. For example:

Follow the on-screen instructions to upgrade ExpressionEngine. Once the Update Wizard is finished, you must remove the system/installer/ directory from your server.

7. Cleanup

  1. Remove the offline index.html file that was added to your web root in Step 1.
  2. Review the Version Notes since they outline any version-specific changes that you may need to make to your installation.

You’re Done! ExpressionEngine is now fully upgraded.

Post-Installation Best Practices

Once you are confident that ExpressionEngine 2 is working normally on your server, we recommend a few best practices for protecting your installation against common security risks.