From :
https://doc.owncloud.org/server/8.0/admin_manual/maintenance/upgrade.html
Always start by making a fresh backup.
If you are upgrading to a major release, for example from 8.1.3 to 8.2, you must review all third party applications (not core apps) for compatibility with your new ownCloud version. Then disable all of them before starting the upgrade.
Next put your server in maintenance mode. This prevents new logins, locks the sessions of logged-in users, and displays a status screen so users know what is happening. There are two ways to do this, and the preferred method is to use the occ command, which you must run as your HTTP user. This example is for Ubuntu Linux:
$ sudo -u www-data php occ maintenance:mode --on
The other way is by entering your config.php
file and changing 'maintenance' => false,
to 'maintenance' =>true,
.
- Back up your existing ownCloud Server database, data directory, and
config.php
file. (See Backing up ownCloud.) - Download and unpack the latest ownCloud Server release (Archive file) from owncloud.org/install/ into an empty directory outside of your current installation. For example, if your current ownCloud is installed in
/var/www/owncloud/
you could create a new directory called/var/www/owncloud2/
Note
To unpack your new tarball:: tar xjf owncloud-latest.tar.bz2
- Stop your Web server.
- Rename or move your current ownCloud directory (named
owncloud/
if installed using defaults) to another location. - This creates a new
owncloud/
directory populated with your new server files. Copy this directory and its contents to the original location of your old server, for example/var/www/
, so that once again you have/var/www/owncloud
. - Copy and paste the
config.php
file from your old version of ownCloud to your new ownCloud version. - If you keep your
data/
directory in yourowncloud/
directory, copy it from your old version of ownCloud to theowncloud/
directory of your new ownCloud version. If you keep it outside ofowncloud/
then you don’t have to do anything with it, because its location is configured in your originalconfig.php
, and none of the upgrade steps touch it.
Note
We recommend storing your data/
directory in a location other than your owncloud/
directory.
-
Restart your Web server.
-
- Now you should be able to open a Web browser to your ownCloud server and
-
log in as usual. You have a couple more steps to go: You should see a Start Update screen, just like in the Upgrading With Your Linux Package Manager section, above. Review the prerequisites, and if you have followed all the steps click the Start Update button.
If you are running a large installation with a lot of files and users, you should launch the upgrade from the command line using
occ
to avoid PHP timeouts, like this example on Ubuntu Linux:$ sudo -u www-data php occ upgrade
Note
The
occ
command does not download ownCloud updates. You must first download and install the updated code (steps 1-3), and thenocc
performs the final upgrade steps. -
The upgrade operation takes a few minutes to a few hours, depending on the size of your installation. When it is finished you will see a success message, or an error message that will tell where it went wrong.
Assuming your upgrade succeeded, take a look at the bottom of your Admin page to verify the version number. Check your other settings to make sure they’re correct. Go to the Apps page and review the core apps to make sure the right ones are enabled. Re-enable your third-party apps. Then apply strong permissions to your ownCloud directories (Setting Strong Directory Permissions).
Reverse Upgrade
If you need to reverse your upgrade, see Restoring ownCloud.
Troubleshooting
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 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 a upgrade. A rescan of the files can help:
$ sudo -u www-data php console.php 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
A chown on the on owncloud directory can be usefull.
chown -R www-data:www-data /var/www/owncloud