10.0.2.1 update: apps have been moved / apps_paths ignored

Hi folks,

owncloud is installed on a debian linux (latest release). I used the following repository:

root@bajor:/etc/apt/sources.list.d# cat owncloud.list
# deb http://download.opensuse.org/repositories/isv:/ownCloud:/community:/7.0/Debian_7.0/ /
# deb http://download.opensuse.org/repositories/isv:/ownCloud:/community:/8.0/Debian_8.0/ /
# deb http://download.opensuse.org/repositories/isv:/ownCloud:/community:/8.1/Debian_8.0/ /
# deb http://download.owncloud.org/download/repositories/8.2/Debian_8.0/ /
# deb http://download.owncloud.org/download/repositories/9.0/Debian_8.0/ /
# deb http://download.owncloud.org/download/repositories/9.1/Debian_8.0/ /
deb http://download.owncloud.org/download/repositories/10.0/Debian_8.0/ /
root@bajor:/etc/apt/sources.list.d#

After updating from version 10.??? to 10.0.2 (via apt-get update ;; apt-get upgrade) i noticed, that some apps have been moved to the root path:

root@bajor:/etc/apt/sources.list.d# ls / -hal
insgesamt 124K
drwxr-xr-x  30 root root     4,0K Jul  7 14:32 .
drwxr-xr-x  30 root root     4,0K Jul  7 14:32 ..
drwxr-xr-x  10 root root     4,0K Jul  7 14:32 activity
[...]
drwxr-xr-x   9 root root     4,0K Jul  7 14:32 files_pdfviewer
drwxr-xr-x   8 root root     4,0K Jul  7 14:32 files_texteditor
drwxr-xr-x  17 root root     4,0K Jul  7 14:32 gallery

Result:


  • These apps didn't work / won't be shown

  • When i try to install this apps, i got an error message that the app directory also exists

  • I can't install further apps, because www-data can not access files in the root path (and i don't want to change this!^^)

In the manual a apps_paths option is mentioned. I have created a folder called "apps2":

root@bajor:/var/www/owncloud/config# ls /var/www/owncloud/a* -hal
/var/www/owncloud/apps:
insgesamt 100K
drwxr-x--- 25 www-data www-data 4,0K Jul  7 14:24 .
drwxr-x--- 17 root     www-data 4,0K Jul  7 15:04 ..
drwxr-x---  7 www-data www-data 4,0K Mär 20 15:11 comments
drwxr-x---  6 www-data www-data 4,0K Jul  7 13:53 configreport
drwxr-x---  6 www-data www-data 4,0K Mai  5 13:52 dav
drwxr-x---  9 www-data www-data 4,0K Mai  5 13:52 encryption
drwxr-x--- 10 www-data www-data 4,0K Jul  7 13:53 external
drwxr-x---  9 www-data www-data 4,0K Mai  5 13:52 federatedfilesharing
drwxr-x---  9 www-data www-data 4,0K Mai  5 13:52 federation
drwxr-x--- 10 www-data www-data 4,0K Jul  7 13:53 files
drwxr-x--- 10 www-data www-data 4,0K Jul  7 13:53 files_antivirus
drwxr-x--- 11 www-data www-data 4,0K Jul  7 13:53 files_external
drwxr-x--- 10 www-data www-data 4,0K Jul  7 13:53 files_sharing
drwxr-x--- 10 www-data www-data 4,0K Jul  7 13:53 files_trashbin
drwxr-x---  9 www-data www-data 4,0K Jul  7 13:53 files_versions
drwxr-x---  7 www-data www-data 4,0K Jul  7 13:53 files_videoplayer
drwxr-x--- 10 www-data www-data 4,0K Jul  7 13:53 firstrunwizard
drwxr-x---  8 www-data www-data 4,0K Jul  7 14:23 market
drwxr-x---  8 www-data www-data 4,0K Jul  7 13:53 notifications
drwxr-x---  5 www-data www-data 4,0K Mär 20 15:03 provisioning_api
drwxr-x---  9 www-data www-data 4,0K Jul  7 13:53 systemtags
drwxr-x--- 12 www-data www-data 4,0K Mai  5 13:52 templateeditor
drwxr-x---  4 www-data www-data 4,0K Jul  7 13:53 theme-example
drwxr-x---  7 www-data www-data 4,0K Mai  5 13:52 updatenotification
drwxr-x---  5 www-data www-data 4,0K Mär 20 15:03 user_external

/var/www/owncloud/apps2:
insgesamt 8,0K
drwxr-x---  2 www-data www-data 4,0K Jul  7 15:04 .
drwxr-x--- 17 root     www-data 4,0K Jul  7 15:04 ..

