Recently i came up with a requirement to upgrade owncloud server to a new one from an old version to the latest one. As ownloud’s updater app does not allow major upgrades so manual upgrades are required. In my particular scenario i had to upgrade from 8.0.4 ——-> 8.0.9 ——-> 8.1.1 ——-> 8.1.5 ——-> 8.2.0 ——-> 8.2.2.
Below is the process to upgrade ownloud server manually.
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.
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:(you need to be inside the owncloud directory, usually it is /var/www/owncloud)
1 $ 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
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/
To download, copy the hyperlink from https://owncloud.org/changelog/. and use:
1 sudo wget https://download.owncloud.org/community/owncloud-8.0.9.tar.bz2
To extract the archive use:
1 sudo tar xjf owncloud-8.0.9.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 your owncloud/ directory, copy it from your old version of ownCloud to the owncloud/ directory of your new ownCloud version. If you keep it outside of owncloud/ 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.
Run below set of commands to reset the permissions on the owncloud directories and files:
12345678 find /var/www/owncloud/ -type f -print0 | xargs -0 chmod 0640find /var/www/owncloud/ -type d -print0 | xargs -0 chmod 0750chown -R root:www-data /var/www/owncloud/chown -R www-data:www-data /var/www/owncloud/apps/chown -R www-data:www-data /var/www/owncloud/config/chown -R www-data:www-data /var/www/owncloud/themes/chown root:www-data /var/www/owncloud/.htaccesschmod 0644 /var/www/owncloud/.htaccess
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 theUpgrading With Your Linux Package Manager section, above. Review the prerequisites, and if you have followed all the steps click the Start Update button.
Follow the same process for all the next releases upto the latest one. For example as in my case i had to repeat the process for 8.0.4 ——-> 8.0.9 ——-> 8.1.1 ——-> 8.1.5 ——-> 8.2.0 ——-> 8.2.2.
You are all done and your server is upgraded to the latest release.