Manual ownCloud Upgrade
- Enable Maintenance Mode
- Stop the Webserver
- Backup Your Existing Installation
- Review Third-Party Apps
- Download the Latest Installation
- Reverse Upgrade
There are two ways to enable maintenance mode.
The preferred method is to use the occ command — which you must run as your webserver user.
The other way is by entering your
config.php file and changing
'maintenance' ⇒ false, to
'maintenance' ⇒ true,.
# Enable maintenance mode using the occ command. sudo -u www-data php occ maintenance:mode --on
In clustered environment please check that all nodes are in maintenance mode.
First, backup the following items:
The ownCloud server data directory
All 3rd party apps
The ownCloud server database
# This example assumes Ubuntu Linux and MariaDB mkdir /opt/backup/ cp -rv /var/www/owncloud /opt/backup/owncloud mysqldump -u<username> -p<password> <databasename> > <ownCloud-Version-Dump.sql>
Review any installed third-party apps for compatibility with the new ownCloud release. Ensure that they are all disabled before beginning the upgrade.
Disable via Command Line
# This command lists all apps by <app-id> and app version sudo -u www-data php occ app:list # This command disables the app with the given <app-id> sudo -u www-data php occ app:disable <app-id>
Disable via Browser
Goto and disable all third-party apps
For this description we assume that your existing ownCloud installation is located in the
Rename your current ownCloud directory, for example, from
Extract the unpacked ownCloud server directory and its contents to the location of your original ownCloud installation.
# Assumes that the new release was unpacked into /tmp/ sudo mv /tmp/owncloud /var/www/
With the new source files now in place of the old ones, next copy the
config.php file from your old ownCloud directory to your new ownCloud directory. :
sudo cp /var/www/owncloud-old/config/config.php /var/www/owncloud/config/config.php
If you keep your
data/directory inside your
owncloud/directory, copy it from your old version of ownCloud to your new version.
If you keep it outside of your
owncloud/directory, then you don’t have to do anything with it, because its location is configured in your original
config.php, and none of the upgrade steps touch it.
Before getting too far into the upgrade process, please be aware of how the Market app and its configuration options affect the upgrade process.
The Market app is not upgraded if it is either disabled because
appstoreenabledis set to
or it is not available.
upgrade.automatic-app-updateis set to
falseapps installed from the Marketplace are not automatically upgraded.
In addition to these two points, if there are installed apps (whether compatible or incompatible with the next version, or missing source code) and the Market app is enabled but there is no available internet connection, these apps will need to be manually updated once the upgrade is finished.
If you are using third party or enterprise applications, look in your new
/var/www/owncloud/apps/ directory to see if they are present. If not, copy them from your old
apps/ directory to your new one.
To finalize the preparation of the upgrade, you need to set the correct ownersip of the new ownCloud files and folders.
sudo chown -R www-data:www-data /var/www/owncloud
With the apps disabled and owncloud in maintenance mode, start the upgrade process from the command line:
# Here is an example on Ubuntu Linux. Execute this within the ownCloud root folder. sudo -u www-data php occ upgrade
The upgrade operation can take anywhere from a few minutes to a few hours, depending on the size of your installation. When it is finished you will see either a success message, or an error message which indicates why the process did not complete successfully.
To re-harden security, we recommend setting the permissions on your ownCloud directories as strictly as possible. To get/set the correct ownership and permissions, see strong permissions. The script provided will do the job for you.
Assuming your upgrade succeeded, next disable maintenance mode.
# Disable maintenance mode using the occ command. sudo -u www-data php occ maintenance:mode --off
With maintenance mode disabled, login and:
Check that the version number reflects the new installation.
It can be reviewed at the bottom of .
Check that your other settings are correct.
Go to thepage and review the core apps to make sure the right ones are enabled.
After the upgrade is complete, re-enable any third-party apps that are compatible with the new release.
Enable via Command Line
# This command enables the app with the given <app-id> sudo -u www-data php occ app:enable <app-id>
Enable via Browser
Goto and enable all compatible third-party apps
Install or enable unsupported apps at your own risk.
If you need to reverse your upgrade, see the Restoring owncloud documentation.
When upgrading ownCloud and you are running MySQL or MariaDB with binary logging enabled, your upgrade may fail with these errors in your MySQL/MariaDB log:
An unhandled exception has been thrown: exception 'PDOException' with the message 'SQLSTATE[HY000]: General error: 1665 Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.'
Please refer to MySQL / MariaDB with Binary Logging Enabled on how to correctly configure your environment.
Occasionally, files do not show up after an upgrade. A rescan of the files can help:
sudo -u www-data php occ files:scan --all
See the owncloud.org support page for further resources for both home and enterprise users.
Sometimes, ownCloud can get stuck in a upgrade. This is usually due to the process taking too long and encountering a PHP time-out. Stop the upgrade process this way:
sudo -u www-data php occ maintenance:mode --off
Then start the manual process:
sudo -u www-data php occ upgrade
If this does not work properly, try the repair function:
sudo -u www-data php occ maintenance:repair