The Updater app automates many of the steps of updating an ownCloud installation. You should keep your ownCloud server updated and not skip any releases. The Updater app is enabled in your ownCloud Server instance by default, which you can confirm by looking on your Apps page.
Note
The Updater app is not enabled and not supported in ownCloud Enterprise Subscription.
The Updater app is not included in the Linux packages on our Open Build Service, but only in the tar and zip archives. When you install ownCloud from packages you should keep it updated with your package manager.
Downgrading is not supported and risks corrupting your data! If you want to revert to an older ownCloud version, install it from scratch and then restore your data from backup. Before doing this, file a support ticket (if you have paid support) or ask for help in the ownCloud forums to see if your issue can be resolved without downgrading.
The Updater App is not required, and it is recommended to use other methods for keeping your ownCloud server up-to-date, if possible. (See How to Upgrade Your ownCloud Server.) The Updater App is useful for installations that do not have root access, such as shared hosting, for installations with a smaller number of users and data, and it automates updating manual installations.
You should maintain regular backups (see Backing up ownCloud), and make a backup before every update. The Updater app does not backup your database or data directory.
The Updater app performs these operations:
Using the Updater app to update your ownCloud installation is just a few steps:
Note
If you have a large ownCloud installation, at this point you should use the occ upgrade command, running it as your HTTP user, instead of clicking the Start Update button, in order to avoid PHP timeouts. The occ command does not download ownCloud updates. You must first download and install the updated code, and then occ performs the final upgrade steps. This example is for Ubuntu Linux:
$ sudo -u www-data php occ upgrade
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 Ubuntu:
$ sudo -u www-data php occ upgrade --skip-migration-test
See Using the occ Command to learn more.
Refresh your Admin page to verify your new version number. In the Updater section of your Admin page you can see the current status and backups. These are backups of your old and new ownCloud installations, and do not contain your data files. If your update works and there are no problems you can delete the backups from this screen.
If the update fails, then you must update manually. (See How to Upgrade Your ownCloud Server.)
If you can’t login to your ownCloud installation without performing an update first, this means that updated ownCloud files have already been downloaded to your server, most likely via your Linux package manager during a routine system update. So you only need to click the Start Update button, or run the occ command to complete the update.
For hardened security we highly recommend setting the permissions on your ownCloud directory as strictly as possible. These commands should be executed immediately after the initial installation. Please follow the steps in Setting Strong Directory Permissions.
These strict permissions will prevent the Updater app from working, as it needs your whole ownCloud directory to be owned by the HTTP user. Run this script to set the appropriate permissions for updating. Replace the ocpath variable with the path to your ownCloud directory, and replace the htuser and htgroup variables with your HTTP user and group.:
#!/bin/bash
# Sets permissions of the owncloud instance for updating
ocpath='/var/www/owncloud'
htuser='www-data'
htgroup='www-data'
chown -R ${htuser}:${htgroup} ${ocpath}
You can find your HTTP user in your HTTP server configuration files. Or you can use PHP Version and Information (Look for the User/Group line).
After the update is completed, re-apply the strong directory permissions immediately by running the script in Setting Strong Directory Permissions.