[Owncloud] Update and Upgrade procedure or 'how I upgraded to 4.5 (released version)'

Diederik de Haas didi.debian at cknow.org
Thu Oct 11 12:22:01 UTC 2012


Hi,

TL;DR version:
- Copying extraced files over an existing installation works fine, only a small 
'issue' about failing to copy config/config.sample.php
- Extracting the tarball into your owncloud install directory FUCKS EVERYTHING 
UP (pardon my language): permissions are all wrong, config dir gets overridden 
resulting in a setup screen with the next page request!

Now the LONG (and detailed) version. It's especially long due to directory 
listings.

This morning I downloaded 'owncloud.org/releases/owncloud-daily-
stable45.tar.bz2' after reading Frank's mail about it (and 4.5 wasn't announced 
on owncloud.org yet) and extracted that in my home folder. 
Then I upgraded (or should I say updated?) my 4.5 beta4 by *copying* the 
owncloud folder to the location my webserver (apache2) finds it 
(/opt/web/apps/owncloud) and I got a msg that config/config.sample.php failed, but 
other then that it worked fine, keeping my links and permission settings intact. 

Since I'd customized the security setting, here's the directory listing of it:

# ls -l owncloud/
total 120
drwxr-x--- 25 root     www-data  4096 Sep 23 22:42 3rdparty
drwxr-x--- 31 www-data www-data  4096 Sep 23 22:42 apps
-rw-r-----  1 root     www-data   585 Oct 11 06:36 AUTHORS
lrwxrwxrwx  1 www-data www-data    32 Sep 23 23:58 config -> 
/usr/share/data/owncloud/config/
-rw-r-----  1 root     www-data 34520 Oct 11 06:36 COPYING-AGPL
-rw-r-----  1 root     www-data   567 Oct 11 06:36 COPYING-README
drwxr-x---  9 root     www-data  4096 Sep 23 22:42 core
-rw-r-----  1 root     www-data  2458 Oct 11 06:36 cron.php
lrwxrwxrwx  1 www-data www-data    30 Sep 23 23:57 data -> 
/usr/share/data/owncloud/data/
-rw-r-----  1 root     www-data 11480 Oct 11 06:36 db_structure.xml
drwxr-x---  2 root     www-data  4096 Sep 23 22:42 files
-rw-r-----  1 root     www-data   853 Oct 11 06:36 index.php
drwxr-x--- 64 root     www-data  4096 Oct 11 06:36 l10n
drwxr-x--- 18 root     www-data  4096 Sep 23 22:42 lib
drwxr-x---  2 root     www-data  4096 Sep 23 22:42 ocs
-rw-r-----  1 root     www-data   443 Oct 11 06:36 public.php
-rw-r-----  1 root     www-data   433 Oct 11 06:36 README
-rw-r-----  1 root     www-data   960 Oct 11 06:36 remote.php
drwxr-x---  6 root     www-data  4096 Sep 23 22:42 search
drwxr-x---  8 root     www-data  4096 Sep 23 22:42 settings
-rw-r-----  1 root     www-data  1216 Oct 11 06:36 status.php
drwxr-x---  2 root     www-data  4096 Sep 23 22:42 themes

Since I wanted to report some issues, I wanted to make sure I had the released 
4.5 version even though I was pretty sure I had it already and Settings -> Admin 
also reported it as such.
The 4.5 release was now announced on owncloud.org so I downloaded 
http://mirrors.owncloud.org/releases/owncloud-4.5.0.tar.bz2 and extracted that 
(tar -xjf owncloud-4.5.0.tar.bz2) over my existing installation (so the update 
procedure, the upgrade procedure will follow next).

Here's the directory listing after that:
# ls -l owncloud
total 124
drwxr-xr-x 25 nobody   nogroup   4096 Oct 10 15:21 3rdparty
drwxrwxrwx 31 nobody   nogroup   4096 Oct 10 15:21 apps
-rw-r--r--  1 nobody   nogroup    585 Oct 10 15:21 AUTHORS
drwxrwxrwx  2 nobody   nogroup   4096 Oct 10 15:21 config
-rw-r--r--  1 nobody   nogroup  34520 Oct 10 15:21 COPYING-AGPL
-rw-r--r--  1 nobody   nogroup    567 Oct 10 15:21 COPYING-README
drwxr-xr-x  9 nobody   nogroup   4096 Oct 10 15:21 core
-rw-r--r--  1 nobody   nogroup   2458 Oct 10 15:21 cron.php
lrwxrwxrwx  1 www-data www-data    30 Sep 23 23:57 data -> 
/usr/share/data/owncloud/data/
-rw-r--r--  1 nobody   nogroup  11480 Oct 10 15:21 db_structure.xml
drwxr-xr-x  2 nobody   nogroup   4096 Oct 10 15:21 files
-rw-r--r--  1 nobody   nogroup    853 Oct 10 15:21 index.php
drwxr-xr-x 64 nobody   nogroup   4096 Oct 10 15:21 l10n
drwxr-xr-x 18 nobody   nogroup   4096 Oct 10 15:21 lib
drwxr-xr-x  2 nobody   nogroup   4096 Oct 10 15:21 ocs
-rw-r--r--  1 nobody   nogroup    443 Oct 10 15:21 public.php
-rw-r--r--  1 nobody   nogroup    433 Oct 10 15:21 README
-rw-r--r--  1 nobody   nogroup    960 Oct 10 15:21 remote.php
drwxr-xr-x  6 nobody   nogroup   4096 Oct 10 15:21 search
drwxr-xr-x  8 nobody   nogroup   4096 Oct 10 15:21 settings
-rw-r--r--  1 nobody   nogroup   1216 Oct 10 15:21 status.php
drwxr-xr-x  2 nobody   nogroup   4096 Oct 10 15:21 themes