/var/www/owncloud/assets:
insgesamt 8,0K
drwxr-x---  2 root www-data 4,0K Feb  3 05:15 .
drwxr-x--- 17 root www-data 4,0K Jul  7 15:04 ..
root@bajor:/var/www/owncloud/config#

And i have set the array in the config.php. Please have a look at my complete config.php:

<?php
$CONFIG = array (
  'instanceid' => 'you-dont-need-to-know-this',
  'passwordsalt' => 'you-also-dont-need-to-know-this',
  'secret' => 'yes-this-is-really-very-very-secret',
  'trusted_domains' =>
  array (
    0 => 'owncloud.i-wont-tell-in-internet.de',
    1 => 'bajor.i-wont-tell-in-internet.de',
  ),
  'datadirectory' => '/owncloud',
  'overwrite.cli.url' => 'https://owncloud.i-wont-tell-in-internet.de',
  'dbtype' => 'mysql',
  'version' => '10.0.2.1',
  'apps_paths' => array (
      0 => array (
              'path'     => OC::$SERVERROOT.'/apps',
              'url'      => '/apps',
              'writable' => false,
      ),
      1 => array (
              'path'     => OC::$SERVERROOT.'/apps2',
              'url'      => '/apps2',
              'writable' => true,
      ),
  ),
  'appstoreenabled' => false,
  'dbname' => 'owncloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'owncloud',
  'dbpassword' => 'did-you-really-think-i-would-be-so-stupid?',
  'installed' => true,
  'loglevel' => '3',
  'mail_smtpmode' => 'sendmail',
  'theme' => '',
  'maintenance' => false,
  'trashbin_retention_obligation' => '30, auto',
  'appstore.experimental.enabled' => false,
  'mail_from_address' => 'yes-this-user-really-exists',
  'mail_domain' => 'i-wont-tell-in-internet.de',
  'updatechecker' => false,
  'filelocking.enabled' => true,
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '127.0.0.1',
    'port' => 6379,
    'timeout' => 0,
  ),
);

I can not install apps after this change. I got the same results:


  • The apps, which have been moved didn't work / won't be shown

  • When i try to install this apps, i got an error message that the app directory also exists

  • I can't install further apps, because www-data can not access files in the root path (and i don't want to change this!^^)

The occ command will only show apps stored in /var/www/owncloud/apps

root@bajor:/var/www/owncloud# sudo -u www-data php ./occ app:list
Enabled:
  - comments: 0.3.0
  - configreport: 0.1.1
  - dav: 0.2.9
  - federatedfilesharing: 0.3.0
  - federation: 0.1.0
  - files: 1.5.1
  - files_external: 0.7.0
  - files_sharing: 0.10.0
  - files_trashbin: 0.9.0
  - files_versions: 1.3.0
  - files_videoplayer: 0.9.8
  - firstrunwizard: 1.1
  - market: 0.2.1
  - notifications: 0.3.0
  - provisioning_api: 0.5.0
  - systemtags: 0.3.0
  - templateeditor: 0.1
  - updatenotification: 0.2.1
Disabled:
  - encryption
  - external
  - files_antivirus
  - theme-example
  - user_external
root@bajor:/var/www/owncloud#

It looks, like:


  • the apps_paths array was completely ignored

  • there was a setting somewhere else, which overrides the array in the config.php

How can i fix this?

Greetings,
Joerg

Whats the reason you want to have /var/www/owncloud/apps not writeable and /var/www/owncloud/apps2 writeable? I don't see any benefit from this over using the default /var/www/owncloud/apps without the app_paths.

It might not help with your issue in general but could workaround this.

It should not be writeable for www-data.

The apps folder contains "build-in" apps, which will be updated via apt-get. The apps2 folder contains apps, which will be installed by users (i.e. via web-gui).

This is recommended in all manuals and complies with the apps_paths array statement in the configuration file (see above).

I gave up searching this error. The possibility to buy apps would be nice - but i didn't need to buy them :slight_smile:

Oh, good to know. I still don't see why it should make a difference if the www-data user is not able to write into /apps but into /apps2 but thats a little bit off-topic here.

For your issue maybe just report a bug to the bugtracker?

I consider the content of the apps folder (containing the default "build-in" apps) as a part of somethink like a "core installation", which should never be modified by www-data.

The whole owncloud community is very confusing for me and my english knowledge is not good enough to write an full qualified bug report. I also want to switch from debian jessie to debian stretch so i think, that a migration of the files / database to a new system will be worth a try.