# ownCloud 8.2 Server Administration Manual

# Upgrade ownCloud From Packages

Note

Starting with ownCloud 8.2 the Linux package repositories have changed, and you must configure your system to use these new repositories to install or upgrade ownCloud 8.2+. The new repositories are at our Open Build Service.

## Upgrade Quickstart

The core upgrade notifier tells you when a new ownCloud release is available. If you click on it, it takes you to How to Upgrade Your ownCloud Server.

The best method for keeping ownCloud current on Linux servers is by configuring your system to use ownCloud’s Open Build Service repository. Then stay current by using your Linux package manager to install fresh ownCloud packages. After installing upgraded packages you must run a few more steps to complete the upgrade. These are the basic steps to upgrading ownCloud:

- Disable all third-party apps.
- Make a fresh backup.
- Install new packages from the ownCloud Open Build Service.
- Take your ownCloud server out of maintenance mode.
- Run the upgrade wizard or `occ upgrade` (optionally disabling the migration test).
- apply strong permissions to your ownCloud directories.
- Re-enable third-party apps.

## Upgrading With Your Linux Package Manager

Upgrading ownCloud from our Open Build Service repository is just like any normal Linux upgrade. For example, on Debian or Ubuntu Linux this is the standard system upgrade command:

    apt-get update && apt-get upgrade

Or you can upgrade just ownCloud with this command:

    apt-get update && apt-get install owncloud

On Fedora, CentOS, and Red Hat Linux use `yum` to see all available updates:

    yum check-update

You can apply all available updates with this command:

    yum update

Or update only ownCloud:

    yum update owncloud

Your Linux package manager only downloads the current ownCloud packages. Then your ownCloud server is immediately put into maintenance mode. You may not see this until you refresh your ownCloud page.

Click to enlarge

To complete the upgrade take your server out of maintenance mode. You can do this by changing `'maintenance' => true,` to `'maintenance' => false,` in `config.php`, or use the occ command, like this example on Ubuntu:

    sudo -u www-data php occ maintenance:mode --off

You must run `occ` as your HTTP user.

## Upgrade Wizard

The final step is to run the upgrade wizard to perform the final steps of updating your apps and database. Refresh your ownCloud page and you will see a screen with some warnings about backups and a Start Update button. (Alternatively, you may use `occ upgrade`, which is covered in the next section.) Click the Start Update button:

Click to enlarge

The wizard will put ownCloud back into maintenance mode, display a status screen while the upgrade is running, and when it is completed take it out of maintenance mode and return you to your ownCloud session.

Click to enlarge

## occ Upgrade

If you have shell access it is better to not click the Start Update button, but rather to use `occ upgrade`. `occ upgrade` is more reliable, especially on installations with large datasets and large numbers of users because it avoids the risk of PHP timeouts. This example is for CentOS:

    sudo -u apache php occ upgrade
     ownCloud or one of the apps require upgrade - only a limited number of
     commands are available
     Set log level to debug - current level: 'Warning'
     Turned on maintenance mode
     Checking whether the database schema can be updated (this can take a long
     time depending on the database size)
     Checked database schema update
     Checking updates of apps
     Checked database schema update for apps
     Updating database schema
     Updated database
     Update successful
     Turned off maintenance mode
     Reset log level to 'Warning'

Remember, you must run `occ` as your HTTP user. When it is completed refresh your ownCloud Web page to return to your previous session.

### Migration Test

ownCloud starts your upgrade by first running a simulation: it copies all database tables to a temporary directory, and then performs the upgrade on them to ensure that the upgrade will complete correctly. This can delay large installations by several hours, so you can omit this step with the `--skip-migration-test` option, like this example on CentOS:

    $ sudo -u apache php occ upgrade --skip-migration-test

## Setting Strong Permissions

After upgrading, verify that your ownCloud directory permissions are set according to Setting Strong Directory Permissions.

If the upgrade fails, then you must try a manual upgrade.