Notice how the ownership changed to nobody:nogroup and that my config folder got 
overridden and now only contains 'config.sample.php' so the next page request 
resulted in a setup screen. Of course I didn't run that since it may fuck up my 
data directory too.

So I was wondering if I should've followed the upgrade procedure and tried that 
(I don't have 3rd party apps installed/enabled).
Since I had to delete everything exect data and config anyway (and those are 
symlinks in my setup), I created a new owncloud directory, symlinked the config 
and data directory in there and then extracted the tarball:

# mkdir owncloud
# ls -l
total 8940
drwxr-xr-x 2 root root    4096 Oct 11 13:23 owncloud
-rw-r--r-- 1 root root 9148741 Oct 10 15:51 owncloud-4.5.0.tar.bz2
# chmod o-rwx owncloud
# ls -l
total 8940
drwxr-x--- 2 root root    4096 Oct 11 13:23 owncloud
-rw-r--r-- 1 root root 9148741 Oct 10 15:51 owncloud-4.5.0.tar.bz2
# chown root:www-data owncloud
# ls -l
total 8940
drwxr-x--- 2 root www-data    4096 Oct 11 13:23 owncloud
-rw-r--r-- 1 root root     9148741 Oct 10 15:51 owncloud-4.5.0.tar.bz2
# ln -s /usr/share/data/owncloud/data/ owncloud/
# ln -s /usr/share/data/owncloud/config/ owncloud/
# ls -l owncloud
total 0
lrwxrwxrwx 1 root root 32 Oct 11 13:24 config -> /usr/share/data/owncloud/config/
lrwxrwxrwx 1 root root 30 Oct 11 13:24 data -> /usr/share/data/owncloud/data/
# chown -h www-data:www-data owncloud/config
# chown -h www-data:www-data owncloud/data
# ls -l owncloud
total 0
lrwxrwxrwx 1 www-data www-data 32 Oct 11 13:24 config -> 
/usr/share/data/owncloud/config/
lrwxrwxrwx 1 www-data www-data 30 Oct 11 13:24 data -> 
/usr/share/data/owncloud/data/
# tar -xjf owncloud-4.5.0.tar.bz2 
# ls -l owncloud/
total 124
drwxr-xr-x 25 nobody   nogroup   4096 Oct 10 15:21 3rdparty
drwxrwxrwx 31 nobody   nogroup   4096 Oct 10 15:21 apps
-rw-r--r--  1 nobody   nogroup    585 Oct 10 15:21 AUTHORS
drwxrwxrwx  2 nobody   nogroup   4096 Oct 10 15:21 config
-rw-r--r--  1 nobody   nogroup  34520 Oct 10 15:21 COPYING-AGPL
-rw-r--r--  1 nobody   nogroup    567 Oct 10 15:21 COPYING-README
drwxr-xr-x  9 nobody   nogroup   4096 Oct 10 15:21 core
-rw-r--r--  1 nobody   nogroup   2458 Oct 10 15:21 cron.php
lrwxrwxrwx  1 www-data www-data    30 Oct 11 13:24 data -> 
/usr/share/data/owncloud/data/
-rw-r--r--  1 nobody   nogroup  11480 Oct 10 15:21 db_structure.xml
drwxr-xr-x  2 nobody   nogroup   4096 Oct 10 15:21 files
-rw-r--r--  1 nobody   nogroup    853 Oct 10 15:21 index.php
drwxr-xr-x 64 nobody   nogroup   4096 Oct 10 15:21 l10n
drwxr-xr-x 18 nobody   nogroup   4096 Oct 10 15:21 lib
drwxr-xr-x  2 nobody   nogroup   4096 Oct 10 15:21 ocs
-rw-r--r--  1 nobody   nogroup    443 Oct 10 15:21 public.php
-rw-r--r--  1 nobody   nogroup    433 Oct 10 15:21 README
-rw-r--r--  1 nobody   nogroup    960 Oct 10 15:21 remote.php
drwxr-xr-x  6 nobody   nogroup   4096 Oct 10 15:21 search
drwxr-xr-x  8 nobody   nogroup   4096 Oct 10 15:21 settings
-rw-r--r--  1 nobody   nogroup   1216 Oct 10 15:21 status.php
drwxr-xr-x  2 nobody   nogroup   4096 Oct 10 15:21 themes

Notice how once again all permissions are nobody:nogroup and that my config 
directory got overridden again, so no update procedure will run, but you get 
presented with the setup screen.

To put it *VERY* mildly: this is not nice!


My advice: remove the "Unpack the release tarball in the owncloud directory" 
from the update and upgrade procedure ASAP and replace it my extracting it in a 
temp directory and then *copy* the file/directories into your owncloud 
installation directory over your existing installation (ie remove step 4) if you 
don't want to change all ownership/permissions again.

HTH (someone else),
  Diederik



More information about the Owncloud mailing list