> [!CAUTION]
> **Caution:** This documentation covers Edge for Private Cloud 4.16.09, which is no longer supported. Google does not provide security patches, bug fixes, or technical support for this version. The current supported version is 4.54.00. See the [Edge for Private Cloud documentation](https://docs.apigee.com/private-cloud/latest/overview) for the current version, or [All versions](https://docs.apigee.com/private-cloud/versions) to compare releases.

*Developer Services Portal v. 4.16.09*

This procedure describes how to upgrade an existing Apigee Developer Channel Services
on-premise installation.

> [!NOTE]
> **Note:** This procedure performs a complete upgrade of Drupal and of the Apigee software that ships with the portal. You might want to upgrade just Drupal itself, possibly because a new version of Drupal is available. A new Drupal version can mean a Drupal feature release, patch, security update, or other type of Drupal update. If you only want to perform an upgrade of Drupal, see [Upgrading the
> Drupal version of a Private Cloud installation](https://docs.apigee.com/private-cloud/v4.17.09/upgrading-drupal-version-private-cloud-installation).

## Default installation directory

The upgrade process assumes that the Developer Portal was installed at /var/www/html. If you did not install the
portal in the default directory, modify the paths in the procedure below to use your installation
directory.

If you do not know the installation directory, you can determine it as described in [Commonly used Drush commands](https://docs.apigee.com/private-cloud/v4.18.01/commonly-used-drush-commands).

## Supported upgrade versions

This upgrade procedure is supported for the following versions of the portal:

- pantheon-14.02.x
- pantheon-14.03.x
- pantheon-14.04.x
- pantheon-14.07.x
- pantheon-15-01.x
- OPDK-15-04.x
- OPDK-15-07.x
- OPDK-16-01.x
- OPDK-16-05.x

To determine your portal version, open the following URL in a browser:

[http://yourportal.com/buildInfo](https://yourportal.com/buildInfo)

> [!NOTE]
> **Note:** If nothing is displayed or a version other than one listed above is displayed, then you cannot use this upgrade process. For information on upgrading from any other portal version, contact Apigee Support at [http://apigee.com/about/support/portal](https://apigee.com/about/support/portal).

> [!NOTE]
> **Note:** If for some reason you removed the buildInfo file, then you can determine the version from the profiles/apigee/apigee.info file. The default install location is /var/www/html/profiles/apigee/apigee.info, but you might have changed it at install time if you installed the portal in a directory other than /var/www/html. The apigee.info file contains a line in the form below containing the version:
>
> ```
> version = "OPDK-4.16.05"
> ```

## Before you install

For existing installations, if you have modified any code in Drupal core or in any non-custom
modules, your modifications will be overwritten. This includes, among other things, any changes
you may have made to .htaccess.
You should assume that anything outside the /sites directory is owned by Drupal. An
exception to this rule is robots.txt; if this file exists in the web
root, it will be preserved for you.

Before proceeding with the installation, make a backup of your entire Drupal web root
directory. The default install location is /var/www/html, but you might have changed it
at install time. After performing the installation steps described below, you can restore your
customizations from the backup.

## Upgrading Apigee Developer Channel
Services to a new release

1. Backup of your Drupal MySQL instance.   
   For more information, see [http://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/](https://www.thegeekstuff.com/2008/09/backup-and-restore-mysql-database-using-mysqldump/)
   1. **Option 1: Use Drush**   

      The Drush command sql-dump creates a copy of the database. From your Drupal directory, /var/www/html by default, run the command:  
      \> drush sql-dump \> /path/to/backup_dir/database-backup.sql  

      Use drush help sql-dump for more information.
   2. **Option 2: Use MySQLdump**   
      Use the mysqldump command to create a copy of the database:  
      mysqldump -u ***USERNAME*** -p'***PASSWORD***' DATABASENAME \> /path/to/backup_dir/database-backup.sql  

      There should be no space between the -p option and the password. Single quotes around the password are required if the password contains special characters.  

      You set the ***USERNAME*** and ***DATABASENAME*** when you installed the portal. By default, both are devportal.
2. Make a backup of your entire Drupal web root directory. The default install location is /var/www/html, but you might have changed it at install time.
3. Download the Developer Channel Services DeveloperServices_**x.y.z**.tar file, where **x.y.z** corresponds to the portal version number.  

   You can download a file from the link sent to you by Apigee in a browser or by copying it and then adding it to the following cURL command:  
   \> curl -kOL \<paste link here\>  

   **Note** : If your portal is on a server with no external Internet connection, perform this step on a server with access.  

   Go to [http://community.apigee.com/content/apigee-customer-support](https://community.apigee.com/content/apigee-customer-support) and select **Login to your Support Portal** to request the Developer Channel Services upgrade .tar file. If you do not have an account on the Support Portal, select **Login to your Support Portal** and then on the sign in page select **In a
   hurry? Raise a support ticket here**.
4. **For an upgrade on a server with an Internet connection:**
   1. Extract the portal upgrade file:  
      \> tar -xvf \<tar file\>  

      This command extract creates a new directory called DeveloperServices-4.x.y.z.
   2. Change to the DeveloperServices-4.x.y.z directory.
   3. Download the latest Drupal version by using the following command:  
      \> drush dl drupal  

      This command creates a directory named drupal-x.y, where x.y corresponds to the current version of Drupal.
   4. Run the networked-update.sh script:  
      \> ./networked-update.sh  

      Depending on file permissions, you might have to use sudo to run this command, or run it as an administrator.
   5. To receive notifications of Drupal updates, ensure that the Drupal Update manager module is enabled. From the Drupal menu, select **Modules** and scroll down to the **Update manager** module. If it is not enabled, enable it.  

      Once enabled, you can see the available updates by using the **Reports \> Available
      Updates** menu item.  

      Use the **Reports \> Available Updates \> Settings** menu item to configure the module to email you when updates are available and to set the frequency for checking for updates.
5. **For an upgrade on a server with no Internet connection:**
   1. On the server where you downloaded the Developer Channel Services DeveloperServices_x.y.z.tar file, extract the portal upgrade file:  
      \> tar -xvf \<tar file\>  

      This command extract creates a new directory called DeveloperServices-4.x.y.z.
   2. Change to the DeveloperServices-4.x.y.z directory.
   3. Run the non-networked-update.sh script:  
      \> ./non-networked-update.sh  

      Depending on file permissions, you might have to use sudo to run this command, or run it as an administrator.   

      This command downloads all the necessary update files and packages them into a single file named devportal-update.tgz and writes the file to a location of your choosing.
   4. Copy devportal-update.tgz to the target server, the one running the portal.  
      **Note** : Do **not** copy the devportal-update.tgz to the web root of the target server.
   5. Untar the devportal-update.tgz file to the current directory:  
      \> tar -xzf /path/to/devportal-update.tgz
   6. Change to the developer-update directory.
   7. Run the following command to install the update:  
      \> ./install-update.sh
   8. Answer the prompts.

The upgrade is now complete.