Upgrade ownCloud From Packages

Changes in 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.
  • Apache configuration files are in a separate package, owncloud-config-apache.

Upgrade Notes

If you are using a custom theme, the upgrade changes it back to the default theme. After the upgrade is completed and you have verified that everything works correctly, change back to your custom theme by entering the path to your theme with 'theme' => '', in your config.php file. If your custom theme causes any issues, comment out 'theme' => '', to restore the default theme.

owncloud/core/skeleton/ is overwritten on upgrades. If you wish to provide a set of default files, place them in a different directory such as owncloud/config/skeleton. Then enter this path in config.php with the 'skeletondirectory' => '/path/to/folder', directive.

Upgrade Quickstart

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:

Upgrade Tips

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.

ownCloud status screen informing users that it is in maintenance mode.

Then use occ to complete the upgrade. You must run occ as your HTTP user. This example is for Debian/Ubuntu:

sudo -u www-data php occ upgrade

This example is for CentOS/RHEL/Fedora:

sudo -u apache php occ upgrade

Migration Test

Before completing the upgrade, ownCloud first runs a simulation by copying all database tables to new tables, and then performs the upgrade on them, to ensure that the upgrade will complete correctly. The copied tables are deleted after the upgrade. This takes twice as much time, which on large installations can be many 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 Directory 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.

Upgrading Across Skipped Releases

It is best to update your ownCloud installation with every new point release, and to never skip any major releases. If you have skipped any major releases you can bring your ownCloud current with these steps:

  1. Add the repository of your current version
  2. Upgrade your current version to the latest point release
  3. Add the repo of the next major release
  4. Upgrade your current version to the next major release
  5. Run upgrade routine
  6. Repeat from step 3 until you reach the last available major release

You’ll find previous ownCloud releases in the ownCloud Server Changelog.

If upgrading via your package manager fails, then you must perform a Manual ownCloud Upgrade.

All documentation licensed under the Creative Commons Attribution 3.0 Unported license.