123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- INTRODUCTION
- ------------
- This document describes how to update your Drupal site between 8.x.x minor and
- patch versions; for example, from 8.1.2 to 8.1.3, or from 8.3.5 to 8.4.0.
- To upgrade from a previous major version (for example, Drupal 6 or 7), the
- process involves importing site configuration and content from your old site
- into a new Drupal 8 site. The tools and process are currently experimental,
- rather than being fully supported, so be sure to test in a development
- environment. You will need to use the core Migrate Drupal UI module which
- provides a user interface for the Migrate and Migrate Drupal modules included
- in core. See https://www.drupal.org/upgrade/migrate for details, and
- https://www.drupal.org/node/2167633 for known issues.
- First steps and definitions:
- * If you are upgrading to Drupal version x.y.z, then x is known as the major
- version number, y is known as the minor version number, and z is known as
- the patch version number. The download file will be named
- drupal-x.y.z.tar.gz (or drupal-x.y.z.zip). Previous Drupal versions used
- only x.y (MAJOR.MINOR) to designate their versions.
- * All directories mentioned in this document are relative to the directory of
- your Drupal installation.
- * Make a full backup of all files, directories, and your database(s) before
- starting, and save it outside your Drupal installation directory.
- Instructions may be found at
- https://www.drupal.org/upgrade/backing-up-the-db
- * It is wise to try an update or upgrade on a test copy of your site before
- applying it to your live site. Even minor updates can cause your site's
- behavior to change.
- * Each new release of Drupal has release notes, which explain the changes made
- since the previous version and any special instructions needed to update or
- upgrade to the new version. You can find a link to the release notes for the
- version you are upgrading or updating to on the Drupal project page
- (https://www.drupal.org/project/drupal).
- UPDATE PROBLEMS
- ----------------
- If you encounter errors during this process,
- * Note any error messages you see.
- * Restore your site to its previous state, using the file and database backups
- you created before you started the update process. Do not attempt to do
- further updates on a site that had update problems.
- * Consult one of the support options listed on https://www.drupal.org/support
- More in-depth information on updating and upgrading can be found at
- https://www.drupal.org/upgrade
- MINOR AND PATCH VERSION UPDATES
- -------------------------------
- To update from one 8.x.x version of Drupal to any later 8.x.x version, after
- following the instructions in the INTRODUCTION section at the top of this file:
- 1. Log in as a user with the permission "Administer software updates".
- 2. Go to Administration > Configuration > Development > Maintenance mode.
- Enable the "Put site into maintenance mode" checkbox and save the
- configuration.
- 3. Determine if your project is managed by Composer.
- On a typical Unix/Linux command line, this can be determined by running the
- following command (replace /PATH/TO/composer with the appropriate location
- for your system):
- /PATH/TO/composer info drupal/core
- If this is successful, your project is managed by Composer.
- If you don't have Composer installed or access to the command line, you can
- check the contents of composer.json. If "drupal/core" is present in the
- "require" section of your composer.json file, then the project is managed by
- Composer.
- If the project is not managed by Composer, follow the steps under "UPDATING
- CODE WITHOUT COMPOSER", otherwise go to "UPDATING CODE WITH COMPOSER".
- UPDATING CODE WITH COMPOSER
- ---------------------------
- 1. On a typical Unix/Linux command line, run the following command from the root
- directory (replace /PATH/TO/composer with the appropriate location for your
- system):
- /PATH/TO/composer update
- Note, if Composer is not installed you will need to install it in order to
- update Drupal.
- Note, if you want to only update drupal/core the following command will
- probably work:
- /PATH/TO/composer update drupal/core symfony/* --with-all-dependencies
- 2. Check the release notes for the updated version of Drupal to find out if
- there is a change to default.settings.php.
- You can find the release notes for your version at
- https://www.drupal.org/project/drupal. At bottom of the project page under
- "Downloads" use the link for your version of Drupal to view the release
- notes. If your version is not listed, use the 'View all releases' link. From
- this page you can scroll down or use the filter to find your version and its
- release notes.
- If there is a change to default.settings.php, follow these steps:
- - Locate your settings.php file in the /sites/* directory. (Typically
- sites/default.)
- - Make a backup copy of your settings.php file, with a different file name.
- - Make a copy of the new default.settings.php file, and name the copy
- settings.php (overwriting your previous settings.php file).
- - Copy the custom and site-specific entries from the backup you made into the
- new settings.php file. You will definitely need the lines giving the
- database information, and you will also want to copy in any other
- customizations you have added.
- 3. Determine if there are any modifications to files such as .htaccess or
- robots.txt and re-apply them. The Drupal Scaffold composer plugin
- (https://github.com/drupal-composer/drupal-scaffold) can help you with
- excluding files you'd like to always preserve when updating Drupal.
- 4. Go to the "UPLOADING THE CODE" section
- UPDATING CODE WITHOUT COMPOSER
- ------------------------------
- 1. Remove the 'core' and 'vendor' directories. Also remove all of the files
- in the top-level directory, except any that you added manually.
- If you made modifications to files like .htaccess, composer.json, or
- robots.txt you will need to re-apply them from your backup, after the new
- files are in place.
- This should leave you with the modules, profiles, sites, and themes
- directories. These directories should only contain code that you've used to
- extend Drupal.
- 2. Download the latest Drupal 8.x.x release from https://www.drupal.org/download
- to a directory outside of your web root. Extract the archive and copy the
- files into your Drupal directory.
- Copy all the files, but do not accidentally overwrite your modules, profiles,
- sites, or themes directories.
- On a typical Unix/Linux command line, use the following commands to download
- and extract:
- wget https://www.drupal.org/files/projects/drupal-x.y.z.tar.gz
- tar -zxvf drupal-x.y.z.tar.gz
- This creates a new directory drupal-x.y.z/ containing all Drupal files and
- directories. Copy the files into your Drupal installation directory:
- cp -R drupal-x.y.z/* drupal-x.y.z/.htaccess /path/to/your/installation
- If you do not have command line access to your server, download the archive
- from https://www.drupal.org using your web browser and extract it locally.
- 3. Check the release notes for the updated version of Drupal to find out if
- there is a change to default.settings.php.
- You can find the release notes for your updated version at
- https://www.drupal.org/project/drupal. At bottom of the project page under
- "Downloads" use the link for your updated version of Drupal to view the
- release notes. If your updated version is not listed, use the 'View all
- releases' link. From this page you can scroll down or use the filter to find
- your updated version and its release notes.
- If there is a change to default.settings.php, follow these steps:
- - Locate your settings.php file in the /sites/* directory. (Typically
- sites/default.)
- - Make a backup copy of your settings.php file, with a different file name.
- - Make a copy of the new default.settings.php file, and name the copy
- settings.php (overwriting your previous settings.php file).
- - Copy the custom and site-specific entries from the backup you made into the
- new settings.php file. You will definitely need the lines giving the
- database information, and you will also want to copy in any other
- customizations you have added.
- 4. Re-apply any modifications to files such as .htaccess or robots.txt.
- If you have added requirements in composer.json, it is recommended that you
- re-add the requirements using Composer instead of applying the changes by
- hand. For example, on a typical Unix/Linux command line, to reinstall the
- Address module and its dependencies run (replace /PATH/TO/composer with the
- appropriate location for your system):
- /PATH/TO/composer require drupal/address
- If you do not have command line access to your server, you will need to run
- the Composer commands locally before uploading the file system to your
- server.
- 5. Go to the "UPLOADING THE CODE" section
- UPLOADING THE CODE
- ------------------
- 1. If you updated the code in a different environment from where it is running
- you need to upload the files to your web root including the vendor/
- directory.
- 2. Go to the "UPDATING THE DATABASE" section
- UPDATING THE DATABASE
- ---------------------
- 1. Run update.php by visiting http://www.example.com/update.php (replace
- www.example.com with your domain name). This will update the core database
- tables.
- If you are unable to access update.php do the following:
- - Open settings.php with a text editor.
- - Find the line that says:
- $settings['update_free_access'] = FALSE;
- - Change it into:
- $settings['update_free_access'] = TRUE;
- - Once the update is done, $settings['update_free_access'] must be reverted
- to FALSE.
- 2. Go to Administration > Reports > Status report. Verify that everything is
- working as expected.
- 3. Ensure that $settings['update_free_access'] is FALSE in settings.php.
- 4. Go to Administration > Configuration > Development > Maintenance mode.
- Disable the "Put site into maintenance mode" checkbox and save the
- configuration.
|